DB2 实例挂起

1.问题现象
任何DB2 CLP操作无返回值;
应用程序无返回值;
当以上现象发生,数据库可能已经挂起。https://www.cndba.cn/hbhe0316/article/4870

https://www.cndba.cn/hbhe0316/article/4870
https://www.cndba.cn/hbhe0316/article/4870

2.问题诊断
根据以下命令,判断数据库实例的确出现异常。https://www.cndba.cn/hbhe0316/article/4870https://www.cndba.cn/hbhe0316/article/4870

#ps -ef | grep db2sysc(确认系统存在db2sysc进程)
#su - <db2_instance_name>
$db2gcf -s -p <Partition_Num> -i <db2_instance_name>(确认实例状态为Available)
备注:如果是单分区<Partition_Num>为0,如果是DPF环境,<Partition_Num>为0,1,2,3,4…,n

3.收集数据
利用db2pd收集数据:

mkdir /tmp/$(date +%Y%m%d)
a)收集db2pd -stack all dumpdir=/tmp/$(date +%Y%m%d) -repeat 5信息
b)收集db2pd -latch -repeat 5信息
重新启动后收集db2support
$db2support <output path>  -d  <db_name>  -c -s 
收集操作系统snap数据,以便分析数据库实例进程为何出现异常
#snap -ac (example for AIX)

4.恢复步骤
强制杀掉DB2进程

#su - <db2_instance_name>
$db2_kill
在许多异常情况下,数据库实例往往不能正常停止,通过db2stop或db2stop force依然无法停止
a.DB2V9.5以后版本请使用db2_kill
b.如果db2_kill依然无法停止,可以采用ps -ef | grep db2|awk ‘{print $2}’ | xargs kill -9
c.如果第b步不能正常停止,则可以采用ipcs -a | grep -i <instance name>
d.采用ipcrm -m <共享内存id>或者采用ipclean
e.以上办法都不行,则重启机器

验证没有DB2进程存在

https://www.cndba.cn/hbhe0316/article/4870
#su  -  <db2_instance_name>
$ps -ef | grep db2

启动DB2进程

https://www.cndba.cn/hbhe0316/article/4870
#su  -  <db2_instance_name>
$db2start

验证DB2数据库操作正常

https://www.cndba.cn/hbhe0316/article/4870
https://www.cndba.cn/hbhe0316/article/4870
https://www.cndba.cn/hbhe0316/article/4870
#su  -  <db2_instance_name>
$db2 connect to <dbname>

对以被强制关闭的数据库存在自动恢复 的情况,在连接数据中如果连接时间很慢可对当前连接查看

$db2 “select * from <schema>.<tabname>”
$db2pd -db  <dbname>  - tablespaces    or
$db2 “select tbsp_name ,tbsp_state from sysibmadm.tbsp_utilization”

版权声明:本文为博主原创文章,未经博主允许不得转载。

DB2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值