More or less forced 😉 by the procedures discussed in my last post (Rman duplicating an oracle 11g database in active state on the same host), this post will investigate how to verify and fix data corruption induced by RMan trying to restore nologging objects. Indeed, we know, there’s no actual restore of nologging objects, since there’s no cold or hot redo to process. But what does this mean in practice? Me, I learned now. Let’s have a look.
Ok, there’re some (partitioned) tables in the database duplicated, previous post, that for performance reasons (see : Oracle global temp tabs or nologgingappend saved redo in numbers) have been set nologging. I won’t explain the why here, that’s another subject, but, however, the first post-duplicate database backup showed up with block corruption errors in Quest’s Backup Reporter for Oracle Community. I today examined the overall database integrity status with a rman validate
, verified the affected tablespace, but rman list failures
, asking Data Recovery Advisor under the covers, did not seem to be up to complain about anything. We see that 10 blocks have been marked corrupt but the file check status is ok though.
RMAN> validate check logical database; Starting validate at 22.07.2016-08:55:54 allocated channel: ORA_DISK_1 ... File Status Marked Corrupt Empty Blocks Blocks Examined High SCN ---- ------ -------------- ------------ --------------- ---------- 31 OK 10 58357 557056 8784584429990 File Name: H:\ORACLE\SAN_4\ORADATA\UTL_01.DBF Block Type Blocks Failing Blocks Processed ---------- -------------- ---------------- Data 0 265313 Index 0 223903 Other 0 9483 ... File Type Status Blocks Failing Blocks Examined ------------ ------ -------------- --------------- SPFILE OK 0 2 Control File OK 0 778 Finished validate at 22.07.2016-08:59:46 RMAN> list failure all; no failures found that match specification