RMAN命令詳解和經常使用匯總

RMAN命令詳解和經常使用匯總
轉摘聚集,往後使用
本文連接:https://blog.csdn.net/EVISWANG/article/details/50448370
http://blog.itpub.net/25904686/viewspace-742701/
https://blog.csdn.net/zq9017197/article/details/6869579
https://www.cnblogs.com/polestar/archive/2013/02/06/2902598.html
--HQ_顯示RMAN備份信息及日誌
http://blog.itpub.net/30126024/viewspace-2128114/html

【輸出日誌】
[oracle@tiger script]$ cat rman_db.sh
exportORACLE_HOME=/u01/oracle/product/11.2.0.4
export ORACLE_SID=TIGER
rman target / cmdfile=/u01/rman/script/rman_db.rcv msglog=/u01/rman/script/rman_full_`date+%Y-%m-%d`.log
[oracle@tiger script]$算法

【Catalog】
一、註冊副本
catalog datafilecopy 'c:\user01.bak';
二、註冊備份片
catalog backuppiece 'c:\demo_10.dbf' ;
三、註冊特定目錄的全部備份文件
catalog start with 'c:\bak';
四、註銷備份記錄
change datafilecopy 'c:\user01.bak' uncatalog;
change controlfilecopy 'c:\demo.ctl' uncatalog;
change backuppiece 'c:\demo_10.bak' uncatalog;
五、註冊歸檔日誌
catalog archivelog '/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423';
cataloged archived log
archived log file name=/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423 RECID=9578 STAMP=900068071數據庫

【Crosscheck】
crosscheck backup 覈對全部備份集;
crosscheck backup of database 覈對全部數據文件的備份集;
crosscheck backup of tablespace users 覈對特定表空間的備份集;
crosscheck backup of datafile 4 覈對特定數據文件的備份集;
crosscheck backup of controlfile 覈對控制文件的備份集;
crosscheck backup of spfile 覈對SPFILE的備份集;
crosscheck backup of archivelog sequence 3 覈對歸檔日誌的備份集;
crosscheck copy 覈對全部映像副本;
crosscheck copy of database 覈對全部數據文件的映像副本;
crosscheck copy of tablespace users 覈對特定表空間的映像副本;
crosscheck copy of datafile 6 覈對特定數據文件的映像副本;
crosscheck copy of archivelog sequence 4 覈對歸檔日誌的映像副本;
crosscheck copy 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;安全

expired: 對象不存在於磁盤或磁帶。當一個備份集處於expired狀態,則該備份集中全部的備份片一樣處於expired狀態
available: 對象處於可用狀態。當一個備份集可用,則該備份集內的全部備份片一樣可用
unavailabe: 對象處於不可用狀態。當一個備份集不可用,則該備份集內的全部備份片一樣不可用
注:expired不等同於obsolette。二者的差別請參考:文檔服務器

【Delete】
一、刪除陳舊備份
delete obsolete; #提示
delete noprompt obsolete; #不提示
二、刪除EXPIRED備份集
delete noprompt expired backup;
三、刪除EXPIRED副本
delete noprompt expired copy ;
四、刪除特定備份集
delete noprompt backupset 19;
五、刪除特定備份片
delete noprompt backuppiece 'c:\test\demo1.bak';
六、刪除全部備份集
delete noprompt backup ; 或者
delete noprompt backupset;
七、刪除特定映像副本
delete noprompt datafilecopy 'c:\test\demo.bak'; 刪除數據文件
delete noprompt controlfilecopy 'c:\test\controlfile_bak.ctl'; 刪除控制文件
delete noprompt archivelog 'c:\test\arc.bak'; 刪除歸檔日誌
delete noprompt ?force archivelog all completed before 'sysdate - 7';
八、刪除全部映像副本
delete noprompt copy;
九、在備份後刪除輸入對象
backup archivelog all delete input ;
backup backupset 22 format='c:\test\%u.bak' delete input ;
十、delete expired archivelog all;就是同步控制文件的信息和實際物理文件的信息。oracle

【Report】
RMAN> report schema 報告目標數據庫的物理結構;
RMAN> report need backup days=3; 報告最近3天沒有被備份的數據文件;
RMAN> report need backup days 3 tablespace users; 在USERS表空間上3天未備份的數據文件;
RMAN> report need backup incremental 3; 報告恢復數據文件須要的增量備份個數超過3次的數據文件;
RMAN> report need backup redundancy 2 database; 報告備份文件低於2份的全部數據文件;
RMAN> report need backup redundancy=2;
RMAN> report need backup recovery window of 6 days; 報告文件報表的恢復須要超過6天的歸檔日誌的數據文件;
RMAN> report unrecoverable; 報告數據庫全部不可恢復的數據文件;
RMAN> report obsolete redunndancy 2; 報告備份次數超過2次的陳舊備份;
RMAN> report obsolete; 報告多餘的備份;app

