Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Repairing corrupt datablocks
Hello
By using DBMS_REPAIR.CHECK_OBJECT I have found 3 corrupt datablocks in our
database, all with error: Block Checking: DBA = 184607007, Block Type =
KTB-managed data block
kdbchk: the amount of space used is not equal to block size
used=8169 fsc=0 avsp=112 dtl=8120
My plan now is to fix these data blocks. I have never done this before, so I consulted my Oracle manual and the manual recomends the following:
First run DBMS_REPAIR.CHECK_OBJECT on the object to find out if the object contains any corrupt blocks. Then I run DBMS_REPAIR.FIX_CORRUPT_BLOCKS to mark the block as corrupt. After that run DBMS_REPAIR.DUMP_ORPHAN_KEYS to dump all the index references to these blocks. Then run DBMS_REPAIR.SKIP_CORRUPT_BLOCKS on the object, and after that recreate the table.
By doing this the corrupt blocks are removed from the object.
Now I have some questions about this. (My environments is a Oracle 8.1.7 on a Windows 2000 Advanced Server):
Is this a good way, or is there a better way? Can I access the data in the corrupt blocks in anyway so I can se whats in the blocks? I'm afraid that i will loose some data by doing it this way.
Regards Jonas
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Jonas A Wetterberg
INET: jonas.a.wetterberg_at_manpower.se
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists --------------------------------------------------------------------To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Fri Nov 16 2001 - 03:00:21 CST
![]() |
![]() |