Oracle RMAN 的 show,list,crosscheck,delete命令整理

來源:互聯網
上載者:User
1、SHOW命令:
   顯示rman配置: RMAN> show all;

2、REPORT命令:
   2.1、RMAN> report schema                        報告目標資料庫的物理結構;
   2.2、RMAN>report need backup days=3;            報告最近3天沒有被備份的資料檔案;
   2.3、RMAN> report need backup days 3 tablespace users;   在USERS資料表空間上3天未備份的資料檔案;
   2.4、RMAN> report need backup incremental 3;    報告恢複資料檔案需要的增量備份個數超過3次的資料檔案;
   2.5、RMAN> report need backup redundancy 2 database;           報告備份檔案低於2份的所有資料檔案;
        RMAN>report need backup redundancy=2;
   2.6、RMAN> report need backup recovery window of 6 days;    報告檔案報表的恢複需要超過6天的歸檔日誌的資料檔案;
   2.7、RMAN> report unrecoverable;      報告資料庫所有不可恢複的資料檔案;
   2.8、RMAN> report obsolete redunndancy 2; 報告備份次數超過2次的陳舊備份;
   2.9、RMAN>report obsolete;          報告多餘的備份;

3、LIST命令:列出備份資訊
   3.1、列出資料檔案備份組
        RMAN>list backup         列出詳細備份;
        RMAN>list expired backup     列出到期備份;
        RMAN> list backup of database;     列出所有資料檔案的備份組;
        RMAN> list backup of tablespace user01; 列出特定資料表空間的所有資料檔案備份組;
   3.2、RMAN> list backup of controlfile     列出控制檔案備份集;
   3.3、RMAN> list backup of archivelog all      列出歸檔記錄備份集詳細資料;
        RMAN>list archivelog all;      列出歸檔記錄備份集簡要資訊
   3.4、RMAN> list backup of spfile              列出SPFILE備份組;
   3.5、RMAN> list copy of datafile 5        列出資料檔案映像副本;
   3.6、RMAN> list copy of controlfile           列出控制檔案映像副本;
   3.7、RMAN> list copy of archivelog all    列出歸檔日誌映像副本;
   3.8、RMAN> list incarnation of database       列出對應物/列出資料庫副本;
   3.9、RMAN>list backup summary;    概述可用的備份;
                B表示backup
                F表示FULL
                A表示archive log
                0 1表示incremental backup
                S說明備份狀態(A AVAILABLE   X EXPIRED )
     
   3.10、RMAN>list backup by file    按備份類型列出備份;
                    按照資料檔案備份,歸檔記錄備份,控制檔案備份,伺服器參數檔案備份 列出

4、CROSSCHECK命令:校正備份資訊
   4.1、RMAN> crosscheck backup             核對所有備份組;   
   4.2、RMAN> crosscheck backup of database      核對所有資料檔案的備份組;   
   4.3、RMAN> crosscheck backup of tablespace users      核對特定資料表空間的備份組;   
   4.4、RMAN> crosscheck backup of datafile 4    核對特定資料檔案的備份組;   
   4.5、RMAN> crosscheck backup of controlfile   核對控制檔案的備份組;   
   4.6、RMAN> crosscheck backup of spfile    核對SPFILE的備份組;   
   4.7、RMAN> crosscheck backup of archivelog sequence 3 核對歸檔日誌的備份組;   
   4.8、RMAN> crosscheck copy               核對所有映像副本;   
   4.9、RMAN> crosscheck copy of database       核對所有資料檔案的映像副本;   
   4.10、RMAN> crosscheck copy of tablespace users       核對特定資料表空間的映像副本;   
   4.11、RMAN> crosscheck copy of datafile 6        核對特定資料檔案的映像副本;   
   4.12、RMAN> crosscheck copy of archivelog sequence 4  核對歸檔日誌的映像副本;   
   4.13、RMAN> crosscheck copy of controlfile       核對控制檔案的映像副本;  
   4.14、RMAN> crosscheck backup tag='SAT_BACKUP';
   4.15、RMAN> crosscheck backup completed after 'sysdate - 2'
   4.16、RMAN> crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
   4.17、RMAN> crosscheck backup device type sBT;
   4.18、RMAN> crosscheck archivelog all;
   4.19、RMAN> crosscheck archivelog like '%ARC00012.001'
   4.20、RMAN> crosscheck archivelog from sequence 12;
   4.21、RMAN> crosscheck archivelog until sequence 522;

