GBase 8t有没有进行健康检查的工具?
检查点 | 检查数据与索引 |
方法 | A. 验证表数据页:oncheck -cD B. 验证索引:oncheck -cI |
运行情况 | 检查输出结果中是否有错误和警告类信息 |
健康状况评估 | oncheck -cD 命令。 如果数据页确认检测到错误,则尝试从指定表卸装数据、删除表、重新创建表以及重新装入数据。如果该过程不成功,请从存储空间备份执行数据恢复。 oncheck -cI 命令 要确认数据库中每个表上的索引,如果该命令检测到错误,则删除并重新创建受影响的索引。 |
Instance Profile
检查点 | 数据库实例概要信息 |
方法 | onstat -p |
Current Active SQL
检查点 | 当前正在运行的SQL情况 |
方法 | onstat -g sql onstat -g ses onstat -g sql #sid onstat -g ses #sid onstat -g stm |
Checkpoint
检查点 | Checkpoint次数及时长 检查点是使磁盘上的页与共享内存缓冲池中的页同步的过程。在检查点期间,IDS 阻止用户线程进入临界会话,并阻止所有的事务活动。因此,如果检查点持续时间过长,那么用户可能会经历系统挂起。在存在几千个事务并且响应时间至关重要的 OLTP 环境中,情况尤其如此。 |
方法 | grep Checkpoint online.log |
Long Transaction
检查点 | Long Transaction发生的次数及相应的事务 |
方法 | online.log 监控当前长事务:onstat |
Lock
检查点 | Lock发生的次数及相应的事务 |
方法 | A.Onstat -g ppf 监控当锁与死锁事务:onstat -g ppt B.dbaccess sysmaster select dbsname,tabname, sum(pf_rqlock) as locks, sum(pf_wtlock) as lockwaits, sum(pf_deadlk) as deadlocks from sysactptnhdr,systabnames where pf_wtlock > 0 and systabnames.partnum = sysactptnhdr.partnum --and dbsname = "dbname" group by dbsname,tabname order by lockwaits desc; |
Blocking Lock
检查点 | 当前发生blocking lock的情况 |
方法 | Dbaccess sysmaster Select t2.dbsname database, t5.sid sessionID,t8.txt type,t2.tabname tablename, T4.sid lock_sess,t5.username lock_user,t6.sid wait_sess,t1.rowidr row_id,t1.keynum From syslcktab t1,systabnames t2,systxptab t3,sysrstcb t4, sysscblst t5,sysrstcb t6,sysscblst t7,flags_text t8 Where t1.owner=t3.address and t1.partnum=t2.partnum And t3.owner=t4.address and t1.wtlist=t6.address And t4.sid=t5.sid and t8.tabname='syslcktab' And t8.flags=t1.type and t6.sid=t7.sid; Select t2.dbsname database, t5.sid sessionID,t8.txt type,t2.tabname tablename, T4.sid lock_sess,t5.username lock_user,t6.sid wait_sess,t1.rowidr row_id,t1.keynum, t9.sqs_statement From syslcktab t1,systabnames t2,systxptab t3,sysrstcb t4, sysscblst t5,sysrstcb t6,sysscblst t7,flags_text t8, syssqlstat t9 Where t1.owner=t3.address and t1.partnum=t2.partnum And t3.owner=t4.address and t1.wtlist=t6.address And t4.sid=t5.sid and t8.tabname='syslcktab' And t8.flags=t1.type and t6.sid=t7.sid and t5.sid=t9.sqs_sessionid |
运行情况 | database sessionid type tablename lock_sess l ock_user wait_sess row_id keynum demodb 145 IX test_lock 145 informix 146 1 1 |
Larger SQL
检查点 | 改进返回数据量大的SQL语句的性能 |
方法 | setenv FET_BUF_SIZE 32767 |
运行情况 | 对于返回大数据的应用,如报表,可以设置该环境变量,提高数据返回速度。 |