2 Replies Latest reply: Apr 3, 2012 10:19 AM by 912595 RSS

    rman - "report unrecoverable" concept

    837193
      Hi

      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:

      >
      Ref: Section 8.3 - page# 229:
      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>
      Could someone please give example of unrecoverable operation(s)? And how could rman/oracle know before hand if such an unrecoverable operation is going to be performed on certain datafile(s)?

      Thanks
        • 1. Re: rman - "report unrecoverable" concept
          912595
          user12033597 wrote:
          Hi

          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:
          Ref: Section 8.3 - page# 229:
          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>
          Could someone please give example of unrecoverable operation(s)? And how could rman/oracle know before hand if such an unrecoverable operation is going to be performed on certain datafile(s)?

          Thanks
          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.
          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?
          Use force_logging

          Also see
          http://www.pythian.com/news/7401/oracle-what-is-an-unrecoverable-data-file/
          Hope this help you in understanding
          • 2. Re: rman - "report unrecoverable" concept
            837193
            Thanks for detailed explanation. So this is all to do with "logging".

            Thanks again!