INFORMIX命令大全.docx
- 文档编号:8773564
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:8
- 大小:21.28KB
INFORMIX命令大全.docx
《INFORMIX命令大全.docx》由会员分享,可在线阅读,更多相关《INFORMIX命令大全.docx(8页珍藏版)》请在冰豆网上搜索。
INFORMIX命令大全
INFORMIX常用命令
1、dbaccess
捆绑在Informix-OnlineDBServer上的一套DBMS实例程序,掌握:
1.利用该工具可以做到创建和删除数据库.
2.查询数据库中各种信息,编辑使用SQL语句.连接:
3.创建,更改,删除数据库基表.telnet
4.增加,删除,修改数据库中原始记录.informix
5.从OS(操作系统)文件中装载数据到数据库中.oldinformix
6.将数据库中的数据卸出到一个OS(操作系统)文件中.
7.利用该工具可以创建,删除,修改Procedure(过程)。
2、isql
捆绑在Informix-OnlineDBServer上的一套DBMS实例程序,掌握:
①.利用该工具可以做到创建和删除数据库.
②.查询数据库中各种信息,编辑使用SQL语句.
③.创建,更改,删除数据库基表.
④.增加,删除,修改数据库中原始记录.
⑤.从OS(操作系统)文件中装载数据到数据库中.
⑥.将数据库中的数据卸出到一个OS(操作系统)文件中.
⑧.利用该工具可以创建,删除,修改,编译屏幕表格文件(*.per),并运行.
3、ontape
说明:
数据库日志模式变更
用法:
ontape–s–[NBU]
ontape-s-Bdb_name 修改为buffer_log
ontape-s-Udb_name 修改为unbuffer_log
ontape-s-Ndb_name 修改为无日志模式
4、dbschema
说明:
卸载数据库结构
例如:
1)导出数据库中所有的表结构到文件db.sql
$>dbschema-dyour_database-tall db.sql
2)导出数据库中所有的存储过程到文件db.sql
$>dbschema-dyour_database-fall db.sql
3)导出数据库中的所有对象(包含表,存储过程,触发器。
。
。
)到文件db.sql
$>dbschema-dyour_databasedb.sql
4)导出数据库中一个表的结构到文件db.sql
$>dbschema-dyour_database_name-tyour_table_namedb.sql
5)导出一个存储过程定义到文件db.sql
$>dbschema-dyour_database_name-fyour_procedure_name db.sql
6)如果导出更多的表的信息(EXTENT...)
$>dbschema-dyour_database_name-ssdb.sql
7)导出数据库中对用户或角色的授权信息
$>dbschema-dyour_database_name-pall
$>dbschema-dyour_database_name-rall
8)导出数据库中的同义词
$>dbschema-dyour_database_name-sall
5、dbexport与dbimport
dbexport:
dbexport实用程序将数据库卸出到ASCII文件或磁带。
dbimport实用程序使用dbexport产生的模式文件和数据重建数据库。
用户可以通过编辑模式文件来修改由dbimport生成的数据库模式。
dbexport实用程序的语法:
-c指示如果没有致命错误,则输出全部信息。
-d仅输出blob描述符,不输出blob数据。
-q在标准输出设备上不显示错误信息,警告和所生成的SQL数据定义语句。
-ss为指定数据库中所有的表产生特定于数据库服务器的信息,对7.1动态服务器而言,-ss选项
使dbexport输出初始extent和附加extent的大小,分段存储信息(如果表已分割),上锁的方式,表所在的dbspace,任意blob数据的blobspace信息等。
-X标识符符字段中的HEX二进制数据。
目标选项
-o命令存储ASCII文件和模式文件的磁盘目录。
Directory是磁盘目录名,其指定的目录必须是
没有存在的。
-t指定存储ASCII文件和模式文件的磁带设备名。
-b指定磁带设备块大小,block以KB为单位,该值必须能为所使用的设备接受。
-s指定磁带的最大数据存储量。
-f如果将数据文件存储到磁带上,-f选项用于指定存储在磁盘上的模式文件名。
用户在使用
dbimport之前可以检查或修改模式文件。
例:
将数据库stores导出到当前目录下
$>dbexportstore
将数据库stores导出到当前目录下,不将过程输出到屏幕,并且忽略小错
$>dbexportstores-q–c
将数据库stores导出到指定目录下
$>dbexportstores-q-c-o/tmp
将数据库stores导出到磁带上
$>dbexportstores-t/dev/tape-b2048-s2000000-f/tmp
将数据库stores导出前目录下,并且加上额外的信息
$>dbexportstores-ss
Dbimport:
dbimport实用程序以dbexport实用程序生成的ASCII文件作为输入,建立数据库并装入数据。
作为输入的ASCII文件分为两部分:
用来重建数据库的模式文件,和数据库的数据文件。
dbimport -v显示软件版本号
*运行dbimport的用户将对所创建的数据库拥有DBA权限
dbimport实用程序的语法:
-c指示dbimport在没有发生致命错误的情况下完成装入工作。
-q指示在标准输出设备上不显示错误信息和警告。
-X标识符符字段中的HEX二进制数据。
输入文件位置选项:
-i指定存储ASCII文件和模式文件的磁盘目录,以便dbimport查找。
-t指定含有ASCII文件和模式文件的磁带设备名。
-b指定磁带设备块大小。
block以KB为单位,该值必须能为所使用的设备接受。
-s指定磁带的最大数据存储量。
-f指定磁盘上模式文件的路径名,以便dbimport查找模式文件,并以此为输入建立数据库。
建库选项:
-d指定用来存储新建数据库的OnLine数据库空间(dbspace)。
如果没有使用-d选项指定dbspace,
则数据库缺省建立在根dbspace中。
-l如果没有使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志。
-l选项等价于CREATEDATABASE语句的WITHLOG字句。
如果没有使用-l选项,新建数据库不带日志。
-ansi为装入的数据库建立ANSI方式兼容的事务日志。
6、onstat
常用的几个选项:
ONstat -m:
显示消息日志的最后20行.
消息日志的内容包括:
1)、检查点信息
2)、读写错误信息
3)、ONLINE模式转换信息
4)、长事务
5)、日志文件满(LOGFILEFULL)
若想显示完整信息,可直接编译消息日志文件.
ONstat-d:
磁盘空间的使用情况,包括DBSPACE和CHUNK的信息
Dbspaces
address number flags fchunk nchunks flags owner name
c57ef1581 1 1 1 N informixrootdbs
c57efd182 2001 2 1 NT informixtmpdbs
c57efdd83 1 3 1 N informixllogdbs
c57efe984 1 4 1 N informixplogdbs
c57eff585 1 5 8 N informixdatadbs1
5active,2047maximum
Chunks
address chk/dbsoffset size free bpages flagspathname
c57ef2181 1 0 150000 148715 PO- /dev/vg01/lvol1
c57ef3782 2 0 250000 249881 PO- /dev/vg01/lvol2
c57ef4583 3 0 125000 197 PO- /dev/vg01/lvol3
c57ef5384 4 0 125000 2447 PO- /dev/vg01/lvol4
其中的FREE项,显示了该CHUNK的空闲空间大小(Kbytes).
监控Chunk的使用
chk/dbs前一数字chk表示chunk编号,后一数字dbs表示dbspace编号,如dbspace编号相同则表示其相应前面编号chunk属同一dbspace
size该chunk的大小,单位为page
free该chunk的空闲空间
flags表示目前chunk状态
A:
如某—dbspace的所有chunk空闲很小,则需要增加chunk
B:
flags正常标志为PO-,否则为异常.出现异常情况时,flags标志的第二位为:
D:
表示该chunkdown了
I:
表示数据不一致(Inconsistent)
ONstat-l:
日志文件情况
PhysicalLogging
Bufferbufused bufsize numpagesnumwritspages/io
P-2 42 256 123414 1068 115.56
phybeginphysize phypos phyused %used
400035 122500 110222 42 0.03
LogicalLogging
Bufferbufused bufsize numrecs numpagesnumwritsrecs/pagespages/io
L-2 0 64 6150454 194478 8434 31.6 23.1
Subsystem numrecs LogSpaceused
OLDRSAM 6150454 2
address number flags uniqid begin size used %used
c128d0201 U-B---- 6776 300035 12500 12500 100.00
c128d03c2 U-B---- 6777 303109 12500 12500 100.00
c128d0583 U-B---- 6778 3061dd 12500 12500 100.00
c128d0744 U-B---- 6779 3092b1 12500 12500 100.00
c128d0905 U-B---- 6780 30c385 12500 12500 100.00
c128d0ac6 U---C-L 6781 30f459 12500 6768 54.14
c128d0c87 U-B---- 6772 31252d 12500 12500 100.00
c128d0e48 U-B---- 6773 315601 12500 12500 100.00
c128d1009 U-B---- 6774 3186d5 12500 12500 100.00
c128d11c10 U-B---- 6775 31b7a9 12250 12250 100.00
其中:
%USED:
使用百分比
如果所有的逻辑日志都100%用完,系统将被挂起,直到逻辑日志被备份为止。
FLAGS字段的含义:
F:
空闲 B:
已备份 C:
正在接收事物记录
U:
正在使用 A:
新增日志 L:
包含最后一个检查点
ONstat-u:
监控ONLINE的用户情况
Userthreads
address flags sessid user tty wait toutlocksnreads nwrites
c57f1018---P--D1 informix- 0 0 0 757 36481
c57f1504---P--F0 informix- 0 0 0 0 377273
c57f19f0---P---5 informix- 0 0 0 0 6742
c57f1edc---P--B6 informix- 0 0 0 29 257
address:
各个线程的地址
Flags:
标志出线索的当前状态
Sessionid:
有关线程属于会话的会话id和用户登录id.为0的会话id表示daemon线程
user:
建立链接的用户名(unix用户名)
wait:
线程是否在等待特定的资源和该资源的地址
locks:
线程占用的锁的数目
nreads,nwrites:
线程已执行的读调用数和写调用数
其中:
flages字段的含义:
第一列:
(S:
等待mutex;Y:
等待条件;L:
等待锁;B:
等待缓冲区;
C:
等待检查点;X:
长事务清理;G:
等待长缓冲写;T:
等待事务)
第二列:
(*:
事务执行时,发生I/O错误)
第三列:
(A:
正在备份;B:
操作已被记录在日志中;P:
分布处理已准备好;
C:
正在提交;R:
正在回滚)
第四列:
(P:
会话的主线索)
第五列:
(R:
在readrsam调用中;X:
进程在关键分区)
第七列:
(M:
特殊监控;D:
特殊线索;C:
清理线索;F:
特殊清页进程;
B:
特殊B+树清页线索)
ONstat-k:
用户持有锁的情况
锁按照粒度分为6种:
库锁、表锁、页锁、行锁、字节锁、键锁
字节锁:
更新包含有VARCHAR类型的行时,加在该行上的锁。
键锁:
用于索引树上的锁。
一般在相应字节上加删除标志。
这几种锁的识别如下:
TYPE ONLSNUM ROWID SIZE
库锁 HDR+X 1000002 205 0
表锁 100000e 0 0
页锁 100 0
行锁 101
字节锁 HDR+B 909
键锁 很大的16进制数
锁的生命期:
1、不使用事务时,操作完成即会释放对应的锁;
2、若使用事务,锁将伴随整个事务。
(即随这COMMITWORK或ROLLBACKWORK而释放)
(**锁的几种类型:
共享锁(SHARE),排它锁(EXCLUSIVE),可升级锁**)
Rowid的含义
其中rowid=0表示锁定整表,
rowid后两位是00表示表上有页锁
rowid后两位非00表示表上该rowid对应的记录上有
记录锁。
可以通过onstat-k显示的owner值,查找sessionID:
onstat-u|grepXXXXXX(owner值)
第三列值为sessionID,第四列为用户名,第五列为终端号
利用sessionID查找PID:
onstat-gsesXXXXXXXX(sessionID值)
PID项为进程pid
可以利用Kill-9pid来清除该锁
ONstat-p:
显示系统资源状况(是否充分)
Profile
dskreadspagreadsbufreads%cacheddskwritspagwritsbufwrits%cached
2112876 5085802 999.70 469082 1154138 9885314 95.25
isamtot open start read write rewrite delete commit rollbk
84202839 13286406 981022 270765 261330 20733
gp_read gp_writegp_rewrtgp_del gp_allocgp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthreadovbuff usercpu syscpu numckptsflushes
0 0 0 66354.523954.04 341 682
bufwaitslokwaitslockreqsdeadlks dltouts ckpwaitscompressseqscans
721270 153 30 0 246 72878 784815
ixda-RA idx-RA da-RA RA-pgsusedlchwaits
458268 5293 1041489 1480397 1904
OVONLS:
指示ONLSPACE值不够,ONLSPACES值应增大
OVLOCK:
锁溢出 LOCKS应增大
OVUSER:
用户表资源不够 USERS
OVBUF:
缓冲区资源不够 BUFFERS
以上数字若持续增加,表明相应参数值应调整
DEADLOCKS:
检测到的死锁数
DLTOUTS:
网络超时死锁
DEADLOCK_TIMEOUT:
一般为60秒,若增大此数字,可以减少死锁数,但会增加响应时间,用户看来性能更差;若减少此数字,死锁数可能会增大,但会减少响应时间,在用户看来,响应时间变快了。
7、onmode–z
onmode -z sessionno命令杀断该会话
8、Onmonitor
数据库配置工具
9、Finder
查找对应错误号的错误原因,用法:
finderr错误号
10、Setexplainon
在利用sql查询前,执行setexplainon语句,online会把查询路径,成本写入一个文件(当前目录下,名为sqexplain.out),可以查看该文件确认是否该建index,或所建的index是否合理。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- INFORMIX 命令 大全