5、DELETE:刪除備份
   5.1、RMAN> delete obsolete;      刪除陳舊備份;
   5.2、RMAN> delete expired backup; 刪除EXPIRED備份     
   5.3、RMAN> delete expired copy;   刪除EXPIRED副本;
   5.4、RMAN> delete backupset 19;   刪除特定備份組;
   5.5、RMAN> delete backuppiece ''d:/backup/DEMO_19.bak''   刪除特定備份片;
   5.6、RMAN> delete backup      刪除所有備份組;
   5.7、RMAN> delete datafilecopy ''d:/backup/DEMO_19.bak''  刪除特定映像副本;
   5.8、RMAN> delete copy   刪除所有映像副本;
   5.9、RMAN> backup archivelog all delete input;
       RMAN> backup backupset 22 format = ''d:/backup/%u.bak'' delete input
                       在備份後刪除輸入對象;
   5.10、RMAN> delete backupset id; 刪除備份組-------------------------------------------------------------------------------------------------------------RMAN 的list 命令
  
  1 列出對應物  RMAN>list incarnation;
  
  2 列出備份
  
  2.1概述可用的備份    RMAN>list backup summary;
               B 表示 backup

 

               F 表示 FULL
               A 表示 archive log                 0 1 表示 incremental backup
               S 說明備份狀態 (A AVAILABLE   X EXPIRED )
  
  2.2按備份類型列出備份  RMAN>list backup by file;
               按照 資料檔案備份,歸檔記錄備份,控制檔案備份,伺服器參數檔案備份 列出
  
  2.3列出詳細備份     RMAN>list backup;
  
  2.4列出到期備份     RMAN>list expired backup;
  
  2.5列出資料表空間和資料檔案備份
              list backup of tablespace 和list backup of datafile 輸出和list backup 相似
               如:list backup of tablespace user_tbs;
                 list backup of datafile 3;
  
  2.6列出歸檔記錄備份   RMAN>list archivelog all;      簡要資訊
    RMAN>list backup of archivelog all; 詳細資料
  
  2.7列出控制檔案和伺服器參數檔案
               RMAN>list backup of controfile;
               RMAN>list backup of spfile;
  
  =====================================================
  =====================================================
  RMAN 的 report命令
  
  1. 報告最近沒有被備份的資料檔案
    RMAN>report need backup days=3;
   
  2. 報告備份冗餘或恢複視窗
    RMAN>report need backup redundancy=2;
    RMAN>report need backup recovery window of 2 days;
   
  3. 報告資料檔案的不可恢複操作
    RMAN>report unrecoverable;
  
  4. 報告資料庫模式
    RMAN>report schema;
   
  5. 報告丟棄的備份
    如果使用了儲存策略,備份會標記為丟棄狀態  RMAN>report obsolete; 刪除丟棄狀態備份RMAN>delete obsolete;
  
  =====================================================
  =====================================================
  RMAN的crosscheck 命令
  
  1 備份組有兩種狀態A(Available,RMAN認為該項存在於備份介質上)X(Expired,備份存在於控制檔案或恢複目錄中,但是並沒有物理存在於備份介質上)
   
  2 crosscheck 的目的是檢查RMAN 的目錄以及物理檔案,如果物理檔案不存在於介質上,將標記為Expired。如果物理檔案存在,將維持Available。如果原先標記為Expired的備份組再次存在於備份介質上(如恢複了損壞的磁碟機後),crosscheck將把狀態重新從Expired標記回Available。
  
  3 crosscheck 輸出分兩部分。第一部分列出確定存在於備份介質上的所有備份組片,第二部分列出不存在於備份介質上的備份組片,並將其標記為Expired。當設定備份儲存策略後,一個備份到期,crosscheck之後標記為丟棄的備份狀態依舊為availabel,要刪除丟棄備份delete obsolete。
  
  4 樣本:
   crosscheck backup
   crosscheck backup of datafile 1;
   crosscheck backup of tablespace users;
   crosscheck backup of controfile;
   crosscheck backup of controlfile;
   crosscheck backup tag='SAT_BACKUP';
   crosscheck backup completed after 'sysdate - 2'
   crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
   crosscheck backup device type sbt;
   crosscheck archivelog all;
   crosscheck archivelog like '%ARC00012.001'
   crosscheck archivelog from sequence 12;
   crosscheck archivelog until sequence 522;
  
  =====================================================
  =====================================================
  RMAN 的validate 命令
  
  1 validate 命令驗證備份組片是否能夠被還原
  
  2 list backup summary; 得到了備份組得主鍵ID如40,然後validate backupset 40;
  =====================================================
  =====================================================
  RMAN 的備份儲存策略以及change ,delete命令
  
  0.帶delete參數的change 命令刪除備份組,從備份介質,並且從控制檔案和恢複目錄中刪除。
   change backupset 117,118 delete;
   change backuppiece 1304 delete;
   change archivelog until logseq =544 delete;
  
  1.兩類策略:恢複視窗備份儲存策略(recovery windows backup retension policy) 基於時間
        備份冗餘備份儲存策略(backup redundancy backup retension policy) 基於備份的數量
  
   兩類策略互斥
   
  2.即使使用了備份儲存策略,備份到期並不刪除,只是在RMAN目錄中標記為丟棄,看到的狀態依舊為available;
   要查看標記為丟棄的備份 report obsolete,只有使用delete obsolete才真正物理刪除。
  
  3.configure retension policy to recovery window of 7 days;
   configure retension policy to redundancy 3;
   顯示結果 show all;
   
  4.查看到期丟棄的備份時,可能需要手工儲存一些備份 ,可以使用change 命令帶keep 參數,使用這個命令後,那些被修改的備份將被認為是個long-term backup,不在受儲存策略影響也就是說delete obsolete 也不刪除。
  
  5.要使備份時候不受儲存策略影響 ,使用帶keep參數的backup 命令
   backup database keep forever;
   backup database keep 5 days;
  
  6.change 命令功能
  
    可以修改備份為永久儲存並將以及該備份的相關的日誌儲存下來,保證總能將備份恢複到目前時間點
    change backupset 31 keep forever logs;
    可以設定備份丟棄的新日期 ,將備份在多儲存7 天,7 天后將刪除
    change backupset 32 keep until time 'sysdata + 7' logs;
  
  7.change 可以將備份組設定為unavailable
    change backupset 33 unavailable;
    標記為unavailable狀態的備份組並不參與crosscheck;
  =====================================================
  =====================================================
  恢複目錄的記錄刪除
  
  1. $ORACLE_HOME/rdbms/admin/prgrmanc.sql 指令碼定期刪除恢複目錄中具有DELETED狀態的記錄
  
  2. 要刪除舊的對應物記錄incarnation.必須從DBINC 表中刪除這些對應物,使用RC_DATABASE_INCARNATION 視圖來確定要刪除的對應物。記錄要刪除的每個對應物的DBINC_KEY
    隨後啟動SQL*Plus,執行delete from dbinc where dbinc_key=2;
  =====================================================
  =====================================================
  手工同步恢複目錄
  
  resync catalog;
  
  Oracle同步恢複目錄的時候,首先建立快照控制檔案,然後比較這個檔案和恢複目錄,完成後,Oracle 更新恢複目錄,使恢複目錄和控制檔案同步
  =====================================================
  =====================================================
  在RMAN 中儲存指令碼
  
  1,串連到目標資料庫和恢複目錄
    rman target / catalog rman/rman@rman9i
   
  2,建立指令碼
    RMAN>create script my_bk_script
    2>{backup database plus archivelog;}
     create script my_bk_script
    
  3,列印指令碼
   RMAN>print script my_bk_script;
   printing stored scipt:my_bk_script
   {backup database plus archivelog;}
   
  4,運行這個指令碼,備份目標資料庫
   RMAN>run {execute scipt my_bk_script;}
   
  5 刪除指令碼
   RMAN>delete script my_bk_script;
  =====================================================
  =====================================================
  archivelog模式下的完全恢複
  
  step1:set oracle_sid=recover
      rman target rman_backup/password
      configure controlfile autobackup on;
      
  step2:backup database plus archivelog delete input;
  
  step3:shutdown immediate;
  
  step4:重新命名所有的資料檔案和控制檔案,不重新命名聯機重做日誌。
  
  step5: startup nomount;
      set DBID=****
      restore controlfile from autobackup;
      alter database mount;
     
  step6: restore database;
      recover database;
      alter database open resetlogs;
  
  資料表空間恢複
  
  sql"alter tablespace users offline";
  sql"alter tablespace tools offline";
  restore tablespace users,tools;
  recover tablespace users,tools;
  sql"alter tablespace users online";
  sql"alter tablespace tools online";
  
  資料檔案恢複
  
  sql"alter database datafile 3 offline";
  sql"alter database datafile 'd:oracleoradatausers01.dbf' offline";
  restore datafile 3
  restore datafile 'd:oracleoradatausers01.dbf';
  recover datafile 3
  recover datafile 'd:oracleoradatausers01.dbf';
  sql"alter database datafile 3 online";
  sql"alter database datafile 'd:oracleoradatausers01.dbf'online";
  
  =====================================================
  =====================================================
  切換當前的incarnation 回到resetlogs 前RESET DATABASE TO INCARNATION inc_key
  
  =====================================================
  =====================================================
  
  RMAN 進階恢複
  
  1 基於時間點的恢複
  run
  {
  set until time "to_date('07/01/02 15:00:00','mm/dd/yy hh24:mi:ss')"'
  restore database;
  recover database;
  alter database open resetlogs;
  }
  
  2 基於SCN 的恢複
  startup mount;
  restore database UNTIL SCN 10000;
  recover database UNTIL SCN 10000;
  alter database open resetlogs;
  
  3 基於日誌序列的恢複
  startup mount;
  restore database UNTIL SEQUENCE 100 thread 1;
  recover database UNTIL SEQUENCE 100 thread 1;
  alter database open resetlogs;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.