rman datafile恢復(歸檔模式)
模擬環境
1. 做操作之前先備份資料庫
RMAN> run {
# Hot database level 0 whole backup
allocate channel t1 type disk;
backup
incremental level 0
skip inaccessible
format '/oracle/backup/back_%s_%p_%T_%d'
#AS COMPRESSED backupset
database plus archivelog
format '/oracle/backup/arclogback_%s_%p_%t_%d'
delete input;
delete obsolete;
release CHANNEL t1 ;
}2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14>
釋放的通道: ORA_DISK_1
分配的通道: t1
通道 t1: sid=529 devtype=DISK
啟動 backup 於 19-4月 -15
當前日誌已存檔
通道 t1: 正在啟動存檔日誌備份集
通道 t1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =724 記錄 ID=782 時間戳=877409229
通道 t1: 正在啟動段 1 於 19-4月 -15
通道 t1: 已完成段 1 於 19-4月 -15
段控制程式碼=/oracle/backup/arclogback_42_1_877409229_NETDATA 標記=TAG20150419T044709 註釋=NONE
通道 t1: 備份集已完成, 經過時間:00:00:02
通道 t1: 正在刪除存檔日誌
存檔日誌檔名 =/u02/archive/1_724_873224460.dbf 記錄 ID=782 時間戳 =877409229
完成 backup 於 19-4月 -15
啟動 backup 於 19-4月 -15
通道 t1: 啟動增量級別 0 資料檔案備份集
通道 t1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00004 name=/u02/oradata/netdata/users01.dbf
輸入資料檔案 fno=00001 name=/u02/oradata/netdata/system01.dbf
輸入資料檔案 fno=00002 name=/u02/oradata/netdata/undotbs01.dbf
輸入資料檔案 fno=00003 name=/u02/oradata/netdata/sysaux01.dbf
輸入資料檔案 fno=00005 name=/u02/oradata/netdata/example01.dbf
輸入資料檔案 fno=00006 name=/u02/oradata/netdata/netdata01.dbf
通道 t1: 正在啟動段 1 於 19-4月 -15
通道 t1: 已完成段 1 於 19-4月 -15
段控制程式碼=/oracle/backup/back_43_1_20150419_NETDATA 標記=TAG20150419T044711 註釋=NONE
通道 t1: 備份集已完成, 經過時間:00:05:36
完成 backup 於 19-4月 -15
啟動 backup 於 19-4月 -15
當前日誌已存檔
通道 t1: 正在啟動存檔日誌備份集
通道 t1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =725 記錄 ID=783 時間戳=877409569
通道 t1: 正在啟動段 1 於 19-4月 -15
通道 t1: 已完成段 1 於 19-4月 -15
段控制程式碼=/oracle/backup/arclogback_44_1_877409569_NETDATA 標記=TAG20150419T045249 註釋=NONE
通道 t1: 備份集已完成, 經過時間:00:00:02
通道 t1: 正在刪除存檔日誌
存檔日誌檔名 =/u02/archive/1_725_873224460.dbf 記錄 ID=783 時間戳 =877409569
完成 backup 於 19-4月 -15
啟動 Control File and SPFILE Autobackup 於 19-4月 -15
段 handle=/u02/flash_recovery_area/PNETDATA/autobackup/2015_04_19/o1_mf_s_877409572_bm5k14p1_.bkp comment=NONE
完成 Control File and SPFILE Autobackup 於 19-4月 -15
RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
刪除以下已廢棄的備份和副本:
型別 關鍵字 完成時間 檔名/控制程式碼
-------------------- ------ ------------------ --------------------
控制檔案副本 3 02-3月 -15 /u02/oradata/backup/standby.ctl
控制檔案副本 4 02-3月 -15 /tmp/sby_control01.ctl
備份集 38 19-4月 -15
備份片段 38 19-4月 -15 /oracle/backup/arclogback_42_1_877409229_NETDATA
是否確定要刪除以上物件 (輸入 YES 或 NO)? yes
已刪除備份片段
備份段 handle=/oracle/backup/arclogback_42_1_877409229_NETDATA recid=38 stamp=877409230
1 物件已刪除
RMAN-06207: 警告: 由於狀態不匹配, 所以不能刪除 2 物件 (對於 DISK 通道)。
RMAN-06208: 請用 CROSSCHECK 命令修正狀態
RMAN-06210: 不匹配物件的列表
RMAN-06211: ==========================
RMAN-06212: 物件型別 檔名/控制程式碼
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Datafile Copy /u02/oradata/backup/standby.ctl
RMAN-06214: Datafile Copy /tmp/sby_control01.ctl
釋放的通道: t1
RMAN> list backup of database;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
39 Incr 0 5.57G DISK 00:05:35 19-4月 -15
BP 關鍵字: 39 狀態: AVAILABLE 已壓縮: NO 標記: TAG20150419T044711
段名:/oracle/backup/back_43_1_20150419_NETDATA
備份集 39 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/system01.dbf
2 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/undotbs01.dbf
3 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/sysaux01.dbf
4 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/users01.dbf
5 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/example01.dbf
6 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/netdata01.dbf
# Hot database level 0 whole backup
allocate channel t1 type disk;
backup
incremental level 0
skip inaccessible
format '/oracle/backup/back_%s_%p_%T_%d'
#AS COMPRESSED backupset
database plus archivelog
format '/oracle/backup/arclogback_%s_%p_%t_%d'
delete input;
delete obsolete;
release CHANNEL t1 ;
}2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14>
釋放的通道: ORA_DISK_1
分配的通道: t1
通道 t1: sid=529 devtype=DISK
啟動 backup 於 19-4月 -15
當前日誌已存檔
通道 t1: 正在啟動存檔日誌備份集
通道 t1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =724 記錄 ID=782 時間戳=877409229
通道 t1: 正在啟動段 1 於 19-4月 -15
通道 t1: 已完成段 1 於 19-4月 -15
段控制程式碼=/oracle/backup/arclogback_42_1_877409229_NETDATA 標記=TAG20150419T044709 註釋=NONE
通道 t1: 備份集已完成, 經過時間:00:00:02
通道 t1: 正在刪除存檔日誌
存檔日誌檔名 =/u02/archive/1_724_873224460.dbf 記錄 ID=782 時間戳 =877409229
完成 backup 於 19-4月 -15
啟動 backup 於 19-4月 -15
通道 t1: 啟動增量級別 0 資料檔案備份集
通道 t1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00004 name=/u02/oradata/netdata/users01.dbf
輸入資料檔案 fno=00001 name=/u02/oradata/netdata/system01.dbf
輸入資料檔案 fno=00002 name=/u02/oradata/netdata/undotbs01.dbf
輸入資料檔案 fno=00003 name=/u02/oradata/netdata/sysaux01.dbf
輸入資料檔案 fno=00005 name=/u02/oradata/netdata/example01.dbf
輸入資料檔案 fno=00006 name=/u02/oradata/netdata/netdata01.dbf
通道 t1: 正在啟動段 1 於 19-4月 -15
通道 t1: 已完成段 1 於 19-4月 -15
段控制程式碼=/oracle/backup/back_43_1_20150419_NETDATA 標記=TAG20150419T044711 註釋=NONE
通道 t1: 備份集已完成, 經過時間:00:05:36
完成 backup 於 19-4月 -15
啟動 backup 於 19-4月 -15
當前日誌已存檔
通道 t1: 正在啟動存檔日誌備份集
通道 t1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =725 記錄 ID=783 時間戳=877409569
通道 t1: 正在啟動段 1 於 19-4月 -15
通道 t1: 已完成段 1 於 19-4月 -15
段控制程式碼=/oracle/backup/arclogback_44_1_877409569_NETDATA 標記=TAG20150419T045249 註釋=NONE
通道 t1: 備份集已完成, 經過時間:00:00:02
通道 t1: 正在刪除存檔日誌
存檔日誌檔名 =/u02/archive/1_725_873224460.dbf 記錄 ID=783 時間戳 =877409569
完成 backup 於 19-4月 -15
啟動 Control File and SPFILE Autobackup 於 19-4月 -15
段 handle=/u02/flash_recovery_area/PNETDATA/autobackup/2015_04_19/o1_mf_s_877409572_bm5k14p1_.bkp comment=NONE
完成 Control File and SPFILE Autobackup 於 19-4月 -15
RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
刪除以下已廢棄的備份和副本:
型別 關鍵字 完成時間 檔名/控制程式碼
-------------------- ------ ------------------ --------------------
控制檔案副本 3 02-3月 -15 /u02/oradata/backup/standby.ctl
控制檔案副本 4 02-3月 -15 /tmp/sby_control01.ctl
備份集 38 19-4月 -15
備份片段 38 19-4月 -15 /oracle/backup/arclogback_42_1_877409229_NETDATA
是否確定要刪除以上物件 (輸入 YES 或 NO)? yes
已刪除備份片段
備份段 handle=/oracle/backup/arclogback_42_1_877409229_NETDATA recid=38 stamp=877409230
1 物件已刪除
RMAN-06207: 警告: 由於狀態不匹配, 所以不能刪除 2 物件 (對於 DISK 通道)。
RMAN-06208: 請用 CROSSCHECK 命令修正狀態
RMAN-06210: 不匹配物件的列表
RMAN-06211: ==========================
RMAN-06212: 物件型別 檔名/控制程式碼
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Datafile Copy /u02/oradata/backup/standby.ctl
RMAN-06214: Datafile Copy /tmp/sby_control01.ctl
釋放的通道: t1
RMAN> list backup of database;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
39 Incr 0 5.57G DISK 00:05:35 19-4月 -15
BP 關鍵字: 39 狀態: AVAILABLE 已壓縮: NO 標記: TAG20150419T044711
段名:/oracle/backup/back_43_1_20150419_NETDATA
備份集 39 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/system01.dbf
2 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/undotbs01.dbf
3 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/sysaux01.dbf
4 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/users01.dbf
5 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/example01.dbf
6 0 Incr 7862138 19-4月 -15 /u02/oradata/netdata/netdata01.dbf
2.模擬檔案刪除,物理刪除檔案
SQL> conn netdata/netdata
已連線。
SQL> select * from test;
ID NAME
---------- --------------------------------------------------
1 test
2 test1
SQL>
SQL> select file#,status from v$datafile;
FILE# STATUS
---------- -------
1 SYSTEM
2 ONLINE
3 ONLINE
4 ONLINE
5 ONLINE
6 ONLINE
已選擇6行。
[oracle@ora10g-1 backup]$ cd /u02/oradata/netdata/
[oracle@ora10g-1 netdata]$ ls
control01.ctl example01.dbf redo01.log redo03.log stredo02.log stredo04.log system01.dbf undotbs01.dbf
control02.ctl netdata01.dbf redo02.log stredo01.log stredo03.log sysaux01.dbf temp01.dbf users01.dbf
[oracle@ora10g-1 netdata]$ rm -rvf netdata01.dbf
已刪除"netdata01.dbf"
[oracle@ora10g-1 netdata]$ ls
control01.ctl example01.dbf redo01.log redo03.log stredo02.log stredo04.log system01.dbf undotbs01.dbf
control02.ctl netdata01.dbf redo02.log stredo01.log stredo03.log sysaux01.dbf temp01.dbf users01.dbf
[oracle@ora10g-1 netdata]$ rm -rvf netdata01.dbf
已刪除"netdata01.dbf"
SQL> conn netdata/netdata
已連線。
SQL> select * from test;
select * from test
*
第 1 行出現錯誤:
ORA-01116: 開啟資料庫檔案 6 時出錯 ORA-01110:
資料檔案 6: '/u02/oradata/netdata/netdata01.dbf'
ORA-27041: 無法開啟檔案
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
已連線。
SQL> select * from test;
select * from test
*
第 1 行出現錯誤:
ORA-01116: 開啟資料庫檔案 6 時出錯 ORA-01110:
資料檔案 6: '/u02/oradata/netdata/netdata01.dbf'
ORA-27041: 無法開啟檔案
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
已經報錯了。
3.將刪除檔案離線
SQL> conn / as sysdba
已連線。
SQL> alter database datafile 6 offline;
資料庫已更改。
已連線。
SQL> alter database datafile 6 offline;
資料庫已更改。
4.rman 恢復刪除檔案
RMAN> restore datafile 6;
啟動 restore 於 19-4月 -15
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=529 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
正將資料檔案00006還原到/u02/oradata/netdata/netdata01.dbf
通道 ORA_DISK_1: 正在讀取備份片段 /oracle/backup/back_43_1_20150419_NETDATA
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 04/19/2015 04:55:36 上) 失敗
ORA-19870: 讀取備份段 /oracle/backup/back_43_1_20150419_NETDATA 時出錯
ORA-19573: 無法獲得 exclusive 入隊 (資料檔案 6 的)
RMAN> restore datafile 6;
啟動 restore 於 19-4月 -15
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
正將資料檔案00006還原到/u02/oradata/netdata/netdata01.dbf
通道 ORA_DISK_1: 正在讀取備份片段 /oracle/backup/back_43_1_20150419_NETDATA
通道 ORA_DISK_1: 已還原備份片段 1
段控制程式碼 = /oracle/backup/back_43_1_20150419_NETDATA 標記 = TAG20150419T044711
通道 ORA_DISK_1: 還原完成, 用時: 00:00:03
完成 restore 於 19-4月 -15
RMAN> recover datafile 6;
啟動 recover 於 19-4月 -15
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:01
完成 recover 於 19-4月 -15
RMAN>
SQL> alter database datafile 6 oneline;
alter database datafile 6 oneline
*
第 1 行出現錯誤:
ORA-01916: 需要關鍵字 ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP
SQL> alter database datafile 6 online;
資料庫已更改。
啟動 restore 於 19-4月 -15
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=529 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
正將資料檔案00006還原到/u02/oradata/netdata/netdata01.dbf
通道 ORA_DISK_1: 正在讀取備份片段 /oracle/backup/back_43_1_20150419_NETDATA
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 04/19/2015 04:55:36 上) 失敗
ORA-19870: 讀取備份段 /oracle/backup/back_43_1_20150419_NETDATA 時出錯
ORA-19573: 無法獲得 exclusive 入隊 (資料檔案 6 的)
RMAN> restore datafile 6;
啟動 restore 於 19-4月 -15
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
正將資料檔案00006還原到/u02/oradata/netdata/netdata01.dbf
通道 ORA_DISK_1: 正在讀取備份片段 /oracle/backup/back_43_1_20150419_NETDATA
通道 ORA_DISK_1: 已還原備份片段 1
段控制程式碼 = /oracle/backup/back_43_1_20150419_NETDATA 標記 = TAG20150419T044711
通道 ORA_DISK_1: 還原完成, 用時: 00:00:03
完成 restore 於 19-4月 -15
RMAN> recover datafile 6;
啟動 recover 於 19-4月 -15
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:01
完成 recover 於 19-4月 -15
RMAN>
SQL> alter database datafile 6 oneline;
alter database datafile 6 oneline
*
第 1 行出現錯誤:
ORA-01916: 需要關鍵字 ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP
SQL> alter database datafile 6 online;
資料庫已更改。
4.驗證
SQL> conn netdata/netdata
已連線。
SQL> select * from test;
ID NAME
---------- --------------------------------------------------
1 test
2 test1
SQL>
FILE# STATUS
---------- -------
1 SYSTEM
2 ONLINE
3 ONLINE
4 ONLINE
5 ONLINE
6 ONLINE
已選擇6行。
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24486203/viewspace-1698649/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dg丟失歸檔,使用rman增量備份恢復
- RMAN增量恢復
- RMAN-06214: Datafile Copy
- 12 使用RMAN備份和恢復檔案
- Rman在run命令塊裡臨時設定歸檔目錄,歸檔日誌能否恢復主要看預設的歸檔路徑
- RMAN恢復實踐
- DG歸檔日誌缺失恢復
- 對歸檔模式下CLEAR 未歸檔日誌後恢復資料庫的一點看法模式資料庫
- RMAN恢復之RMAN-06555處理
- rman 增量備份恢復
- Oracle RMAN恢復測試Oracle
- RMAN備份恢復技巧
- rman恢復控制檔案的一個小錯誤
- 【BBED】丟失歸檔檔案情況下的恢復
- oracle dg 歸檔日誌恢復情況Oracle
- 查詢RMAN恢復進度
- Oracle RMAN 表空間恢復Oracle
- RMAN備份異機恢復
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- RMAN備份恢復典型案例——異機恢復未知DBID
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- DM7使用DMRAMN執行歸檔恢復
- RMAN備份恢復典型案例——資料檔案存在壞快
- RMAN備份恢復效能優化優化
- 在rman恢復中incarnation的概念
- RMAN備份與恢復測試
- rac歸檔模式/非歸檔模式下檔案建至本地儲存修復方法-ORA-01157模式
- Oracle 備份恢復篇之RMAN catalogOracle
- ORACLE DG從庫 Rman備份恢復Oracle
- rman備份異機恢復(原創)
- oracle rman 刪除過期的歸檔Oracle
- rman 還原歸檔日誌(restore archivelogRESTHive
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- 12C grid CDB異機恢復+歸檔(DDL操作)
- 【RMAN】Oracle12c以後rman 備份恢復命令參考Oracle
- 【RMAN】在多租戶環境下的RMAN備份及恢復
- Oracle 12C新特性-RMAN恢復表Oracle
- RMAN備份恢復典型案例——ORA-00245
- 透過搭建恢復目錄實現RMAN異地備份和恢復