如何监控活动日志已满

最近正在linux下用shell脚本写db2监控程序,遇到问题,(如果能用脚本或是命令行解决最好,呵呵)
1、如何得知活动日志已满
2、如何发现死锁
3、如何发现已损坏的表
就这些钱了,请大家帮帮忙,我还得赶快赚米提问去
参与9

8同行回答

db2bird1db2bird1数据库管理员enmo
回复 7# mingyue1979 看百分比啊显示全部
回复 7# mingyue1979

看百分比啊收起
系统集成 · 2015-03-09
浏览1438
db2bird1db2bird1数据库管理员enmo
监控损坏的表:select TABSCHEMA,TABNAME,status from syscat.tables where status!='N';C= set integrity pendingN=normalX=inoperative显示全部
监控损坏的表:
select TABSCHEMA,TABNAME,status from syscat.tables where status!='N';
C= set integrity pending
N=normal
X=inoperative收起
系统集成 · 2015-03-09
浏览1435
mingyue1979mingyue1979其他部队
那如何能监控到日志已满的状态呢显示全部
那如何能监控到日志已满的状态呢收起
政府机关 · 2010-06-09
浏览1423
jayciededejayciedede技术经理安图特(北京)科技有限公司
db2 select status from syscat.tables where TABSCHEMA=* AND TABNAME=*检查一下这个表的状态,正常情况应该是N显示全部
db2 select status from syscat.tables where TABSCHEMA=* AND TABNAME=*
检查一下这个表的状态,正常情况应该是N收起
互联网服务 · 2010-06-09
浏览1430
dinnerxudinnerxu系统分析师招商银行武汉分行
监控的话,那只能定时取数据库的snapshot,显示全部
监控的话,那只能定时取数据库的snapshot,收起
互联网服务 · 2010-06-09
浏览1429
wwhalxjwwhalxj项目经理亚信联创科技(中国)有限公司
监控日志满:select * from sysibmadm.log_utilization;监控锁:db2 get get snapshot for database on sample | grep -i lock第三个我也想知道。显示全部
监控日志满:select * from sysibmadm.log_utilization;
监控锁:db2 get get snapshot for database on sample | grep -i lock

第三个我也想知道。收起
IT分销/经销 · 2010-06-09
浏览1534
hchaohchao网站运营经理TWT
天命(89260733)  14:28:42数据库事务日志已满错误数据库事务日志已满错误是指当前事务无法写入到活动日志中(此时主日志文件和辅助日志文件已经全部用完或者没有足够当前事务写入的空间),需要注意的是,这个错误和日志磁盘空间已满是两个概念,如果想查看日志磁盘已满...显示全部
天命(89260733)  14:28:42

数据库事务日志已满错误

数据库事务日志已满错误是指当前事务无法写入到活动日志中(此时主日志文件和辅助日志文件已经全部用完或者没有足够当前事务写入的空间),需要注意的是,这个错误和日志磁盘空间已满是两个概念,如果想查看日志磁盘已满错误,请参照本章第五节。数据库事务日志已满不是由于磁盘空间满引起的,而是由于没有落实的事务总体过大,超过了数据库事务日志所能容纳的最大大小所造成的。
一般系统上线之初(如果是分阶段上线,则是每次上线之初),由于经常要导大量的数据,容易出现这个问题,当出现这个问题时,直接的办法是找到引起这个错误的当前事务,终止掉这个事务即可,后续在操作时找到当前执行的事务中比较大的事务,尽量落实或回滚该事务。
一般情况下,建议大家在系统上线之初进行导数时,尽量使用 LOAD 实用程序(如果是归档日志模式,建议使用带 NONRECOVERABLE 选项的 LOAD 实用程序,否则装入完成后数据库或装入的表所在的表空间会被置于备份暂挂状态,需要做一次全备才能解除备份暂挂状态),LOAD 实用程序在装入数据时不记日志。
如果使用 IMPORT 实用程序,建议使用 COMMITCOUNT 选项。无论是循环日志模式还是归档日志模式,使用 IMPORT 实用程序导入大量数据时,都有可能报数据库事务日志已满(也就是当前导入操作产生的事务过大,使得当前活动日志满了,包括所有的主日志和辅助日志都用完了),所以为了避免数据库日志已满错误,提高并发性,可以使用 COMMITCOUNT 选项,对要导入的数据分阶段提交。比如可以将 COMMITCOUNT 参数设置为“自动”,指示 import 实用程序 内部决定何时进行落实。此外,也可以将 COMMITCOUNT 选项设置为特定数字,指示 import 实用程序 在导入指定记录数后即进行落实。
尽量避免在上线之初直接使用“ INSERT INTO … SELECT .. FROM .. ”语句,导入一个很大的事务的方式进行导数,这样会使事务非常大。另外,还可以在系统上线之初把主日志文件的数目(LOGPRIMARY)、辅助日志文件的数目(LOGSECOND)和日志文件大小(4KB)(LOGFILSIZ)三个参数调大,等系统正式上线稳定后,再调回合适的值。
如果是在正式上线后的系统,经常出现这个问题,就需要查找原因,具体的原因可能有:
1.        数据库并发连接比较多
这种情况下,就要考虑适当增加主日志文件的数目(LOGPRIMARY)和日志文件大小(4KB)(LOGFILSIZ)。
2.        有人通过第三方软件或其他工具直接连接到了生产库
在这样的情况下,就要监控数据库,看其是否经常写一些大的语句对数据库进行增删改的操作,如果是的话,建议增加数据库的控制,尽量不要让不相关的人员连接生产库(如果其他人有需要,尽量开放备份库给他们使用,而不要开放生产库,生产库尽量只给业务系统正常使用),如果你使用的是 DB2 V9.5 版本,则可以使用工作负载管理 WLM 对数据库的资源进行调配。如果使用的是 DB2 V9.5 之前的版本,则可以在数据库服务器上通过配置操作系统的方式,限制一些 IP 的访问。
当出现这样的错误时,不要尝试使用 DB2STOP FORCE 命令来强制停掉数据库,建议大家使用 FORCE APPLICATION 命令停掉引起这个错误的应用程序或者停掉所有的应用程序。也不建议大家使用 KILL 命令来杀掉任何 DB2 相关的进程。收起
互联网服务 · 2010-06-09
浏览1463
yx0409yx0409数据仓库工程师中油瑞飞
不是吧!需要交金币才可以浏览?穷疯了吧显示全部
不是吧!需要交金币才可以浏览?穷疯了吧收起
互联网服务 · 2010-06-09
浏览1404

提问者

mingyue1979
其他部队

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-06-09
  • 关注会员:1 人
  • 问题浏览:7191
  • 最近回答:2015-03-09
  • X社区推广