【List】
列出數據文件備份集
RMAN> list backup 列出詳細備份;
RMAN> list expired backup; 列出過時備份;
RMAN> list backup of database; 列出全部數據文件的備份集;
RMAN> list backup of tablespace user01; 列出特定表空間的全部數據文件備份集;
RMAN> list backup of controlfile 列出控制文件備份集;
RMAN> list backup of archivelog all 列出歸檔日誌備份集詳細信息;
RMAN> list archivelog all;      列出歸檔日誌備份集簡要信息
RMAN> list backup of spfile 列出SPFILE備份集;
RMAN> list copy of datafile 5 列出數據文件映像副本;
RMAN> list copy of controlfile 列出控制文件映像副本;
RMAN> list copy of archivelog all 列出歸檔日誌映像副本;
RMAN> list incarnation of database 列出對應物/列出數據庫副本;
RMAN> list backup summary; 概述可用的備份;優化

RMAN> list backup of datafile { n | <dir>}
RMAN> list copy of archive from time = 'sysdate - 7';
RMAN> list backup of archivelog from sequence 1000 until sequence 1020;
RMAN> list backupset tag=TAG20101014T155753;
表示backup
表示FULL
表示archive log
表示incremental backup
說明備份狀態(A AVAILABLE   X EXPIRED )
MAN> list backup by file 按備份類型列出備份;
按照數據文件備份,歸檔日誌備份,控制文件備份,服務器參數文件備份 列出加密

【Show】
RMAN> show all;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SNCFORCL.ORA'; # default

RMAN configuration parameters for database with db_unique_name PRODS are:
註釋:#default表示該配置仍然是初始的默認值。回到默認配置configure..clear。
1.CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
是用來決定那些備份再也不須要了,它一共有三種可選項,分別是
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
CONFIGURE RETENTION POLICY TO NONE;
第一種recover window是保持全部足夠的備份,能夠將數據庫系統恢復到最近七天內的任意時刻。任何超過最近七天的數據庫備份將被標記爲obsolete。
第二種redundancy 是爲了保持能夠恢復的最新的5份數據庫備份,任何超過最新5份的備份都將被標記爲redundancy。它的默認值是1份。
第三種不須要保持策略,clear將恢復回默認的保持策略。
通常最安全的方法是採用第二種保持策略
其中前兩種是互斥關係

2.CONFIGURE BACKUP OPTIMIZATION OFF; # default
默認值爲關閉,若是打開,rman將對備份的數據文件及歸檔等文件進行一種優化的算法。
理論上,備份優化僅對於只讀表空間或offline表空間起做用。固然,對於已經備份過的歸檔日誌文件也會跳過。

3.CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
是指定全部I/O操做的設備類型是硬盤或者磁帶,默認值是硬盤DISK
磁帶的設置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;

4.CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
強制數據庫在備份文件或者執行改變數據庫結構的命令以後將控制文件自動備份,默認值爲關閉。這樣能夠避免控制文件和catalog丟失後,控制文件仍然能夠恢復。
當autobackup設置爲on時,rman作任何備份操做,都會自動對控制文件進行備份。spa

5.CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
是配置控制文件的備份路徑和備份格式
好比:configure controlfile autobackup format for device type disk to 'e:\backupcontrol\%F'

6.CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
配置數據庫設備類型的並行度。並行度決定通道數。

7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是配置數據庫的每次備份的copy數量,oracle的每一次備份均可以有多份徹底相同的拷貝。
是否啓動複合備份,向指定的i/o設備中指定的位置生成指定的份數。缺省爲1.
這個配置僅用於數據文件和歸檔文件,而且,只有在自動分配通道時纔會生效!

8.CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是設置數據庫的歸檔日誌的存放設備類型

9.CONFIGURE MAXSETSIZE TO UNLIMITED; # default
備份集大小 maxsetsize
configure maxsetsize to 1G|1000M|1000000K|unlimited;
configure maxsetsize clear;
配置備份集的大小。通常是配置maxpiecesize,對備份片進行限制。

10.CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
配置加密備份集。能夠具體到某個表空間:
configure encryption for tablespace users on;
若是咱們執行set encryption on indentified by think only,緊接其後所建立的備份就須要該密碼才能進行正常的恢復

11.CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
指定加密算法,還有一個是 ‘AES256'

12.CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
13.CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
指定歸檔文件的刪除策略,缺省是none,即:歸檔備份完以後就能夠被刪除
可是,在DG環境,DBA要保證歸檔文件在standby端成功接收而且應用以前,primary端始終保存該文件
so,DG環境當設爲:applied on standby
14.CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/CCBPROD/oracle/product/11.2.0.4/dbs/snapcf_PROD.f'; # default
配置控制文件的快照文件的存放路徑和文件名,這個快照文件是在備份期間產生的,用於控制文件的讀一致性
另外,CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];此命令用於將指定的表空間不備份到備份集中, 此命令對只讀表空間是很是有用的。

