Showing posts with label oracle block corruption. Show all posts
Showing posts with label oracle block corruption. Show all posts

Oct 30, 2010

Investigation of Oracle datafile corruption

We were suspecting some corruption in a data file. Here is a few quick things to be remembered to check the thing quickly and making sure everything was alright -


1. Using  Oracle DBVERIFY

# dbv file=/oradata2/DATAFILES_INDX_20100318/indx01_01.dbf

The output is like -

DBVERIFY - Verification complete

Total Pages Examined         : 281344
Total Pages Processed (Data) : 217134
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 44048
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 11358
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 8804
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Highest block SCN            : 204553469 (0.204553469)


2. Using dictionary view -

SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;


3. Running queries against the data file (tablespace) - 


I analyze the schema where all the tables were on a single tablespace (and data file) we suspected. If there is any corrupted block, oracle should not be able to read during the process -


execute dbms_stats.gather_schema_stats(ownname => 'ASSISTDB', cascade=>true);


***