恢復目錄比控制檔案的優勢

hooca發表於2016-04-05
1)在沒有控制檔案的情況下,RMAN也能知道備份的位置
只要啟動到nomount狀態,就可以執行list backupset summary來檢視備份位置。

2)顯示資料檔案的歷史結構
執行report schema at,示例:

點選(此處)摺疊或開啟

  1. #顯示20分鐘前的物理結構
  2. RMAN> REPORT SCHEMA AT TIME 'sysdate-20/1440';

  3. Report of database schema for database with db_unique_name PROD
     
    List of Permanent Datafiles
    ===========================
    File Size(MB) Tablespace           RB segs Datafile Name
    ---- -------- -------------------- ------- ------------------------
    1    450      SYSTEM               YES     /disk1/oradata/prod/system01.dbf
    2    197      SYSAUX               YES     /disk1/oradata/prod/sysaux01.dbf
    3    20       UNDOTBS              YES     /disk1/oradata/prod/undotbs01.dbf
    4    10       CWMLITE              YES     /disk1/oradata/prod/cwmlite01.dbf
    5    10       DRSYS                YES     /disk1/oradata/prod/drsys01.dbf
    6    10       EXAMPLE              YES     /disk1/oradata/prod/example01.dbf
    7    10       INDX                 YES     /disk1/oradata/prod/indx01.dbf
    8    10       TOOLS                YES     /disk1/oradata/prod/tools01.dbf
    9    10       USERS                YES     /disk1/oradata/prod/users01.dbf
     
    List of Temporary Files
    =======================
    File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
    ---- -------- -------------------- ----------- --------------------
    1    40       TEMP                 32767       /disk1/oradata/prod/temp01.dbf

3)在恢復目錄中建立儲存RMAN指令碼

點選(此處)摺疊或開啟

  1. create script recover_controlfile {
  2. startup force nomount;
  3. restore controlfile;
  4. mount database;
  5. recover database;
  6. alter database open resetlogs;
  7. }

  8. #或者通過本地檔案建立指令碼
  9. create scirpt backup_db from file '/home/oracle/backup.rman';
以上建立的是本地指令碼,只能在當前目標資料庫上執行;也可以通過create global script建立全域性指令碼,將可以在所有已註冊的資料庫上執行。

檢視指令碼

點選(此處)摺疊或開啟

  1. #列出所有指令碼
  2. list script names;
  3. list global script names;

  4. #檢視指令碼內容
  5. print script backup_db;
  6. print global script backup_db;
執行指令碼

點選(此處)摺疊或開啟

  1. run { execute script recover_controlfile };
  2. run { execute global script recover_controlfile };
4)通過reset database恢復到以前的化身。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-2075408/,如需轉載,請註明出處,否則將追究法律責任。

相關文章