EDU511 国际专业IT教育服务门户 |
|
|
INFORMIX数据库系统安装手册日期:08-06-02 23:09:45 点击: 来源:中讯IT 监控ONLINE系统后动情况的工具主要有以下三类: 系统监控接口(SMI) tbstat tbcheck 一、 系统监控接口(SMI): 我们主要通过SQL命令操作online的内部数据库sysmaster中的内部表/结构,来获取有关的维护信息。Sysmaster是在online初次初始化时,系统自动创建的。它实际主要存储了一些数据结构,而不是真正的表。使用SMI有如下限制: 不能对SMI中的表加锁或使用隔离级别。 不允许使用insert,delete,update等语句(只读) 不能使用dbschema,dbexport等命令 使用select rowid语句将会产生不可预料的结果 主要的SMI表有: sysdatabases:online中的数据库信息 systabnames:某数据库中所有表的信息 syslogs:逻辑日志信息 sysdbspaces:数据库信息 syschunks,syslocks等 例1:显示处于脱机(offline)状态的chunk的序号和所在数据库空间 Select chknum,dbsnum from syschunks where is_offline=1 or misline=! 例二:显示满chunk的信息 Select chknum,dbsnum from syschunks where nfree=0 二、 TBSTAT 列出当前时刻的信息(实际也是读取SMI表) 不需要磁盘I/O 不需要锁等系统资源,因此不会影响系统性能 用法: tbstat [-abcdklmpstuzBDFPRX] [-r seconds] [-o file] [infile] -a print all info (options: bcdklmpstu) -b print buffers(缓冲区) -c print configuration file(配置文件) -d print dbspaces and chunks(dbspace和chunk) -k print locks(锁) -l print logging(日志) -m print message log(消息日志) -p print profile(profile文件) -s print latches(门闸) -t print tblspaces(表空间) -u print users(用户) -z zero profile counts -B print all buffers -D print dbspaces and detailed chunk stats -F print page flushers(页刷新进程) -P print profile, including BIGreads -R print LRU queues(LRU队列) -X print entire list of sharers and waiters for buffers -r repeat options every n seconds (default: 5) -o put shared memory into specified file (default: tbstat.out) infile use infile to obtain shared memory information 三、 几个常用的tbstat选项: tbstat -m :显示消息日志的最后20行. 消息日志的内容包括: 1)、检查点信息 2)、读写错误信息 3)、ONLINE模式转换信息 4)、长事务 5)、日志文件满(LOG FILE FULL ) 若想显示完整信息,可直接编译消息日志文件. Tbstat -d:磁盘空间的使用情况,包括DBSPACE和CHUNK的信息 例:RSAM Version 5.03.UC1 -- On-Line -- Up 09:45:41 -- 816 Kbytes Dbspaces address number flags fchunk nchunks flags owner name 8040a244 1 1 1 1 N informix rootdbs 1 active, 8 total Chunks address chk/dbs offset size free bpages flags pathname 80409d84 1 1 0 300000 231871 PO- /dev/rdata 1 active, 8 total 其中的FREE项,显示了该CHUNK的空闲空间大小(Kbytes). Tbstat -l :日志文件情况 Physical Logging Buffer bufused bufsize numpages numwrits pages/io P-2 0 16 0 0 0.00 phybegin physize phypos phyused %used 101782 15000 960 0 0.00 Logical Logging Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io L-2 0 16 1 1 1 1.0 1.0 address number flags uniqid begin size used %used 8042de94 1 U---C-L 1 10521a 7500 630 8.40 8042deb0 2 F------ 0 106f66 7500 0 0.00 8042decc 3 F------ 0 108cb2 7500 0 0.00 8042dee8 4 F------ 0 10a9fe 7500 0 0.00 8042df04 5 F------ 0 10c74a 7500 0 0.00 8042df20 6 F------ 0 10e496 7500 0 0.00 其中:%USED: 使用百分比 FLAGS字段的含义: F: 空闲 B:已备份 C: 正在接收事物记录 U: 正在使用 A: 新增日志 L: 包含最后一个检查点 Tbstat - u:ONLINE的用户情况 Users address flags pid user tty wait tout locks nreads nwrites 804019f4 ------D 329 root console 0 0 0 179 2 80401a64 ------D 0 root console 0 0 0 0 0 80401ad4 ------F 330 root 0 0 0 0 0 3 active, 20 total Transactions address flags user locks log begin isolation retrys coordinator 804022b4 A---- 804019f4 0 0 NOTRANS 0 804028d8 A---- 80401a64 0 0 NOTRANS 0 2 active, 20 total 其中:flages字段的含义: 第一列:(S:等待mutex;Y:等待条件;L:等待锁;B:等待缓冲区; C:等待检查点;X:长事务清理;G:等待长缓冲写;T:等待事务) 第二列:(*:事务执行时,发生I/O错误) 第三列:(A:正在备份;B:操作已被记录在日志中;P:分布处理已准备好; C:正在提交;R:正在回滚) 第四列:(P:会话的主线索) 第五列:(R:在read rsam 调用中;X:进程在关键分区) 第七列:(M:特殊监控;D:特殊线索;C:清理线索;F:特殊清页进程; B:特殊B+树清页线索) Tbstat -k :用户持有锁的情况 锁按照粒度分为6种: 库锁、表锁、页锁、行锁、字节锁、键锁 字节锁:更新包含有VARCHAR类型的行时,加在该行上的锁。 键锁:用于索引树上的锁。一般在相应字节上加删除标志。 这几种锁的识别如下: TYPE TBLSNUM ROWID SIZE 库锁 HDR+X 1000002 205 0 表锁 100000e 0 0 页锁 100 0 行锁 101 字节锁 HDR+B 909 键锁 很大的16进制数 锁的生命期:1、不使用事务时,操作完成即会释放对应的锁; 2、 若使用事务,锁将伴随整个事务。(即随这COMMIT WORK或ROLLBACK WORK而释放) (**锁的几种类型:共享锁(SHARE),排它锁(EXCLUSIVE),可升级锁**) tbstat -p : 显示系统资源状况(是否充分) Profile dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached 181 199 358 49.44 7 8 2 0.00 isamtot open start read write rewrite delete commit rollbk 3 1 1 0 0 0 0 1 0 ovtbls ovlock ovuser ovbuff usercpu syscpu numckpts flushes 0 0 0 0 0.00 0.00 2 239 bufwaits lokwaits lockreqs deadlks dltouts lchwaits ckpwaits compress 0 0 0 0 0 0 0 0 OVTBLS:指示TBLSPACE值不够 ,TBLSPACES值应增大 OVLOCK:锁溢出 LOCKS应增大 OVUSER:用户表资源不够 USERS OVBUF:缓冲区资源不够 BUFFERS 以上数字若持续增加,表明相应参数值应调整 DEADLOCKS:检测到的死锁数 DLTOUTS:网络超时死锁 DEADLOCK_TIMEOUT:一般为60秒,若增大此数字,可以减少死锁数,但会增加响应时间,用户看来性能更差;若减少此数字,死锁数可能会增大,但会减少响应时间,在用户看来,响应时间变快了。 四、 ONCHECK: 定位并修复数据与索引的不一致 检查磁盘上的数据结构 显示不同数据结构的报告 某些选项可能回在它所涉及的表上家一个共享锁 用法: tbcheck [-clist] [-plist] [-qny] [ { database[:[owner.]table] | TBLSpace number | Chunk number } { rowid | page number } ] -c - check(检查) r - reserved pages(保留页) e - TBLSpace extents and chunk extents c - database catalogs(目录) i - table indexes(表的索引) I - table indexes and rowids in index(表的索引和索引的rowid) d - TBLSpace data rows including bitmaps(表空间的数据行包括位图) D - TBLSpace data rows including bitmaps, remainder pages and blobs -p - print(显示) r - reserved ( 责任编辑:) 前一篇: 后一篇: 相关新闻(文章)
|
登录模块加载中...
|
| 友情链接 | |