精华网络内容 :http://www.qqread.com/network/
2、 若使用事务,锁将伴随整个事务。(即随这COMMIT WORK或ROLLBACK WORK而释放)
(**锁的几种类型:共享锁(SHARE),排它锁(EXCLUSIVE),可升级锁**)
tbstat -p : 显示系统资源状况(是否充分)
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
181199 358 49.44 7 8 20.00
isamtot open start read write rewrite delete commit rollbk
3 1 1 0 0 0 010
ovtbls ovlock ovuser ovbuff usercpu syscpu numckpts flushes
0 0 00 0.00 0.00 2 239
bufwaits lokwaits lockreqs deadlks dltouts lchwaits ckpwaits compress
0 00 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 pages (-cr) (保留页)
e - extents report (-ce)(extent)
c - catalog report (-cc)(目录)
k - keys in index (-ci)(索引的键值)
K - keys and rowids in index (-cI)
l - leaf node keys only (-ci)
L - leaf node keys and rowids (-cI)
d - TBLSpace data rows (-cd)
D - TBLSpace data rows including bitmaps, remainder pages and blobs (-cD)
t - TBLSpace report
T - TBLSpace disk utilization report
p - dump page for the given [table and rowid | TBLSpace and page number]
P - dump page for the given chunk number and page number
B - BLOBSpace utilization for given table(s) [database:[owner.]]table
-q - quiet mode - print only error messages
-n - answer NO to all questions
-y - answer YES to all questions
五、 几个主要的tbcheck选项
TBCHECK -PTDATABASE:TABLE
产生有关TBLSPACE的报告。包括EXTENT和空间使用信息。信息的输出来自TBLSPACE TBLSPACE,这是一个特殊的TBLSPACE,用来跟踪ONLINE创建的数据库,是根DBSPACE中的第二个TBLSPACE,其TBLSNUM为1000002。这个TBLSPACE中的每行保存一个数据库的信息。
TBCHECK -Cd DATABASE:TABLE
测试一个表空间的数据。它从表空间中读取所有页做一致性检查,并检测位图也以确认该页被正确映射。它所做的工作包括:确认数据的有效性,对特殊数据做相应标志(如BLOB页,剩余页等)。
TBCHECK -Ci DATABASE:TABLE
测试表上的索引,比如是否所有的ROWID都指向表中的有效行,必要时,重建SYSINDEXES信息。它所做的工作包括:验证索引是否有效,重建被损坏的索引,并对索引树重新做相应调整。
索引策略:
应加索引的字段:用于连接(JOIN)的字段,用来过滤的字段(在WHERE条件中使用的字段,称为过滤器),用于排序的字段(ORDER BY)。
不应加索引的字段:有高重复值的字段
另外,可以用主键限制索引个数,加复合索引来避免重复,用聚簇索引加快索引速度。
六、其它重要的工具
UPDATE STATISTICS [LOW | MEDIUM | HIGH]
此语句的三个主要作用:更新内部表;产生数据分布;优化存储过程
应定期使用 tbinit
用于初始化数据库共享内存。每次开机后都必须执行此命令。一般将它放在/etc/rc2.d目录下的一个自引导文件中。 例如:当以应用软件注册时,系统提示:DBERR –529/C-ISAM –123 [Open Database]
使用finderr查529错误,提示: -529 Cannot attach to shared memory. {不能使用共享内存}
此时,使用tbinit命令将数据库共享内存进行初始化后,系统恢复正常。
tbmode -sy| tbmode -ky
用于关闭数据库共享内存。为了数据的安全,每次关机前都必须执行此命令。为了简化操作,我们经常将它放在/etc/rc0.d目录下的一个自引导文件中,让系统进入多用户时自动来执行此文件。
finderr
用来查询数据库的错误。当系统出现数据库错误时,系统处了给你简单的出错提示外,还给出一个错误号。你可以使用此命令对这种错误进行深入的分析,然后针对不同的错误进行相应的处理。
例如:当你在超级用户root下对储蓄数据库bankstar进行操作时,系统提示:
387: No connect permission.
111: ISAM error: no record found.
意思是:系统出现387错误,错误的原因是:没有connect权限。
原因分析:
操作数据库至少需要CONNECT权限。解决如下:informix用户注册,执行如下SQL语句:grant connect to root
相关专题
- 开发优质高效的Informix数据库应用程序(3) (305次浏览)
- Informix Dynamic Server 中的分布式事务 (137次浏览)
- Informix SQL 介绍(1) (119次浏览)
- Informix系统维护技巧 (113次浏览)
- 【Informix系统维护技术】 (111次浏览)
- Informix Online 数据库维护技巧 (106次浏览)



