backup and restore tips
轉自:http://blog.csdn.net/managergh/archive/2007/03/06/1521944.aspx1 列出對應物
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 )[@more@]
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 controlfile;
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;
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 )[@more@]
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 controlfile;
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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14377/viewspace-1059850/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server Backup & RestoreSQLServerREST
- TFS Express backup and restoreExpressREST
- Cold backup and restore the entire databaseRESTDatabase
- DBMS_BACKUP_RESTORE.DBMS_BACKUP_RESTORE用於特殊情況下的恢復REST
- read only tablespace backup restoreREST
- 轉貼_RMAN-DBMS_BACKUP_RESTOREREST
- db2備份恢復(backup restore)DB2REST
- How to restore and recover a database from an RMAN backup_881395.1RESTDatabase
- Manually Backup - Restore or Clone a Database to Another Node [ID 562556.1]RESTDatabase
- 使用RMAN backup和restore方式部署物理備庫REST
- 備份恢復統計資訊 backup and restore statsREST
- 11g asm md_backup md_restoreASMREST
- 通過dbms_backup_restore修改oracle的dbidRESTOracle
- 【ASM】ASMCMD 之md_backup,md_restore介紹ASMREST
- RMAN-06100: no channel to restore a backup or copy of datafileREST
- cdc目標端資料庫初始化(backup restore)資料庫REST
- 使用dbms_backup_restore進行資料庫恢復REST資料庫
- RMAN-06023 no backup or copy of datafile 1 found to restoreREST
- You may fail to backup log or restore log after TDE certification/key rotation.AIREST
- 【MOS】How to backup or restore OLR in 11.2/12c Grid InfrastructureRESTASTStruct
- backup or restore OLR in 11.2 Grid Infrastructure (Doc ID 1193643.1)RESTASTStruct
- ORA-19550: cannot use backup/restore functions while using dispatcherRESTFunctionWhile
- RMAN : Consistent Backup, Restore and Recovery using RMAN (Doc ID 162855.1)REST
- DBMS_BACKUP_RESTORE用於特殊情況下的恢復REST
- [20190228]Backup Restore Throttle sleep.txtREST
- DBMS_BACKUP_RESTORE用於特殊情況下的恢復(轉)REST
- PL/SQL package SYS.DBMS_BACKUP_RESTORE version 19.16.00.00 in TARGET database isSQLPackageRESTDatabase
- Oracle rac使用nid和dbms_backup_restore包修改dbid和dbnameOracleREST
- 使用DBMS_BACKUP_RESTORE來還原控制檔案和資料檔案REST
- java-console(NetBackup-Java )只能訪問 “ (Backup, Archive, and Restore)”JavaHiveREST
- 應對 "RMAN-06023: no backup or copy of datafile 1 found to restore"錯誤REST
- oracle 11gR2 asmcmd 工具增加md_backup和md_restore命令OracleASMREST
- 20151101使用dbms_backup_restore刪除檔案REST
- 應對RMAN-06026錯誤,使用dbms_backup_restore進行恢復REST
- guarantee restore points-Flashback after RMAN restoreREST
- 由某公司案例進一步掌握rman備份與恢復backup restore recovery系列一REST
- 沒有控制檔案怎麼恢復資料庫dbms_backup_restore包 英文文件資料庫REST
- dbms_backup_restore恢復測試!nocatalog,丟失controlfile的恢復辦法!REST