您的位置:首页 > 其它

ORA-600 [4000] 错误解决一例

2014-10-29 20:34 609 查看
今天晚上,有个项目非归档数据库10.2版本rac,报打不开,使用_allow_resetlog_currption打开报错

ORA-00600: internal error code, arguments: [4000]

参考了下面的文章:

http://www.killdb.com/2011/08/30/ora-600-4000%E6%81%A2%E5%A4%8D%E4%B8%80%E4%BE%8B.html

错误的内容居然一样:

Object id on Block? Y
seg/obj: 0x12  csc: 0xb2c.3a7f4d34  itc: 1  flg: -  typ: 1 - DATA
fsl: 0  fnx: 0x0 ver: 0x01

Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x0005.01e.000099e3  0x00802689.29dd.09  --U-    1  fsc 0x0000.3a7f4d35

data_block_dump,data header at 0x847ce044
===============
tsiz: 0x1fb8
hsiz: 0xea
pbl: 0x847ce044
bdba: 0x0040007a
76543210
flag=--------
ntab=1
nrow=108
frre=-1
fsbo=0xea
fseo=0x385
avsp=0x369
tosp=0x369
0xe:pti[0] nrow=108 offs=0

 

bdba的值是一样的,但是不能执行下面的语句:

  SELECT DBMS_UTILITY.data_block_address_file
(TO_NUMBER ('40007a',
'XXXXXXXX')) file_id, DBMS_UTILITY.data_block_address_block
(TO_NUMBER ('40007a',
'XXXXXXXX')) block_id
FROM DUAL;


 

 

 

原因是数据库未打开。

我在另外一个库上去执行,发现结果跟博主一样,也是1号文件122号块,所以我认为本库的应该也是。

编译bbed,可以参考Dave的博客:http://blog.csdn.net/tianlesoftware/article/details/5006580

 
 

 
 
然后跟博主一样执行
modify /x 8001 offset 60
然后sum apply
重启数据库,直接去open,报错就跟博主不一样了。
ORA-600[KCLCHKBLK_4]
这个错误,网上并不是很多见,并且没找到确定的解决方案。
但转机突然就出现了。
我把数据库再down掉,重启,发现居然已经open了。
我简直不敢相信自己的眼睛。

 

剩下的就是,先让他们把数据expdp出来,然后再尝试是否可以正常使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ORA-600 4000