1、list命令算法
1. List 當前RMAN所備份的數據庫:sql
1.1. list backup summary; --概述可用的備份數據庫
list incarnation;--彙總查詢安全
--若是備份文件多的話多用這兩個list命令能夠對備份文件有個整體瞭解。服務器
B 表示backuporacle
A 表示Archivelog、 F 表示full backup、 0,1,2 表示incremental level備份優化
A 表示可用AVALIABLE、 X 表示EXPIREDspa
這個命令能夠派生出不少相似命令,例如3d
list backup of database summary日誌
list backup of archivelog all summary
list backup of tablespace users summary;
list backup of datafile n,n,n summary
這些命令可讓咱們對已有的備份文件有一個總體,直觀的瞭解。
1.2.list backup by file;--按照文件類型分別列出
分別爲:數據文件列表、歸檔日誌列表、控制文件列表、SPFILE列表
1.3.list backup;
這個命令列出已有備份集的詳細信息。
1.4.list expired backup;
列出過時的備份文件
1.5.list copy;
列出copy文件
list copy of database;
list copy of controlfile;
list copy of tablespace users;
list copy of datafile n,n,n;
list copy of archivelog all;
list copy of archivelog from scn 10000;
list copy of archivelog until sequence 12;
2. List 相關文件的信息
list backup of {archivelog, controlfile, database, datafile, spfile, tablespace};
list backup of database; --full,incremental,tablespace,datafile
2.1服務器參數文件:
list backup of spfile;
2.2 控制文件:
list backup of controlfile;
2.3 數據文件:
list backup of datafle n,n,n,n;
2.4表空間:
list backup of tablespace tablespace_name;--表空間對應的backup
2.5歸檔日誌:
list backup of archivelog {all, from, high, like, logseq, low, scn, sequence, time, until};
list backup of archivelog all;
list backup of archivelog until time 'sysdate-1';
list backup of archivelog from sequence 10;
list backup of archivelog until sequence 10;
list backup of archivelog from scn 10000;
list backup of archivelog until scn 200000;
list archivelog from scn 1000;
list archivelog until scn 2000;
list archivelog from sequence 10;
list archivelog until sequence 12;
2、report經常使用命令總結備忘
report用於判斷數據庫當前可恢復狀態、以及數據庫已有備份的信息。
最常使用的是report obsolete; report schema;
report {device, need, obsolete, schema, unrecoverable}
report schema;
report obsolete;
report unrecoverable;
report need backup;
report need backup days=3; --報告最近3天內沒有備份的文件
report need backup redundancy=3; --報告冗餘次數小於3的數據文件。
report need backup recovery window of 2 days;
report schema;---報告數據庫模式
report obsolete;---報告已丟棄的備份集(配置了保留策略)。
report unrecoverable;---報告當前數據庫中不可恢復的數據文件(即沒有這個數據文件的備份、或者該數據文件的備份已通過期)
report need backup;---報告須要備份的數據文件(根據條件不一樣)
report need backup days=3;
--最近三天沒有備份的數據文件(若是出問題的話,這些數據文件將須要最近3天的歸檔日誌才能恢復)
report need backup incremental=3;
--須要多少個增量備份文件才能恢復的數據文件。(若是出問題,這些數據文件將須要3個增量備份才能恢復)
report need backup redundancy=3;
--報告出冗餘次數小於3的數據文件
--例如數據文件中包含2個數據文件system01.dbf和users01.dbf.
--在3次或都3次以上備份中都包含system01.dbf這個數據文件,而users01.dbf則小於3次
--那麼,報告出來的數據文件就是users01.dbf
--即,報告出數據庫中冗餘次數小於 n 的數據文件
report need backup recovery window of 2 days;
--報告出恢復須要2天歸檔日誌的數據文件
3、backup經常使用命令總結備忘
1.設置備份標記
backup database tag='full_bak1';
注:每一個標記必須惟一,相同的標記能夠用於多個備份只還原最新的備份。
2.設置備份集大小(一次備份的全部結果爲一個備份集,要注意備份集大小)
backup database maxsetsize=100m tag='datafile1';
注:maxsetsize限定備份集的大小。因此必須大於數據庫總數據文件的大小,不然會報錯。
RMAN-06183: datafile or datafile copy larger than MAXSETSIZE: file# 1 /data/oradata/system01.dbf
3.設置備份片大小(磁帶或文件系統限制)
run {
allocate channel c1 type disk maxpicecsize 100m format '/data/backup/full_0_%U_%T';
backup database tag='full_0';
release channel c1;
}
能夠在allocate子句中設定每一個備份片的大小,以達到磁帶或系統限制。
也能夠在configure中設置備份片大小。
Configure channel device type disk maxpiecesize 100 m;
configure channel device type disk clear;
4.備份集的保存策略
backup database keep forever; --永久保留備份文件
backup database keep until time='sysdate+30'; --保存備份30天
5.重寫configure exclude命令
backup databas noexclude keep forever tag='test backup';
6.檢查數據庫錯誤
backup validate database;
使用RMAN來掃描數據庫的物理/邏輯錯誤,並不執行實際備份。
7.跳過脫機,不可存取或只讀文件
backup database skip readonly;
backup database skip offline;
backup database skip inaccessible;
backup database skip readonly skip offline skip inaccessible;
8.強制備份
backup database force;
9.基於上次備份時間備份數據文件
1>只備份添加的新數據文件
backup database not backed up;
2>備份"在限定時間週期內"沒有被備份的數據文件
backup database not backed up since time='sysdate-2';
10.備份操做期間檢查邏輯錯誤
backup check logical database;
backup validate check logical database;
11.生成備份副本
backup database copies=2;
12.備份控制文件
backup database device type disk includ current controlfile;
4、configure經常使用命令總結備忘
4.1 顯示當前的配置信息
4.1.1 RMAN> show all;
RMAN 配置參數爲:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
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 SNAPSHOT CONTROLFILE NAME TO 'D:/ORACLE/PRODUCT/10.2.0/DB_1/DATABASE/S
NCFDBA.ORA'; # default
4.1.2 查詢RMAN設置中非默認值:
SQL> select name,value from v$rman_configuration;
4.2. 經常使用的configure選項
4.2.1 保存策略 (retention policy)
configure retention policy to recovery window of 7 days;
configure retention policy to redundancy 5;
configure retention policy clear;
CONFIGURE RETENTION POLICY TO NONE;
第一種recover window是保持全部足夠的備份,能夠將數據庫系統恢復到最近七天內的任意時刻。任何超過最近七天的數據庫備份將被標記爲obsolete。
第二種redundancy 是爲了保持能夠恢復的最新的5份數據庫備份,任何超過最新5份的備份都將被標記爲redundancy。它的默認值是1份。
第三四:NONE 能夠把使備份保持策略失效,Clear 將恢復默認的保持策略
通常最安全的方法是採用第二種保持策略。
4.2.2 備份優化 backup optimization
configure backup optimization on;
configure backup optimization off;
configure backup optimization clear;
默認值爲關閉,若是打開,rman將對備份的數據文件及歸檔等文件進行一種優化的算法。
4.2.3 默認設備 default device type
configure default device type to disk;
configure default device type to stb;
configure default device type clear;
磁帶的設置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;
4.3.4 控制文件 controlfile
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/cfs01/backup/conf/conf_%F';
configure controlfile autobackup clear;
configrue controlfile autobackup format for device type disk clear;
configrue snapshot controlfile name to '/cfs01/backup/snapcf/scontrofile.snp';
--是配置控制文件的快照文件的存放路徑和文件名,這個快照文件是在備份期間產生的,用於控制文件的讀一致性。
configrue snapshot controlfile name clear;
強制數據庫在備份文件或者執行改變數據庫結構的命令以後將控制文件自動備份,默認值爲關閉。這樣能夠避免控制文件和catalog丟失後,控制文件仍然能夠恢復。
4.3.5 並行數(通道數) device type disk|stb pallelism n;
configure device type disk|stb parallelism 2;
configure device type disk|stb clear; --用於清除上面的信道配置
configure channel device type disk format 'e/:rmanback_%U';
configure channel device type disk maxpiecesize 100m
configure channel device type disk rate 1200K
configure channel 1 device type disk format 'e/:rmanback_%U';
configure channel 2 device type disk format 'e/:rmanback_%U';
configure channel 1 device type disk maxpiecesize 100m
配置數據庫設備類型的並行度。
4.3.6 生成備份副本 datafile|archivelog backup copies
configure datafile backup copies for device type disk|stb to 3;
configure archivelog backup copies for device type disk|stb to 3;
--是設置數據庫的歸檔日誌的存放設備類型
configure datafile|archivelog backup copies for device type disk|stb clear
BACKUP DEVICE TYPE DISK DATABASE
FORMAT '/disk1/backup/%U', '/disk2/backup/%U', '/disk3/backup/%U';
是配置數據庫的每次備份的copy數量,oracle的每一次備份均可以有多份徹底相同的拷貝。
4.3.7 排除選項 exclude
configure exclude for tablespace 'users';
configrue exclude clear;
此命令用於將指定的表空間不備份到備份集中, 此命令對只讀表空間是很是有用的。
4.3.8 備份集大小 maxsetsize
configure maxsetsize to 1G|1000M|1000000K|unlimited;
configure maxsetsize clear;
4.3.9 其它選項 auxiliary
CONFIGURE AUXNAME FOR DATAFILE 1 TO '/oracle/auxfiles/aux_1.f';
CONFIGURE AUXNAME FOR DATAFILE 2 TO '/oracle/auxfiles/aux_2.f';
CONFIGURE AUXNAME FOR DATAFILE 3 TO '/oracle/auxfiles/aux_3.f';
CONFIGURE AUXNAME FOR DATAFILE 4 TO '/oracle/auxfiles/aux_4.f';
-
CONFIGURE AUXNAME FOR DATAFILE 1 CLEAR;
CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR;
CONFIGURE AUXNAME FOR DATAFILE 3 CLEAR;
CONFIGURE AUXNAME FOR DATAFILE 4 CLEAR;
5、delete命令
刪除相關的備份集或鏡像副本的物理文件,同時將刪除標記DELETE更新到控制文件,若是使用恢復目錄,則是清除恢復目錄內的備份集。
RMAN> delete backupset;
RMAN> delete backupset n;
RMAN> delete obsolete ;
RMAN> delete obsolete redundancy 2;
RMAN> delete noprompt copy;
RMAN> delete noprompt backupset tag TAG20101016T143521;
RMAN> delete obsolete recovery window of 7 days;
RMAN> delete expired backupset;
RMAN> delete expired copy;
RMAN> delete expired archivelog all;
RMAN> delete archivelog until time 'sysdate-5';
6、crosscheck命令
用於檢驗存儲倉庫中的備份集或鏡像副本,執行改命令後,將更新存儲倉庫中的剛剛校驗的對象狀態,便於後續操做處理。
RMAN備份校驗是的幾種狀態:
Expired:對象不存在於磁盤或磁帶。當一個備份集處於expired狀態,則該備份集中全部的備份片一樣處於expired狀態。
Available:對象處於可用狀態。當一個備份集可用,則改備份集內的全部備份片一樣可用。
Unavailable:對象處於不可用狀態。當一個備份可不用,則改備份集內的全部備份片一樣不可用
RMAN> crosscheck backupset;
RMAN> crosscheck copy;
RMAN> crosscheck backup of controlfile;
RMAN> crosscheck backup of archivelog all;
RMAN> crosscheck backup of datafile 1,2;
RMAN> crosscheck backup of tablespace sysaux,system;
RMAN> crosscheck backup completed between '13-OCT-10' and '23-OCT-10';
RMAN> crosscheck backupset 1067,1068;
7、validate命令
驗證一個備份集內的數據的完整性。RMAN掃描備份集得全部備份片,並檢查校驗和,驗證其內容是否能夠成功還原,validate是較crosscheck更高一級的驗證操做,crosscheck僅僅是檢查備份集的頭部信息,檢驗文件的存在性,validate驗證數據的有效性。
RMAN> validate backupset <primary key> [check logical]
8、change
一、改變備份集狀態
可用CHANGE BACKUPSET .. UNAVAILABLE/AVAILABLE 來改變一個備份集的狀態。
RMAN>CHANGE BACKUPSET 22 UNAVAILABLE
二、改變映像副本狀態
數據文件:CHANGE DATAFILECOPY .. AVAILABLE/UNAVAILABLE
控制文件:CHANGE CONTROLFILECOPY .. AVAILABLE/UNAVAILABLE
歸檔日誌:CHANGE ARCHIVELOG .. AVAILABLE/UNAVAILABLE
例如:
RMAN>CHANGE DATAFILECOPY 'D:BACKUPDEMO_37.BAK' UNAVAILABLE;
三、創建長期備份
長期備份是指被長期保留的備份文件,使用長期備份的目的是爲了能夠將數據庫恢復到過去的特定時間點。當社頂了長期備份以後,RMAN會從設備冗餘策略中
免除該備份文件,也就是說,長期備份文件不會被標記爲陳舊備份。
命令:CHANGE .. KEEP/NOKEEP
(1)使備份集156永久保留
RMAN>CHANGE BACKUPSET 156 KEEP FOREVER LOGS;
(2)使備份集198保留60天
RMAN>CHANGE BACKUPSET 198 KEEP UNTIL TIME 'SYSDATE+60' LOGS;
(3)免除備份集156的保留期限