sysaux大面积坏块的例子
本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客
本文链接地址: sysaux大面积坏块的例子
某网友的问题,一个11.2.0.3的windows数据库,出现异常,数据库最后经过多人多次抢救之后能够open了,但是查询v$instance,v$database,v$datafile等任何试图都报错,报如下的600错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
CJQ0 started with pid=31, OS id=5860 Errors in file E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_cjq0_5860.trc (incident=121571): ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], [] Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Errors in file E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_cjq0_5860.trc (incident=121572): ORA-00600: internal error code, arguments: [600], [ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], [] ], [], [], [], [], [], [], [], [], [], [] Incident details in: E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\incident\incdir_121572\orcl_cjq0_5860_i121572.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Tue Sep 02 23:58:02 2014 Errors in file E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_ora_4188.trc (incident=119396): ORA-00600: 内部错误代码, 参数: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], [] |
这个错误其实是非常容易解决的,本质上就是Index的问题。当然他这里的问题并不止这一个,还有一个问题就是sysaux01.dbf文件居然存在1280个数据坏块,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
DBVERIFY: Release 11.2.0.3.0 - Production on 星期三 9月 3 10:21:23 2014 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. DBVERIFY - 开始验证: FILE = E:\DATA\ORADATA\ORCL\SYSAUX01.DBF 页 138241 标记为损坏 Corrupt block relative dba: 0x00821c01 (file 2, block 138241) Completely zero block found during dbv: 页 138242 标记为损坏 Corrupt block relative dba: 0x00821c02 (file 2, block 138242) Completely zero block found during dbv: .....省略部分内容 页 139520 标记为损坏 Corrupt block relative dba: 0x00822100 (file 2, block 139520) Completely zero block found during dbv: DBVERIFY - 验证完成 检查的页总数: 139520 处理的页总数 (数据): 39125 失败的页总数 (数据): 0 处理的页总数 (索引): 36727 失败的页总数 (索引): 0 处理的总页数 (Lob) : 9390 失败的总页数 (Lob) : 0 处理的页总数 (其他): 27440 处理的总页数 (段) : 0 失败的总页数 (段) : 0 空的页总数: 25558 标记为损坏的总页数: 1280 流入的页总数: 0 加密的总页数 : 0 最高块 SCN : 37590532 (0.37590532) |
一般来讲出现大面积坏块的可能性是比较小的,而且这里的坏块数量也是很奇怪的。我通过bbed简单看楼下,发现后面的1280个坏块都是连续的,而且都是空块(非正常空块)。如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
BBED> set file 2 block 138241 FILE# 2 BLOCK# 138241 BBED> map File: /home/ora10g/SYSAUX01.DBF (2) Block: 138241 Dba:0x00821c01 ------------------------------------------------------------ BBED-00400: invalid blocktype (00) BBED> d /v count 200 File: /home/ora10g/SYSAUX01.DBF (2) Block: 138241 Offsets: 0 to 199 Dba:0x00821c01 ------------------------------------------------------- 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 l ........ <16 bytes per line> BBED> set file 2 block 138247 FILE# 2 BLOCK# 138247 BBED> d /v count 200 File: /home/ora10g/SYSAUX01.DBF (2) Block: 138247 Offsets: 0 to 199 Dba:0x00821c07 ------------------------------------------------------- 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 00000000 00000000 l ................ 00000000 00000000 l ........ <16 bytes per line> |
对于这个sysaux的坏文件,如果我们要进行处理,其实并不难,可以dd截取前面的138240 个block,然后同时修改数据文件头的kccfhbsz(单位为block),以及位于system数据文件中的
file$基表中的对应数据文件的大小信息即可。
当然,做完这些之后,你需要重建controlfile,来使信息保持一致。
Leave a Reply
You must be logged in to post a comment.