查看: 8142|回复: 2

[精华] 一次SQL1036C错误的处理!

[复制链接]
论坛徽章:
75
授权会员
日期:2005-10-30 17:05:332012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20迷宫蛋
日期:2012-12-24 09:08:13茶鸡蛋
日期:2013-01-05 10:22:14咸鸭蛋
日期:2013-02-01 16:50:322013年新春福章
日期:2013-02-25 14:51:24紫蛋头
日期:2013-04-21 13:58:57本田
日期:2013-12-07 19:34:23
跳转到指定楼层
1#
发表于 2006-4-20 20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一次SQL1036C错误的处理!

作者:mymm  


因工作需要,需导入历史库以查询历史数据,因几次数据库清理所以导出的历史库文件分了好几部分,费千辛万苦找全了文件后,开始导数:

1、load第一个文件(50多万行)用:load from ... of ixf replace into .. nonrecoverable (测试环境空间较小,不要日志了!)
很久后,报:

SQL0289N  Unable to allocate new pages in table space "USERSPACE1".   
SQLSTATE=57011

查db2diag.log,报:

Tablespace 2(USERSPACE1) is full
..
DIA9999E An internal error occurred. Report the following error code :
"0xFFFFD121".

表空间满了,一开始没想到,删掉几个没用的大表后,先load....terminate....,消除load pending状态,重新导入,成功。

2、load第二个文件,报:

SQL3125W  The character data in row "F0-1" and column "3" was truncated  
because the data is longer than the target database column.

^C 强行中断!
select 查询表内容,报:

SQL0290N  Table space access is not allowed.  SQLSTATE=55039

查表空间状态,为load pending,执行load...terminate....却失败,报:

SQL3508N  Error in accessing a file or path of type "RESTART/TERMINATE INFO"  
during load or load query.  Reason code: "1".  Path: "".

再查表空间状态,为0x000c Quiesced: EXCLUSIVE load pending,
再次执行load...terminate....,很长时间没动静,按捺不住,又^C强行中断!报:

SQL3501W  The table space(s) in which the table resides will not be placed in  
backup pending state since forward recovery is disabled for the database.

SQL3110N  The utility has completed processing.  "0" rows were read from the  
input file.

^C
DB21017E  The Command Line Processor encountered a system error with the  
frontend process output queue. Reason code = -2498.


一不做二不休,做一个force application all ,再list applications还有?!
看一下表空间状态,0x0004 Quiesced: EXCLUSIVE
再load...terminate....,报:

SQL3508N  Error in accessing a file or path of type "TEMP_FILE" during load or  
load query.  Reason code: "1".  Path:  
"/db2catalog/db2inst/NODE0000/SQL00001/lo".

这几个提示连看都没仔细看,就db2stop,不成功!
开始着急,干脆把库drop掉重建,于是drop db ,不成功,报:

SQL1137W  The database manager was unable to remove the database path or some  
of the containers when dropping database "TEST".  Cleanup is required.

看都没看,做uncatalog
做redirect恢复时,报:

SQL1036C  An I/O error occurred while accessing the database.  SQLSTATE=58030

查几个container所在的lv的属组属主均正确,查编目表空间(SMS)、临时表空间(SMS)的目录属组属主权限均正常!
试做db2untag,成功!但再redirect恢复,仍报SQL1036C!
不解!
回过头再看前面SQL3508N错时,看到Path: "/db2catalog/db2inst/NODE0000/SQL00001/lo"
进入编目目录,看到db2catalog/db2inst/NODE0000/SQL00001/load/DB200002.PID/DB200916.OID/load.msg文件,应该是在做LOAD时留下的MSG,db2inst目录属组属主均同实例用户,将db2catalog下的所有文件目录清空,再redirect恢复,成功!


3、恢复完库再LOAD完第一个文件后,查看LOAD第二个文件报的错,查db2diag.log,发现报"0xFFFF8138".即“Invalid state transition”,查表结构,才发现表结构比导入文件多一个字段,重建表结构,导入,成功!

教训:1、一定要仔细查看理解语句所报的错误,如果仔细点,报SQL3125时,就应该知道是表结构不对,报SQL3508N时就应该去清理catalog目录,报SQL1137W就更应该知道去清理!而且以上错误在db2diag.log里均有提示,如果早注意就不会费那么多事儿了,浪费了mymm一天的时间!
2、在建库以前一定要将各SMS管理的目录清理干净!SQL1036C错误无非都是些权限错误!

一点教训,拿出共勉!
忘记说环境了:AIX 4.3.3
       DB2 7.2、实例db2inst、数据库test
       SYSCATSPACE-SMS
       TEMPSPACE1-SMS
       USERSPACE1-DMS
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
2#
发表于 2006-4-20 23:44 | 只看该作者
不错,不过1036C不一定全是权限错误,经常在v7到v8升级后会出现这种问题,是由于database catalog corrupted,只能够删除sqldbdir然后重建,而且从v8.2退回v8.1如果不错demigrate也会有同样的问题……

使用道具 举报

回复
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010广州亚运会纪念徽章:橄榄球
日期:2011-05-22 10:54:33管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:41:012010年世界杯参赛球队:丹麦
日期:2010-04-06 10:23:36
3#
发表于 2006-4-21 08:06 | 只看该作者
不错,不过在做这种数据迁移的操作之前应该先做好规划

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表