Oracle启动时提示ORA-01578错误解决(二)

2014-11-24 17:22:10 · 作者: · 浏览: 1
---------------------------------------------


0004ba4c 00000100 00000f00 0000aabe



<32 bytes per line>




BBED> set offset 8188


OFFSET 8188



BBED> dump


File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)


Block: 225 Offsets: 8188 to 8191 Dba:0x00000000


------------------------------------------------------------------------


ff06aabe



<32 bytes per line>



BBED> modify /x 00 offset 8188


File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)


Block: 225 Offsets: 8188 to 8191 Dba:0x00000000


------------------------------------------------------------------------


0006aabe



<32 bytes per line>



BBED> p tailchk


ub4 tailchk @8188 0xbeaa0600




BBED> sum apply


Check value for File 0, Block 225:


current = 0x4cba, required = 0x4cba



BBED> verify


DBVERIFY - Verification starting


FILE = /oracle/app/oracle/oradata/orcl1123/system01.dbf


BLOCK = 225



Block Checking: DBA = 4194529, Block Type = KTB-managed data block


data header at 0x2a98b8725c


kdbchk: row locked by non-existent transaction


table=0 slot=20


lockid=1 ktbbhitc=2


Block 225 failed with check code 6101



DBVERIFY - Verification complete



Total Blocks Examined : 1


Total Blocks Processed (Data) : 1


Total Blocks Failing (Data) : 1


Total Blocks Processed (Index): 0


Total Blocks Failing (Index): 0


Total Blocks Empty : 0


Total Blocks Marked Corrupt : 0


Total Blocks Influx : 0


Message 531 not found; product=RDBMS; facility=BBED


这里看到报了ITL相当的一些东西,原因是由于原来做实验的时候,手动提交了数据。


报错代码的意思是,slot=20的行被锁住,占用了itl2.



下面是dump数据库看一下第21号的lb标记符


tl: 58 fb: --H-FL-- lb: 0x1 cc: 17


col 0: [ 2] c1 15


col 1: [10] 5f 53 59 53 53 4d 55 32 30 24


col 2: [ 2] c1 02


col 3: [ 2] c1 06


col 4: [ 3] c2 03 49


col 5: [ 5] c4 02 62 0a 09


col 6: [ 1] 80


col 7: [ 3] c2 03 2a


col 8: [ 3] c2 02 3e


col 9: [ 1] 80


col 10: [ 2] c1 04


col 11: [ 2] c1 06


col 12: *NULL*


col 13: *NULL*


col 14: *NULL*


col 15: *NULL*


col 16: [ 2] c1 0



BBED> p *kdbr[20]


rowdata[634]


------------


ub1 rowdata[634] @1823 0x2c



BBED> set offset 1823


OFFSET 1823



BBED> dump


File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)


Block: 225 Offsets: 1823 to 1838 Dba:0x00000000


------------------------------------------------------------------------


2c011102 c1150a5f 53595353 4d553230


BBED> modify /x 2c00


File: /oracle/app/oracle/oradata/orcl1123/system01.dbf (0)


Block: 225 Offsets: 1823 to 1838 Dba:0x00000000


------------------------------------------------------------------------


2c001102 c1150a5f 53595353 4d553230



<32 bytes per line>





BBED> sum apply


Check value for File 0, Block 225:


current = 0x6ec1, required = 0x6ec1



BBED> verify


DBVERIFY - Verification starting


FILE = /oracle/app/oracle/oradata/orcl1123/system01.dbf


BLOCK = 225




DBVERIFY - Verification complete



Total Blocks Examined : 1


Total Blocks Processed (Data) : 1


Total Blocks Failing (Data) : 0


Total Blocks Processed (Index): 0


Total Blocks Failing (Index): 0


Total Blocks Empty : 0


Total Blocks Marked Corrupt : 0


Total Blocks Influx : 0


Message 531 not found; product=RDBMS; facility=BBED



块不在报错。验证通过


4,数据库正常打开




SQL> alter database open;



Database altered.



undo块能正常访问


SQL> select name from undo$;



NAME


------------------------------


SYSTEM


_SYSSMU1$


_SYSSMU10$


_SYSSMU11$


_SYSSMU12$


_SYSSMU13$


_SYSSMU14$


_SYSSMU15$


_SYSSMU16$


_SYSSMU17$


_SYSSMU18$



NAME


------------------------------


_SYSSMU19$


_SYSSMU2$


_SYSSMU20$


_SYSSMU3$


_SYSSMU