一. List 指令
RMAN的list指令是一種在資料庫控制檔案或恢複目錄中查詢備份的曆史資訊的方法。清單提供了一組資訊,包括從資料庫對應物的清單到備份集和歸檔日志的備份的清單的所有資訊。
1.1 列出對應物
List incarnation 指令為使用者提供了目标資料庫的每個資料庫對應物清單。 如果有必要,可以使用這個清單的資訊将資料庫恢複到執行最後一條resetlogs指令前的某個時間點。
RMAN> list incarnation;
使用目标資料庫控制檔案替代恢複目錄
資料庫原型清單
DB 關鍵字 Inc 關鍵字名 DB ID STATUS 重置 SCN 重置時間
------- ------- -------- ---------------- --- ---------- ----------
1 1月 -10
2 2月 -10
3 3 月 -10
4 4月 -10
Oracle 10g中新增的列是status,該列列出的是對應物的狀态,該狀态表明對應物是就的對應物(parent),目前對應物(current),和孤立的對應物(ORPHAN,即在resetlogs指令之後進行恢複)。
重置SCN(Reset SCN)和重置時間(Reset Time)主要說明建立資料庫對應物的時間,這也是第一個條目的Reset SCN為1的原因。 該列對使用resetlogs指令進行恢複有用,并使得能較容易的恢複到前面的對應物。
注意一點,使用恢複目錄和不使用恢複目錄輸出是有差異的。 在Inc Key 上有出入。
1.2 列出備份
List指令提供了許多不同的選項來報告資料庫備份和副本的狀态。
1.2.1 概述可用的備份
RMAN> list backup summary;
備份清單
===============
關鍵字 TY LV S 裝置類型 完成時間 段數 副本數 壓縮标記
------- -- -- - ----------- ---------- ------- ------- ---------- ---
113 B F A SBT_TAPE 18-6月 -10 1 1 NO TAG20100618T085926
138 B F A DISK 21-6月 -10 1 1 YES TAG20100621T233122
219 B F A DISK 22-6月 -10 1 1 NO TAG20100622T212749
231 B 1 A DISK 23-6月 -10 1 1 NO ORCL
1072 B F A DISK 06-7月 -10 1 1 NO TAG20100706T134705
在這個示例中我們可以得到一下資訊:
KEY(關鍵字): 表示備份集鍵
TY(類型)和LV清單示列的備份類型:
B[Backup] 表示備份
F[Full] 表示完全備份
A[Archivelog]
0和1 表示增量備份[Incremental backup]
S 列說明備份的狀态: A 表示Available,X 表示Expired.
Device Type: 說明備份的裝置是錄音帶還是磁盤
大多數list指令都可以在末尾使用summary參數,如:
List backup of database summary;
List expired backup of archivelog all summary;
List backup of tablespace users summary;
1.2.2 按備份類型列出備份
可以使用list backup by file 指令列出每個備份集和備份集片。它可以按資料檔案備份,歸檔日志備份,控制檔案和spfile檔案備份列出備份資訊。 如:
RMAN> list backup by file;
控制檔案備份清單
============================
CF Ckp SCN Ckp 時間 BS 關鍵字 S 段數 副本數 壓縮标記
---------- ---------- ------- - ------- ------- ---------- ---
8625387 06-7月 -10 1072 A 1 1 NO TAG20100706T134705
8555238 06-7月 -10 1000 A 1 1 NO TAG20100706T091808
SPFILE 備份的清單
======================
修改時間 BS 關鍵字 S 段數 副本數 壓縮标記
---------- ------- - ------- ------- ---------- ---
06-7月 -10 1072 A 1 1 NO TAG20100706T134705
06-7月 -10 1000 A 1 1 NO TAG20100706T091808
27-6月 -10 732 A 1 1 NO TAG20100628T110902
21-6月 -10 231 A 1 1 NO ORCL
21-6月 -10 219 A 1 1 NO TAG20100622T212749
21-6月 -10 138 A 1 1 YES TAG20100621T233122
17-6月 -10 113 A 1 1 NO TAG20100618T085926
1.2.3 其他備份資訊
如果想要檢視RMAN 更多的資訊,可以使用list backup指令。該指令可以提供所生成備份(包括備份集,歸檔的重做日志備份,控制檔案備份以及伺服器參數檔案備份)的詳細資訊。
RMAN> list backup;
備份集清單
===================
BS 關鍵字 類型 LV 大小 裝置類型 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
113 Full 16.00M SBT_TAPE 00:00:05 18-6月 -10
關鍵字: 116 狀态: AVAILABLE 已壓縮: NO 标記: TAG20100618T085926
: 07lghd6e_1_1 媒體: /,07lghd6e_1_1
SPFILE: 修改時間: 17-6月 -10
SPFILE db_unique_name: ORCL
BS 關鍵字 類型 LV 大小 裝置類型 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
138 Full 1.03M DISK 00:00:02 21-6月 -10
關鍵字: 142 狀态: AVAILABLE 已壓縮: YES 标記: TAG20100621T233122
段名:D:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/ORCL/BACKUPSET/2010_06_21/O1_MF_NC
SNF_TAG20100621T233122_61Z1KVPK_.BKP
SPFILE: 修改時間: 21-6月 -10
SPFILE db_unique_name: ORCL
1.2.4 列出适合恢複的備份
如果需要檢視能夠用于還原和恢複資料庫的所有資料檔案備份或副本,則可以使用list recoverable指令。 List 指令提供了狀态為Available的,可用于還原資料庫的所有備份清單(該清單值用于目前的對應物),其中包括備份,映像副本和增量備份。 如果增量備份沒有有效的父備份,它就不會包含在備份中。
RMAN> list recoverable backup of database;
1.2.5 列出到期的備份
執行list expired backup指令可以列出到期的備份,該指令也可以獲得到期的表空間和資料檔案的備份清單,如果插入正确的關鍵字(如: list expired backup of datafile 3 或者 list expired backup of archivelog all),則可以獲得到期的歸檔日志備份和控制檔案/spfile檔案的自動備份清單。
RMAN> list expired backup;
1.2.6 按表空間名和資料檔案号列出備份
執行list backup of tablespace 或者list backup of datafile 指令可以列出指定表空間或資料檔案的輸出:
RMAN> list backup of tablespace users;
RMAN> list backup of datafile 3;
1.2.7 列出歸檔日志備份
RMAN 提供了列出歸檔日志備份的幾種選項。 如果要得到目前存在的歸檔日志(并不意味着它們已經備份)的完整概述,可以使用list archivelog all指令:
RMAN> list archivelog all;
如果想要得到更詳細的報告,可以使用: list backup of archivelog all
RMAN> list backup of archivelog all;
如果隻想檢視到期的備份集,可以執行list expired backup of archivelog all;
RMAN> list expired backup of archivelog all;
還可以設定時間或日志序列号來限制報告中顯示的内容,如:
RMAN> list expired backup of archivelog until sequence 3;
RMAN> list expired backup of archivelog until time "to_date('2010-7-6','yyyy-mm-dd')";
1.2.8 列出控制檔案和伺服器參數檔案備份
List backup of controlfile指令可以向使用者提供控制檔案備份的清單,list backup of spfile 可以提供伺服器參數檔案備份的清單。
RMAN> list backup of controlfile;
RMAN> list backup of spfile;
1.3 列出映像副本
List 指令也可以用來判斷資料庫映像副本的狀态,如:
RMAN> list copy;
1.3.1 列出資料檔案副本
可以使用list copy of database指令生成所有資料檔案副本的概述清單:
RMAN> list copy of database;
也可以使用list copy of tablespace 或者list copy of datafile 指令來顯示表空間或資料檔案的副本。
RMAN> list copy of tablespace users;
RMAN> list copy of datafile 1;
1.3.2 列出歸檔的重做日志副本
可以用list copy of archivelog copies指令檢視歸檔的重做日志副本,如:
RMAN> list copy of archivelog all;
也可以按照時間,序列或者資料庫的SCN 列出特定的歸檔的重做日志副本,如:
RMAN> list copy of archivelog from sequence 1;
RMAN> list copy of archivelog from sequence 1 until sequence 22;
1.3.3 列出控制檔案副本
RMAN 可以通過執行list controlfile copy指令來顯示控制檔案副本。
RMAN> list copy of controlfile;
二. Report 指令
RMAN的report指令可以使用者判斷資料庫的目前可恢複狀态和提供資料庫備份的特定資訊。
2.1 指定最近沒有備份的資料檔案
查詢3天内沒有備份過的表空間,可以用如下指令:
RMAN> report need backup days=3;
也可以根據需要應用的增量備份數生成報告:
RMAN> report need backup incremental =3;
2.2 報告備份備援或恢複視窗
可以用report need backup redundancy 指令來确定為滿足備份備援政策而需要備份的資料檔案。 如:
RMAN> report need backup redundancy =2;
檔案備援備份少于2個
檔案 #bkps 名稱
---- ----- -----------------------------------------------------
1 0 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSTEM01.DBF
2 0 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSAUX01.DBF
3 0 D:/APP/ADMINISTRATOR/ORADATA/ORCL/UNDOTBS01.DBF
4 0 D:/APP/ADMINISTRATOR/ORADATA/ORCL/USERS01.DBF
也可以用report need backup recovery window days指令為備份建立一個時間值最小的恢複視窗,并且報告備份時間長于這個恢複視窗的資料檔案。
RMAN> report need backup recovery window of 2 days;
必須備份以滿足 2 天恢複視窗所需的檔案報表
檔案天資料 名稱
---- ----- -----------------------------------------------------
1 100 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSTEM01.DBF
2 100 D:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSAUX01.DBF
3 18 D:/APP/ADMINISTRATOR/ORADATA/ORCL/UNDOTBS01.DBF
4 100 D:/APP/ADMINISTRATOR/ORADATA/ORCL/USERS01.DBF
2.3 報告資料檔案的不可用恢複操作
對于表空間中對象群組成這些表空間的資料檔案執行的不可恢複操作會導緻某些可恢複性問題。我們可以使用report unrecoverable指令檢視unrecoverable 的對象。
RMAN> report unrecoverable;
2.4 報告資料庫模式(Schema)
這裡的Schema指的是資料庫的實體結構,模式包括資料檔案名,資料檔案号,為這些資料檔案指派的表空間,資料檔案的大小,以及資料檔案是否含有復原段。 我們可以檢視目前的模式,也可以檢視過去時間點的模式。
RMAN> report schema;
2. 5 報告丢失的備份
如果使用了儲存政策,備份有可能被标記為丢失狀态(obsolete),可以執行report obsolete指令檢視這些資訊。
RMAN> report obsolete;
RMAN 保留政策将應用于該指令
将 RMAN 保留政策設定為備援 1
已廢棄的備份和副本報表
類型 關鍵字 完成時間 檔案名/句柄
-------------------- ------ ------------------ --------------------
備份集 112 18-6月 -10
備份片段 115 18-6月 -10 06lghd3f_1_1
備份集 113 18-6月 -10
備份片段 116 18-6月 -10 07lghd6e_1_1
備份集 137 21-6月 -10
備份片段 141 21-6月 -10 D:/APP/ADMINISTRATOR/FLASH_RECOVERY_ARE
A/ORCL/BACKUPSET/2010_06_21/O1_MF_NNNDF_TAG20100621T233122_61Z1GD2R_.BKP
整理自《Oracle 10g RMAN 備份與恢複》
------------------------------------------------------------------------------