分类: DB2/Informix
2009-09-13 20:55:21
1,在做数据库全备的时候出现下列错误:
16:28:45 Assert Warning: Archive detects that page 7:45157032 is corrupt.
16:28:45 IBM Informix Dynamic Server Version 10.00.UC4
16:28:45 Who: Session(3535, , 15099, 0xbb97f724)
Thread(4372, arcbackup1, baeaaa20, 4)
File: rsarcbu.c Line: 2953
16:28:45 stack trace for pid 10517 written to /home/informix/tmp/af.14fcbebc
16:28:45 See Also: /home/informix/tmp/af.14fcbebc
16:28:45 Archive detects that page 7:45157032 is corrupt.
16:28:45 Assert Warning: Archive detects that page 7:45157033 is corrupt.
16:28:45 IBM Informix Dynamic Server Version 10.00.UC4
16:28:45 Who: Session(3535, , 15099, 0xbb97f724)
Thread(4372, arcbackup1, baeaaa20, 4)
File: rsarcbu.c Line: 2953
16:28:45 stack trace for pid 10517 written to /home/informix/tmp/af.14fcbebc
16:28:45 See Also: /home/informix/tmp/af.14fcbebc
16:28:45 Archive detects that page 7:45157033 is corrupt.
2,执行oncheck -pe 检测这个页所属的数据空间
[informix@tonykorn ~]$ oncheck -pe datadbs2 > datadbs2_oncheck_20080827.log
[informix@tonykorn ~]$
3,根据日志内容查看当时错误页所属的表:
rrldbshop:'informix'.pdykcostitem 45143269 2048
rrldbshop:'informix'.pdgoodscost 45145317 8192
rrldbshop:'informix'.syslog 45153509 8192
rrldbshop:'informix'.pdgoodsitem 45161701 8192
通过上面可以得到45157032和45157033的页都属于syslog表
4,执行oncheck -cd 检测一下这个表的信息
[informix@tonykorn ~]$ oncheck -cd rrldbshop:syslog
TBLspace data check for rrldbshop:informix.syslog
BAD PAGE 7:45157136: pg_addr 0:0 != bp->bf_pagenum 7:45157136
BAD PAGE 7:45157137: pg_addr 0:0 != bp->bf_pagenum 7:45157137
BAD PAGE 7:45157138: pg_addr 0:0 != bp->bf_pagenum 7:45157138
BAD PAGE 7:45157139: pg_addr 0:0 != bp->bf_pagenum 7:45157139
BAD PAGE 7:45157140: pg_addr 0:0 != bp->bf_pagenum 7:45157140
BAD PAGE 7:45157141: pg_addr 0:0 != bp->bf_pagenum 7:45157141
BAD PAGE 7:45157142: pg_addr 0:0 != bp->bf_pagenum 7:45157142
BAD PAGE 7:45157143: pg_addr 0:0 != bp->bf_pagenum 7:45157143
BAD PAGE 7:45157144: pg_addr 0:0 != bp->bf_pagenum 7:45157144
BAD PAGE 7:45157145: pg_addr 0:0 != bp->bf_pagenum 7:45157145
BAD PAGE 7:45157146: pg_addr 0:0 != bp->bf_pagenum 7:45157146
BAD PAGE 7:45157147: pg_addr 0:0 != bp->bf_pagenum 7:45157147
BAD PAGE 7:45157148: pg_addr 0:0 != bp->bf_pagenum 7:45157148
BAD PAGE 7:45157149: pg_addr 0:0 != bp->bf_pagenum 7:45157149
BAD PAGE 7:45157150: pg_addr 0:0 != bp->bf_pagenum 7:45157150
BAD PAGE 7:45157151: pg_addr 0:0 != bp->bf_pagenum 7:45157151
BAD PAGE 7:45157152: pg_addr 0:0 != bp->bf_pagenum 7:45157152
5,看看是否能查看这个表的数据,然后把这个表的内容导出后重新导入。