DB2 SQL 错误(SQLCODE:-964,SQLSTATE:57011)处理方法
故障现象描述:
执行 SQL 语句时,出现类似如下错误消息。
指令 SQL:insert into t_stat_file_temp
SQLSTATE:57011,供应商错误代码:-964
DB2 SQL 错误:SQLCODE:-964,SQLSTATE:57011,
SQLERRMC:空
故障原因说明:
数据库堆中没有足够的存储空间可用于处理该语句,此错误消息是事务日志中耗尽空间的结果。
故障处理方式:
1 方式一:扩展事务日志存储空间
通过类似如下语句调整主日志文件数,以及辅助日志文件数。
例如:分配八个主日志文件,同时最多分配 100 个辅助日志文件。注意:辅助日志文件将根据需要进行分配,并在不需要时删除。
db2 update db cfg for $DBNAME using logprimary 8
db2 update db cfg for $DBNAME using logsecond 100
2 方式二:处理异常事务
如果出现因事务异常导致事务日志存储空间不足的情况,则单纯扩展存储空间往往难以彻底解决问题,因此需要本方式提供了彻底排查的步骤。
注意:以下操作均在 db2 connect to $DBNAME 连接至数据库后执行。
2.1 定位异常的数据库节点
通过如下语句,查看各节点的日志空间使用情况,定位事务日志空间使用率(LOG_UTILIZATION_PERCENT)过高的节点。
db2 " select DB_NAME, LOG_UTILIZATION_PERCENT, TOTAL_LOG_USED_KB,TOTAL_LOG_AVAILABLE_KB,TOTAL_LOG_USED_TOP_KB, DBPARTITIONNUM
from SYSIBMADM.LOG_UTILIZATION order by DBPARTITIONNUM "
执行结果类似如下。

