Leave a Comment:
17 comments
Rajat,
I have an issue of block corruption with my system tablespace and impacted table is part of sys schema i.e, argument$.
I open a service request with Oracle support and they said they can not help on this as manipulation with sys schema is not allowed and you need backup your data using export and import. I follwed all the steps same like your post also ran the admin repair package but not resolved. As you have very good experience with block experience can you please help me.
ReplyGood one,
Thanks Rajat,
Mohammed Yousuf
Sr.Oracle DBA
IBM, Bangalore.
Hi ,
I am not sure .. As per my knowledge … if system tables get coorupted we need to recover database from Hot backup/cold … But u can try this metallink Doc , that may help u .
Doc ID: Note:68013.1
Rajat,
I resolved the issue today. Thanks for metalink note , I already used that but no help.
I closed my service request.
ReplyHi Rajat
Congratulations for an informative topic on db corruption.
Why does db get corrupted, any specific reasons for it, if yes how could we avoid it in prior.
Thanks in Advance.
Rgds
ReplyHi Rajat
Thanks for giving valuable information
I congratulate to u
Thanks
lakshmikanthan
Geetha M ,
Its happen due to certain reasons some of them are System Memory ,Disk controller (Bad I/O hardware ,RAID controller),Disk Device (Problem with the device driver ).
The best way to resolve those issue is keep the backup updated.
ReplyJust to add, DBV only check for the physical corruptions in the database, not for logical corruptions.
It will detect ora-1578 errors but will not be able to find ora-8103 errors which are due to logical corruption in database.
ReplyHi All,
My taken on this:
Block corruption is while the data is being written to the data blocks, if the write to the block fails abruptly, which means there is a partial write in the block, may be because of power disruption or I/O problem, leaving no time for header to be updated, or row data to be populated, oracle leaves the block corrupt.In case of block corruption you can normally use the database unless you try to read that particular block, against which it shoots up the block corruption error.Generally block corruption occurs if write fails on the block, when the transaction is being committedYou can find detail information about block corruption in alert.log file
block corruption can happens at
1)Physical Level corruption (which means media corrupt)
2)Logical Level corruption (which means soft corrupt)
Physical corruption can be caused by defected memory boards, controllers or broken sectors on a hard disk;
Logical corruption can among other reasons be caused by an attempt to recover through a NOLOGGING action.
To Differetiate between both the corruption levels (logical and physical)
Logical corruption is header – footer – that is one of the checks, yes (it is looking for fractured blocks and when it hits one, it’ll re-read it, that is why there is no need for “alter tablespace begin backup” with rman)
Physical corruption is “we cannot read the block from disk, something is physically preventing us from doing so”
The methods to detect Block corruptions are
1) DBVerify utility
2) Block checking parameters (DB_BLOCK_CHCEKSUM) – In Oracle 10g db_block_checksum value TYPICAL which should be TRUE
and db_block_checking value FULL should be TRUE.
3) ANALYZE TABLE tablename VALIDATE STRUCTURE CASCADE SQL statement
4) RMAN BACKUP command with THE VALIDATE option
Regards
Ramnik Gupta
Good one,
Thanks Rajat,
Mohammed Saleem
Sr Oracle DBA
Sun Microsystems,Chennai
Hi Rajat,
Thanks for this valuable information, its really helpful. You are really good one.
Best of Regards,
Pankaj
Oracle DBA,
Emsang Technology, chennai
Hi rajat sir,
m very thank full to you b’caz of very important topic dbv, m ocp and m searching a oracle dba jobs.. M nt dba bt its very amzing topic and its gud for my knowledge.
Thnx sir for gud topic nd experince.
Thanks to Mr (Rajat and Ramnik) for sharing valuable info
Reply