oracle -1476,DB2 SQL Error: SQLCODE=-1476, SQLSTATE=40506, SQLERRMC=-964, DRIVER=3.67.27?

从应用服务器 10.7.123.156 应用 "0-40505" 长时间执行 IUD操作一直没有 COMMIT,导致活动日志空间用尽(logprimary+logsecond)*logsiz。

1、增加主日志与辅助日志的总数或日志大小,从而增加活动日志空间,但看了你的日志参数配置,应该按照步骤 2 查看应用层面的具体原因

2、 调查应用 "0-40505" 长时间执行 IUD操作一直没有 COMMIT 的原因,是否被锁或者其他原因阻塞住了?是否应用出现了异常的瞬时并发IUD操作?是否涉及打数据量的IUD操作?是否是应用设计问题?等等

3、“怎么查看这个应用 "0-40505" ,是在更新哪张表 ?”

兄弟,这个只能发现问题时,实时监控,才能发现。除非,你们的监控系统或事件监视器有保存应用执行sql历史的设计,否则,事后你很难知道当时应用当时执行了什么 SQL。

实时监控应用执行的 SQL,我给您提供两个还算凑合的方法:

1、使用 MON_GET_ACTIVITY监视表函数

SELECT t.application_handle, t.uow_id, t.activity_id, VARCHAR(t.stmt_text, 256) as stmt_text

FROM table(MON_GET_ACTIVITY(NULL, -1)) as t

APPLICATION_HANDLE      UOW_ID       ACTIVITY_ID          STMT_TEXT

------------------        -----------       --------------      ------------------------------

46                           1                            1          SELECT * FROM SYSCAT.TABLES

47                           1                            2          INSERT INTO T1 VALUES(201901,Tom)

2、使用 db2pd 的 -apinfo 选项输出应用程序的执行语句信息

示例:

db2pd -d sample -apinfo 0-48420 | grep -p "Statement"收起

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值