2.2 检查异常活动连接
在事务日志空间使用率过高的节点上,执行如下命令,定位是否存在事务日志使用量(UOW_LOG_SPACE_USED)过高的活动连接。
db2 "select APPLICATION_HANDLE,UOW_LOG_SPACE_USED,UOW_START_TIME
from TABLE(MON_GET_UNIT_OF_WORK(NULL,-1))
order by UOW_LOG_SPACE_USED"
若存在异常的活动连接,则可以通过类似如下命令终止。
db2 "force application (h1 [,h2,..hn])"
h1 [,h2,..hn] 代表 application handle identifier
2.3 检查不确定事务(In-doubt transaction)
在事务日志空间使用率过高的节点上,执行如下命令,以交互模式定位是否存在不确定事务(In-doubt transaction)。
db2 list indoubt transactions with prompting
若存在不确定事务,则可以通过交互命令进行 COMMIT 或 ROLLBACK 等操作,具体操作参见 WITH PROMPTING 模式的说明。
Command parameters WITH PROMPTING Indicates that indoubt transactions are to be processed. If this parameter is specified, an interactive dialog mode is initiated, permitting the user to commit, roll back, or forget indoubt transactions. If this parameter is not specified, indoubt transactions are written to the standard output device, and the interactive dialog mode is not initiated.
Interactive dialog mode permits the user to:
- List all indoubt transactions (enter l)
- List indoubt transaction number x (enter l, followed by a valid transaction number)
- Quit (enter q)
- Commit transaction number x (enter c, followed by a valid transaction number)
- Roll back transaction number x (enter r, followed by a valid transaction number)
- Forget transaction number x (enter f, followed by a valid transaction number).
A blank space must separate the command letter from its argument.
参考资料:
- https://www.ibm.com/support/knowledgecenter/zh/SS5R93_5.2.8/com.ibm.spectrum.sc.doc/fqz0_r_tbs_db2_sql_964.html
- https://www.ibm.com/support/knowledgecenter/en/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001963.html
- http://www.talkwithtrend.com/Article/185911
DB2 SQL 错误(SQLCODE:-964,SQLSTATE:57011)处理方法的更多相关文章
- DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002 解决方法
在操作大量数据时如果发生这种错误,说明不是db2 使用的 package没有绑定,而是 因为资源未释放,导致可以使用此package的资源不足,致使不能连接资源. 在程序中,对PreparedStat ...
- DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 3
在对表load数据之后,表出现如下错误: DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 3; 错误解释:表处于"装入暂挂& ...
- DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=2 (转载)
http://blog.csdn.net/xiyuan1999/article/details/5706230 DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, ...
- DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9
DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9报错是因为 , 你往设置了ALWAYS自增的列里面插了初始值 . ALWAYS自增设置如下. -- 设置主 ...
- DB2 SQL Error: SQLCODE=-1585, SQLSTATE=54048
DB2 执行SQL报错: DB2 SQL Error: SQLCODE=-1585, SQLSTATE=54048 你建的db2数据库没有建足够大的临时表空间,新建一个足够大的临时表空间 1.创建数据 ...
- DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法
这个错误是:表处于"装入暂挂"状态. 经多次尝试 总结方法: 1:reorg table <表>: 假如不好使 则下面方法 2,先前尝试装入(LOAD)此表失败.表的状 ...
- com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-418, SQLSTATE=42610, SQLERRMC=null
写了一条sql,在db2数据库中可以执行,但是转换成mybatis的mapper文件后,在执行排序操作时报该错误. 我排序是这样写的 <if test="orderStr != nul ...
- 【DB2】设置表不记录日志,但是回滚导致表不可用报错:DB2 SQL Error: SQLCODE=-1477, SQLSTATE=55019, SQLERRMC=LEN.TMP;5;3, DRIVER=3.57.82
今天在生产发现个问题,很多表报错:SQLCODE=-1477 后来线下模拟出这种场景 出现这个问题,此时对表做reorg.runstats都是无效的. 那么怎么来解决这个问题呢? 只能重建表解决问题
- DB2:在缓冲池 "1" 中当前没有任何页面可用。. SQLCODE=-1218, SQLSTATE=57011, DRIVER=3.61.75
服务器端DB2数据库最近频繁报错: 在缓冲池 , SQLSTATE=, DRIVER= 试验发现简单的查询SQL执行没有问题,复杂的SQL就会报上述错误. 百度发现是因为数据库bufferpool太小 ...
随机推荐
- sql 存储过程笔记3
16:22 2014/1/26一.定义变量--简单赋值declare @a int set @a = 5 print @a --使用select语句赋值declare @user1 nvarchar( ...
- Python学习记录6-list、tuple、dict、set复习
数据类型在一门语言中是非常重要的,所以选择再次学习一下加深记忆.本次主要参考了大神廖雪峰的官方网站,非常感谢大神,讲的很清晰,收获很大. 标准数据类型 Number(数字) String(字符串) L ...
- IDEA找不到maven仓库无法下载依赖解决办法
1.确认Maven安装正常,在cmd窗口输入mvn -version 可以获得版本号: 2. 确认maven安装包下/conf/setting.xml配置文件正确 本地仓库位置: <localR ...
- 高级IO——文件锁
文件锁也被称为记录所,文件锁如果深讲的话,内容不少(比如文件锁最起码分为了建议锁和强制性锁,暂时挖坑,后面填). 文件锁作用 顾名思义,就是用来保护文件数据的.当多个进程共享读写同一个文件时,为了不让 ...
- C# Winfrom GDI+ 自定义控件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...
- 使用 visual studio 2019 社区版打开touchgfx工程注意项
@2019-09-23 [环境] touchgfx designer 4.10.0 visual studio 2019 社区版 [问题] #error 1 使用 visual studio 2019 ...
- kudu_cm_web安装
[root@Node2 opt]# echo never > /sys/kernel/mm/transparent_hugepage/defrag[root@Node2 opt]# echo n ...
- [2019HDU多校第一场][HDU 6588][K. Function]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6588 题目大意:求\(\sum_{i=1}^{n}gcd(\left \lfloor \sqrt[3] ...
- Codeforces Round #590 (Div. 3) D. Distinct Characters Queries(线段树, 位运算)
链接: https://codeforces.com/contest/1234/problem/D 题意: You are given a string s consisting of lowerca ...
- 题解 [BZOJ4368][IOI2015]boxes纪念品盒
题面 解析 可以发现,发纪念品有三种方式: 从左边走再原路返回. 从右边走再原路返回. 走一圈. 注意到,第三种走法最多只会走一次, 因为如果走了多次,那发放的物品数量就会>=\(2k\), 那 ...