This content has been marked as final. Show 2 replies
user12033597 wrote:A datafile or tablespace are set to unrecoverable if any operation that had been performed (since the last backup taken on these datafiles) on datafile or tablespace that are unrecoverable.
I am readin g a book on rman (rman recipes 11g from APress).
I m not able to understand what is the purpose of "report unrecoverable" command. Book says:
You want to identify which datafiles have been affected by unrecoverable operations, since RMAN needs to back up those files as soon as possible after you perform an unrecoverable operation.
Use the report unrecoverable command to find out which datafiles in the database have been marked unrecoverable because they’re part of an unrecoverable operation. Here’s an example showing how to use the report unrecoverable command:
RMAN> report unrecoverable; Report of files that need backup due to unrecoverable operations File Type of Backup Required Name ----- --------------- ---------------------------------------- 1 full /u01/app/oracle/data/prod1/example01.dbf RMAN>
A little explanation:
When ever a operation occurs on database i.e. any dml occurs on tables, these operation generates REDO information in redolog files. So when someone explicitly disable the logging information to redologfile(by hint no_logging), then datafile is marked as unrecoverable.
Oracle says it unrecoverable because oracle cannot perform recovery by reading from redologfile or archivefiles if datafile crashes and need a recovery. Thats why rman warns you about such operation which could have taken place and point you to datafile which had these operation performed. The operations which are unrecoverable are:
1) direct load/SQL load
2) direct-path inserts result from insert or merge statement
3) ALTER TABLE commands
4) CREATE and ALTER INDEX commands
5) INSERT /*+APPEND*/
6) partition manipulation
7) database object that has explicitly set with nologging option
8) Oracle eBusiness Suite concurrent job execution identified in Oracle metalink note: 216211.1
8) Oracle eBusiness Suite patches activities that involve database object manipulation
9) SQL*loader with nologging
So once you take the full backup of datafiles (which are affected by these operation) will clearout the Unrecoverable warning. Because now oracle has the backup of these files.
What preventions you can take for not making datafile to Unrecoverable?
Hope this help you in understanding
Thanks for detailed explanation. So this is all to do with "logging".