15.CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';
是配置備份文件的備份路徑和備份格式
CONFIGURE CHANNEL DISK CLEAR;用於清除上面的信道配置
CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];此命令用於將指定的表空間不備份到備份集中, 此命令對只讀表空間是很是有用的。
1.將備份文件存儲到指定路徑,如e:\backupb
configure channel device type disk format 'e:\backupb\%d_db_%u';
後面的%d_db_%u是存儲格式
2.咱們也能夠單獨指定control file存儲在另外一個路徑:如e:\backupcontrol
configure controlfile autobackup format for device type disk to 'e:\backupcontrol\%F';
後面的%F是存儲格式


進入RMAN:
$ rman target sys/oracle@orcl?? --遠程鏈接到rman
$ rman target sys/oracle@orcl @backup_db.ram?? --遠程鏈接到rman並執行指定腳本
$ rman target sys/oracle@orcl cmdfile=backup_db.ram?? --遠程鏈接到rman並執行指定腳本
$ rman target / log rman.log?? --記錄rman的輸出
RMAN> @backup_db.ram?? --rman裏面執行腳本
或者
/u01/oracle/product/10/u01/oracle/product/10.2.0/bin/rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

備份命令:
RMAN> backup database format '.../%d_%U';?? --備份數據庫並指定備份路徑
RMAN> backup database;?? --備份數據庫
RMAN> backup database include current controlfile plus archivelog delete all input;? --備份數據文件、控制文件、歸檔日誌
RMAN> backup incremental level 0 database;?? --差別增量備份數據庫
RMAN> backup incremental level 0 cumulative database;?? --累積增量備份數據庫
RMAN> backup as compressed backupset database;?? --壓縮備份數據庫
RMAN> backup database include current controlfile;?? --備份數據庫並備份控制文件
RMAN> backup tablespace users;?? --備份表空間
RMAN> backup datafile n;?? --備份數據文件
RMAN> backup datafiel '/opt/oracle/oradata/orcl/users01.dbf';?? --備份數據文件
RMAN> backup current controlfile;?? --備份控制文件
RMAN> backup current controlfile plus archivelog;?? --備份控制文件並歸檔而後備份歸檔日誌
RMAN> backup archivelog all;?? --備份歸檔日誌
RMAN> backup archivelog all delete all input;?? --備份歸檔日誌並刪除
RMAN> backup spfile;?? --備份參數文件
RMAN> backup backupset all;?? --備份所有備份集
RMAN> backup backupset n;?? --備份指定備份集

還原、恢復命令:
RMAN> restore database;?? --還原數據庫
RMAN> restore tablespace users;?? --還原表空間
RMAN> restore datafile n;?? --還原數據文件
RMAN> restore archivelog sequence between 10 and 20;?? --還原歸檔日誌
RMAN> restore controlfile from autobackup;?? --還原控制文件
RMAN> restore spfile to '/tmp/spfile.ora' from autobackup;?? --還原參數文件
RMAN> recover database;?? --恢復數據庫
RMAN> recover tablespace users;?? --恢復表空間
RMAN> recover datafile n;?? --恢復數據文件
RMAN> restore validate database;????? --驗證數據庫可恢復性
RMAN> restore validate controlfile;?? --驗證控制文件可恢復性
RMAN> restore validate spfile;??????? --驗證參數文件可恢復性

查看備份集命令:
RMAN> list backup;?? --列出數據庫中全部的備份集
RMAN> list backup of database;?? --查看數據庫備份集
RMAN> list backup of tablespace users;?? --查看錶空間備份集
RMAN> list backup of datafile n;?? --查看備份的數據文件
RMAN> list backup of controlfile;?? --查看控制文件備份集
RMAN> list backup of archivelog all;?? --查看歸檔日誌備份集
RMAN> list archivelog all;?? --查看當前全部歸檔日誌
RMAN>?list expired backup;?? --列出全部無效備份

管理備份集命令:RMAN> crosscheck backup;?? --檢查全部備份集RMAN> crosscheck archivelog all;?? --檢查全部歸檔文件RMAN> delete [noprompt] obsolete;?? --刪除過時備份RMAN> delete expired backup;?? --刪除無效備份RMAN> delete expired archivelog all;? --刪除全部無效歸檔文件RMAN> delete backupset 1;?? --刪除指定備份RMAN> delete backup;?? --刪除全部備份RMAN> change backupset 3 unavailable;?? --更改備份集3爲無效RMAN> change backupset 3 available;???? --更改備份集3爲有效RMAN> change backup of controlfile unavailable;?? --更改控制文件爲無效RMAN> change backup of controlfile available;???? --更改控制文件爲有效RMAN> report schema;?? --查看數據庫備份結構RMAN> report need backup;?? --查看因此須要備份的文件RMAN> report need backup tablespace system;?? --查看指定表空間是否須要備份RMAN> report obsolete;?? --查看過時備份

相關文章
相關標籤/搜索