一.RMAN 完全恢複
完全恢複是指當資料檔案出現介質失敗時,使用RESTORE命令轉儲備份(到原存放地或可用的裝置),然後再使用RECOVER命令將資料檔案恢複到失敗點的狀態。
SYSTEM資料表空間資料檔案恢複要求資料庫必須在mount狀態進行,其他資料檔案恢複既可以使資料庫在mount狀態,也可以是open狀態進行;
當需要恢複所有資料檔案或者要求在資料庫層級恢複時,應該使用完全恢複,這時資料庫需啟動到mount狀態;恢複至原存放地指令碼如下(在open狀態下運行此指令碼):
RMAN> run{
2> startup force mount
3> restore database;
4> recover database;
5> alter database open;
6> }
Oracle 執行個體已啟動
資料庫已裝載
系統全域地區總計 838860800 位元組
Fixed Size 1293384 位元組
Variable Size 742392760 位元組
Database Buffers 88080384 位元組
Redo Buffers 7094272 位元組
啟動 restore 於 13-5月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 正在恢複資料檔案00007
輸入資料檔案副本 recid=36 stamp=815324562 檔案名稱=D:\BACKUP\ORCL_124.BAK
資料檔案 00007 的恢複目標: D:\RMAN.DBF
通道 ORA_DISK_1: 已複製資料檔案 00007 的資料檔案副本
輸出檔案名=D:\RMAN.DBF recid=37 stamp=815324790
通道 ORA_DISK_1: 正在開始恢複資料檔案備份組
通道 ORA_DISK_1: 正在指定從備份組恢複的資料檔案
正將資料檔案00002恢複到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
正將資料檔案00003恢複到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
正將資料檔案00004恢複到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
正將資料檔案00005恢複到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在讀取備份段 D:\ORCL_1318810635_112
通道 ORA_DISK_1: 已恢複備份段 1
段控制代碼 = D:\ORCL_1318810635_112 標記 = TAG20130513T144801
通道 ORA_DISK_1: 恢複完成, 用時: 00:01:36
通道 ORA_DISK_1: 正在開始恢複資料檔案備份組
通道 ORA_DISK_1: 正在指定從備份組恢複的資料檔案
正將資料檔案00001恢複到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 正在讀取備份段 D:\BACKUP\ORCL_116.BAK
通道 ORA_DISK_1: 已恢複備份段 1
段控制代碼 = D:\BACKUP\ORCL_116.BAK 標記 = TAG20130513T145621
通道 ORA_DISK_1: 恢複完成, 用時: 00:00:46
完成 restore 於 13-5月 -13
啟動 recover 於 13-5月 -13
使用通道 ORA_DISK_1
正在開始介質的恢複
介質恢複完成, 用時: 00:00:10
完成 recover 於 13-5月 -13
資料庫已開啟
恢複系統資料表空間至原存放地指令碼如下
RMAN> run{
2> startup force mount
3> restore tablespace system;
4> recover tablespace system;
5> alter database open;
6> }
Oracle 執行個體已啟動
資料庫已裝載
系統全域地區總計 838860800 位元組
Fixed Size 1293384 位元組
Variable Size 750781368 位元組
Database Buffers 79691776 位元組
Redo Buffers 7094272 位元組
啟動 restore 於 13-5月 -13
使用目標資料庫控制檔案替代恢複目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在開始恢複資料檔案備份組
通道 ORA_DISK_1: 正在指定從備份組恢複的資料檔案
正將資料檔案00001恢複到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 正在讀取備份段 D:\BACKUP\ORCL_116.BAK
通道 ORA_DISK_1: 已恢複備份段 1
段控制代碼 = D:\BACKUP\ORCL_116.BAK 標記 = TAG20130513T145621
通道 ORA_DISK_1: 恢複完成, 用時: 00:00:55
完成 restore 於 13-5月 -13
啟動 recover 於 13-5月 -13
使用通道 ORA_DISK_1
正在開始介質的恢複
存檔日誌線程 1 序列 661 已作為檔案 F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_661_8S13VN1G_.ARC 存在於磁碟上
存檔日誌線程 1 序列 662 已作為檔案 F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_662_8S14DQ98_.ARC 存在於磁碟上
存檔日誌線程 1 序列 663 已作為檔案 F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_663_8S14XX0Z_.ARC 存在於磁碟上
存檔記錄檔名 =F:\RMANBACKUP\ORCL\ARCHIVELOG\2013_05_13\O1_MF_1_661_8S13VN1G_.ARC 線程 =1 序列 =661
介質恢複完成, 用時: 00:00:04
完成 recover 於 13-5月 -13
資料庫已開啟
恢複系統資料表空間資料至其他可用裝置
RMAN> run{
2> startup force mount
3> set newname for datafile 1 to 'd:\system01.dbf';
4> restore datafile 1;
5> switch datafile 1;
6> recover datafile 1;
7> alter database open;
8> }
Oracle 執行個體已啟動
資料庫已裝載
系統全域地區總計 838860800 位元組
Fixed Size 1293384 位元組
Variable Size 754975672 位元組
Database Buffers 75497472 位元組
Redo Buffers 7094272 位元組
正在執行命令: SET NEWNAME