免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6388 | 回复: 5
打印 上一主题 下一主题

求助:[DB2/AIX64] SQL0968C 找不到原因! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-14 15:05 |只看该作者 |倒序浏览
在一个应用系统中,运行一个程序,其中有一个insert操作报错SQL0968C 。查看了一下系统,没有发现文件系统满的,db2的实例用户的fsize=-1,应用程序连接到db2进行操作的用户fsize=2097151。insert的表所在表空间只有一个文件,大小160m左右。具体错误信息如下,请高手指点:

Action Type & & : SQL UPDATE
In Pgm Section &: SQLRT: EXECUTE-STMT & & & & & & & &
With Return Code: 08602
Error Message & : [IBM][CLI Driver][DB2/AIX64] SQL0968C &The file system is full. &SQLSTATE=57011
(SQLSTATE 57011) -968
Dynamic Stmt & &: FSPEXPLO_I_INSDATA & & & & & & & &
SQL Statement & :
INSERT INTO PS_COMBO_DATA_TBL
         & (SETID, PROCESS_GROUP,COMBINATION,ACCOUNT,ALTACCT,DEPTID,OPERATING_UNIT,PRODUCT,FUND_CODE,CLASS_FLD,PROGRAM_CODE,BUDGET_REF,AFFILIATE,AFFILIATE_INTRA1,AFFILIATE_INTRA2,CHARTFIELD1,CHARTFIELD2,CHARTFIELD3,PROJECT_ID,CURRENCY_CD,STATISTICS_CODE,VALID_CODE,EFFDT_FROM,EFFDT_OPEN,EFFDT_TO)
SELECT DISTINCT 'SHARE','OPEEXP',A.COMBINATION, A.RANGE_FROM_30,' ',C.RANGE_FROM_30,E.RANGE_FROM_30,B.RANGE_FROM_30,' ',' ',D.RANGE_FROM_30,' ',' ',' ',' ',' ',' ',' ',' ',' ',' ', 'V', A.EFFDT_FROM,CR.EFFDT_OPEN, A.EFFDT_TO
&FROM &ampS_COMBO_RULE_TBL CR, PS_COMB_EXP_TMP A,PS_COMB_EXP_TMP B,PS_COMB_EXP_TMP C,PS_COMB_EXP_TMP D,PS_COMB_EXP_TMP E
WHERE CR.SETID = A.SETID
& AND CR.COMBINATION = A.COMBINATION
& AND A.PROCESS_INSTANCE = 0000000841
& AND A.SETID='SHARE'
& AND A.PROCESS_GROUP = 'OPEEXP'
& AND A.CHARTFIELD='ACCOUNT' &
& AND B.PROCESS_INSTANCE = A.PROCESS_INSTANCE
& AND B.SETID= A.SETID
& AND B.PROCESS_GROUP= A.PROCESS_GROUP
& AND B.COMBINATION= A.COMBINATION
& AND B.CHARTFIELD='PRODUCT'
& AND B.SEQUENCE_NBR_6=A.SEQUENCE_NBR_6
& AND C.PROCESS_INSTANCE = B.PROCESS_INSTANCE
& AND C.SETID= B.SETID
& AND C.PROCESS_GROUP= B.PROCESS_GROUP
& AND C.COMBINATION= B.COMBINATION
& AND C.CHARTFIELD='DEPTID'
& AND C.SEQUENCE_NBR_6=B.SEQUENCE_NBR_6
& AND D.PROCESS_INSTANCE = C.PROCESS_INSTANCE
& AND D.SETID= C.SETID
& AND D.PROCESS_GROUP= C.PROCESS_GROUP
& AND D.COMBINATION= C.COMBINATION
& AND D.CHARTFIELD='PROGRAM_CODE'
& AND D.SEQUENCE_NBR_6=C.SEQUENCE_NBR_6
& AND E.PROCESS_INSTANCE = D.PROCESS_INSTANCE
& AND E.SETID= D.SETID
& AND E.PROCESS_GROUP= D.PROCESS_GROUP
& AND E.COMBINATION= D.COMBINATION
& AND E.CHARTFIELD='OPERATING_UNIT'
& AND E.SEQUENCE_NBR_6=D.SEQUENCE_NBR_6

0.jpg (106.43 KB, 下载次数: 66)

photo

photo

论坛徽章:
0
2 [报告]
发表于 2005-03-14 16:22 |只看该作者

求助:[DB2/AIX64] SQL0968C 找不到原因!

你看看那db2diag.log有什么提示?

论坛徽章:
0
3 [报告]
发表于 2005-03-14 16:59 |只看该作者

求助:[DB2/AIX64] SQL0968C 找不到原因!

to peapeacat: 谢谢!
db2diag.log有500m多,怎么查看啊?

论坛徽章:
0
4 [报告]
发表于 2005-03-14 19:24 |只看该作者

求助:[DB2/AIX64] SQL0968C 找不到原因!

搞定了!
原因找到了,是系统临时表空间给撑爆了!
由于用户运行程序时选项的问题,导致一个临时表的数据量成数量级上升,同时此表做了5次自连接,系统临时表空间就不够用了,我一直订着它增长到7G。此时原因就一目了然了,随后让用户注意其中的选项再运行,几秒钟搞定:)

论坛徽章:
0
5 [报告]
发表于 2005-03-15 14:55 |只看该作者

求助:[DB2/AIX64] SQL0968C 找不到原因!

呵呵,应该先查错误信息再看诊断日志!

SQL0968C The file system is full.  

Explanation:

One of the file systems containing the database is full.  This
file system may contain the database directory, the database log
files, or a table space container.

论坛徽章:
0
6 [报告]
发表于 2005-03-15 18:04 |只看该作者

求助:[DB2/AIX64] SQL0968C 找不到原因!

呵呵,是没有好好看清的。刚开始看到错误信息,去查看文件系统,发现没有什么异常。等到看清了具体的语句时,才恍然大悟是临时表空间在运行时逐渐增大,出错时又恢复正常,这时去查看文件系统就不能发现原因了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP