RMAN備份恢復整個庫
1 查看歷史備份集
$ rman target /
RMAN> list backup;
說明與資料檔案庫中的任何備份都不匹配
上述結果說明之前沒有備份過
2 備份整個庫
RMAN> backup database;
啟動 backup 于 21-3月 -15
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
輸入數據文件: 文件號=00001 名稱=/u01/app/oracle/oradata/orcl/system01.dbf
輸入數據文件: 文件號=00002 名稱=/u01/app/oracle/oradata/orcl/sysaux01.dbf
輸入數據文件: 文件號=00003 名稱=/u01/app/oracle/oradata/orcl/undotbs01.dbf
輸入數據文件: 文件號=00004 名稱=/u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在啟動段 1 于 21-3月 -15
通道 ORA_DISK_1: 已完成段 1 于 21-3月 -15
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_nnndf_TAG20150321T095606_bjsmxq4h_.bkp 標記=TAG20150321T095606 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:01:05
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
備份集內包括當前控制文件
備份集內包括當前的 SPFILE
通道 ORA_DISK_1: 正在啟動段 1 于 21-3月 -15
通道 ORA_DISK_1: 已完成段 1 于 21-3月 -15
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_ncsnf_TAG20150321T095606_bjsmzsv3_.bkp 標記=TAG20150321T095606 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
完成 backup 于 21-3月 -15
3 檢查備份結果
RMAN> list backup;
備份集列表
===================
BS 關鍵字? 類型 LV 大小?????? 設備類型 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
32????? Full??? 1023.42M?? DISK??????? 00:00:57???? 21-3月 -15
BP 關鍵字: 32?? 狀態: AVAILABLE? 已壓縮: NO? 標記: TAG20150321T095606
段名:/u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_nnndf_TAG20150321T095606_bjsmxq4h_.bkp
備份集 32 中的數據文件列表
文件 LV 類型 Ckp SCN??? Ckp 時間?? 名稱
---- -- ---- ---------- ---------- ----
1?????? Full 1170352??? 21-3月 -15 /u01/app/oracle/oradata/orcl/system01.dbf
2?????? Full 1170352??? 21-3月 -15 /u01/app/oracle/oradata/orcl/sysaux01.dbf
3?????? Full 1170352??? 21-3月 -15 /u01/app/oracle/oradata/orcl/undotbs01.dbf
4?????? Full 1170352??? 21-3月 -15 /u01/app/oracle/oradata/orcl/users01.dbf
BS 關鍵字? 類型 LV 大小?????? 設備類型 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
33????? Full??? 9.36M????? DISK??????? 00:00:02???? 21-3月 -15
BP 關鍵字: 33?? 狀態: AVAILABLE? 已壓縮: NO? 標記: TAG20150321T095606
段名:/u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_ncsnf_TAG20150321T095606_bjsmzsv3_.bkp
包含的 SPFILE: 修改時間: 21-3月 -15
SPFILE db_unique_name: ORCL
包括的控制文件: Ckp SCN: 1170374????? Ckp 時間: 21-3月 -15
這里觀測到備份集號32和33,說明之前有過31個備份集,但都被刪除了,所以第一步檢查的結果為空
4 停庫
RMAN> exit
恢復管理器完成。
[oracle@oracleServer ~]$ sqlplus / as sysdba;
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 3月 21 10:01:37 2015
Copyright (c) 1982, 2009, Oracle.? All rights reserved.
連接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown abort;
ORACLE 例程已經關閉。
5 另開一個終端,刪除原庫
[root@oracleServer ~]# cd /u01/app/oracle/oradata/orcl/
[root@oracleServer orcl]# ls
control01.ctl? redo02.log? sysaux01.dbf? temp01.dbf???? undotbs01.dbf
redo01.log???? redo03.log? system01.dbf? test_temp.dbf? users01.dbf
[root@oracleServer orcl]# rm -rf *
6 嘗試啟動
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area? 839282688 bytes
Fixed Size????????????????? 2217992 bytes
Variable Size???????????? 503318520 bytes
Database Buffers????????? 331350016 bytes
Redo Buffers??????????????? 2396160 bytes
ORA-00205: ?????????, ??????, ???????
此時數據庫已經不能啟動,在啟動到nomount過程中報205錯誤,找不到控制文件。
7 進RMAN恢復控制文件
SQL> exit
從 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 斷開
[oracle@oracleServer ~]$ rman target /
恢復管理器: Release 11.2.0.1.0 - Production on 星期六 3月 21 10:07:49 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.? All rights reserved.
連接到目標數據庫: ORCL (未裝載)
RMAN> restore controlfile from '/u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_ncsnf_TAG20150321T095606_bjsmzsv3_.bkp';
啟動 restore 于 21-3月 -15
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=21 設備類型=DISK
通道 ORA_DISK_1: 正在還原控制文件
通道 ORA_DISK_1: 還原完成, 用時: 00:00:01
輸出文件名=/u01/app/oracle/oradata/orcl/control01.ctl
輸出文件名=/u01/app/oracle/flash_recovery_area/orcl/control02.ctl
完成 restore 于 21-3月 -15
8 此時數據庫可以裝載
RMAN> alter database mount;
數據庫已裝載
釋放的通道: ORA_DISK_1
9 恢復數據文件
RMAN> restore database;
啟動 restore 于 21-3月 -15
啟動 implicit crosscheck backup 于 21-3月 -15
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=21 設備類型=DISK
已交叉檢驗的 1 對象
完成 implicit crosscheck backup 于 21-3月 -15
啟動 implicit crosscheck copy 于 21-3月 -15
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 21-3月 -15
搜索恢復區中的所有文件
正在編制文件目錄...
目錄編制完畢
已列入目錄的文件的列表
=======================
文件名: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_ncsnf_TAG20150321T095606_bjsmzsv3_.bkp
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始還原數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集還原的數據文件
通道 ORA_DISK_1: 將數據文件 00001 還原到 /u01/app/oracle/oradata/orcl/system01.dbf
通道 ORA_DISK_1: 將數據文件 00002 還原到 /u01/app/oracle/oradata/orcl/sysaux01.dbf
通道 ORA_DISK_1: 將數據文件 00003 還原到 /u01/app/oracle/oradata/orcl/undotbs01.dbf
通道 ORA_DISK_1: 將數據文件 00004 還原到 /u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在讀取備份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_nnndf_TAG20150321T095606_bjsmxq4h_.bkp
通道 ORA_DISK_1: 段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2015_03_21/o1_mf_nnndf_TAG20150321T095606_bjsmxq4h_.bkp 標記 = TAG20150321T095606
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:01:06
完成 restore 于 21-3月 -15
10 還原數據庫
RMAN> recover database;
啟動 recover 于 21-3月 -15
使用通道 ORA_DISK_1
正在開始介質的恢復
無法找到歸檔日志
歸檔日志線程=1 序列=4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 03/21/2015 10:13:26 上) 失敗
RMAN-06054: 介質恢復正在請求未知的線程 1 序列 4 的歸檔日志以及起始 SCN 1170352
上面結果報錯是因為找不到日志文件,可用另一終端驗證:
[root@oracleServer orcl]# ls
control01.ctl? sysaux01.dbf? system01.dbf? undotbs01.dbf? users01.dbf
11 重做日志文件打開數據庫
RMAN> alter database open resetlogs;
數據庫已打開
用另一終端檢查日志文件:
[root@oracleServer orcl]# ls
control01.ctl? redo02.log? sysaux01.dbf? temp01.dbf???? undotbs01.dbf
redo01.log???? redo03.log? system01.dbf? test_temp.dbf? users01.dbf
12 重啟數據庫
RMAN> exit
恢復管理器完成。
[oracle@oracleServer ~]$ sqlplus / as sysdba;
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 3月 21 10:17:11 2015
Copyright (c) 1982, 2009, Oracle.? All rights reserved.
連接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> startup force;
ORACLE 例程已經啟動。
Total System Global Area? 839282688 bytes
Fixed Size????????????????? 2217992 bytes
Variable Size???????????? 503318520 bytes
Database Buffers????????? 331350016 bytes
Redo Buffers??????????????? 2396160 bytes
數據庫裝載完畢。
數據庫已經打開。