windows下異機恢復---改變db_name
本次試驗,參考metalink上的 doc:419137.1
將源db透過rman異機恢復到目的庫,並重新修改db_name為sp
源主機 192.168.1.244 ,db_name為win10g ,rman中的控制檔案自動備份開啟
往表t中插入資料,觀察日誌情況,並切換日誌組
SSQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 120 CURRENT 6079303 NO
2 119 INACTIVE 6079232 YES
3 118 INACTIVE 6079199 YES
SQL> insert into t values(6);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 120 ACTIVE 6079303 YES
2 119 INACTIVE 6079232 YES
3 121 CURRENT 6083207 NO
第二次
SQL> insert into t values(7);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 120 ACTIVE 6079303 YES
2 122 CURRENT 6083236 NO
3 121 ACTIVE 6083207 YES
第三次
SQL> insert into t values(8);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 123 CURRENT 6083256 NO
2 122 ACTIVE 6083236 YES
3 121 ACTIVE 6083207 YES
第四次
SQL> insert into t values(9);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 123 ACTIVE 6083256 YES
2 122 ACTIVE 6083236 YES
3 124 CURRENT 6083276 NO
第五次
SQL> insert into t values(10);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 123 ACTIVE 6083256 YES
2 125 CURRENT 6083295 NO
3 124 ACTIVE 6083276 YES
第六次
SQL> insert into t values(11);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 126 CURRENT 6083310 NO
2 125 ACTIVE 6083295 YES
3 124 ACTIVE 6083276 YES
第七次
SQL> insert into t values(12);
已建立 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系統已更改。
SQL> select group#,sequence#,status,first_change#,archived from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE# ARC
---------- ---------- ---------------- ------------- ---
1 126 ACTIVE 6083310 YES
2 125 ACTIVE 6083295 YES
3 127 CURRENT 6083332 NO
SQL> select * from t;
ID
----------
6
7
8
9
10
11
12
已選擇7行。
這個時候在閃回恢復區中生成了 多個歸檔日誌檔案
然後備份win10g
run{
backup as compressed backupset database;
backup archivelog all not backed up delete input;
delete noprompt obsolete recovery window of 5 days;
}
啟動 backup 於 20-3月 -13
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=158 devtype=DISK
通道 ORA_DISK_1: 啟動壓縮的全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00001 name=C:\ORADATA\WIN10G\SYSTEM01.DBF
輸入資料檔案 fno=00003 name=C:\ORADATA\WIN10G\SYSAUX01.DBF
輸入資料檔案 fno=00002 name=C:\ORADATA\WIN10G\UNDOTBS01.DBF
輸入資料檔案 fno=00005 name=C:\ORADATA\WIN10G\EXAMPLE01.DBF
輸入資料檔案 fno=00006 name=C:\ORADATA\TT.DBF
輸入資料檔案 fno=00004 name=C:\ORADATA\WIN10G\USERS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 20-3月 -13
通道 ORA_DISK_1: 已完成段 1 於 20-3月 -13
段控制程式碼=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\
O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP 標記=TAG20130320T173244 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:01:05
完成 backup 於 20-3月 -13
啟動 backup 於 20-3月 -13
當前日誌已存檔
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動存檔日誌備份集
通道 ORA_DISK_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =120 記錄 ID=118 時間戳=810581265
輸入存檔日誌執行緒 =1 序列 =121 記錄 ID=119 時間戳=810581329
輸入存檔日誌執行緒 =1 序列 =122 記錄 ID=120 時間戳=810581366
輸入存檔日誌執行緒 =1 序列 =123 記錄 ID=121 時間戳=810581414
輸入存檔日誌執行緒 =1 序列 =124 記錄 ID=122 時間戳=810581447
輸入存檔日誌執行緒 =1 序列 =125 記錄 ID=123 時間戳=810581480
輸入存檔日誌執行緒 =1 序列 =126 記錄 ID=124 時間戳=810581510
輸入存檔日誌執行緒 =1 序列 =127 記錄 ID=125 時間戳=810581633
通道 ORA_DISK_1: 正在啟動段 1 於 20-3月 -13
通道 ORA_DISK_1: 已完成段 1 於 20-3月 -13
段控制程式碼=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\
O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP 標記=TAG20130320T173353 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
通道 ORA_DISK_1: 正在刪除存檔日誌
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_120_8NM08K2X_.ARC 記錄 ID=118 時間戳 =810581265
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_121_8NM0BKL2_.ARC 記錄 ID=119 時間戳 =810581329
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_122_8NM0CPPG_.ARC 記錄 ID=120 時間戳 =810581366
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_123_8NM0F6PG_.ARC 記錄 ID=121 時間戳 =810581414
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_124_8NM0G7OZ_.ARC 記錄 ID=122 時間戳 =810581447
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_125_8NM0H8OZ_.ARC 記錄 ID=123 時間戳 =810581480
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_126_8NM0J6OZ_.ARC 記錄 ID=124 時間戳 =810581510
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_20\O1_MF_1_127_8NM0N11G_.ARC 記錄 ID=125 時間戳 =810581633
完成 backup 於 20-3月 -13
啟動 Control File and SPFILE Autobackup 於 20-3月 -13
段 handle=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\AUTOBACKUP\2013_03
_20\O1_MF_S_810581634_8NM0N30H_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 於 20-3月 -13
使用通道 ORA_DISK_1
未找到已廢棄的備份
RMAN>
RMAN> list backup;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
72 Full 168.66M DISK 00:00:56 20-3月 -13
BP 關鍵字: 72 狀態: AVAILABLE 已壓縮: YES 標記: TAG20130320T173244
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP
備份集 72 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\SYSTEM01.DBF
2 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\UNDOTBS01.DBF
3 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\SYSAUX01.DBF
4 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\USERS01.DBF
5 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\EXAMPLE01.DBF
6 Full 6083442 20-3月 -13 C:\ORADATA\TT.DBF
BS 關鍵字 大小 裝置型別佔用時間 完成時間
------- ---------- ----------- ------------ ----------
73 3.66M DISK 00:00:00 20-3月 -13
BP 關鍵字: 73 狀態: AVAILABLE 已壓縮: NO 標記: TAG20130320T173353
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP
備份集 73 中的已存檔日誌列表
Thrd Seq 低 SCN 短時間 下一個 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 120 6079303 20-3月 -13 6083207 20-3月 -13
1 121 6083207 20-3月 -13 6083236 20-3月 -13
1 122 6083236 20-3月 -13 6083256 20-3月 -13
1 123 6083256 20-3月 -13 6083276 20-3月 -13
1 124 6083276 20-3月 -13 6083295 20-3月 -13
1 125 6083295 20-3月 -13 6083310 20-3月 -13
1 126 6083310 20-3月 -13 6083332 20-3月 -13
1 127 6083332 20-3月 -13 6083507 20-3月 -13
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
74 Full 6.95M DISK 00:00:01 20-3月 -13
BP 關鍵字: 74 狀態: AVAILABLE 已壓縮: NO 標記: TAG20130320T173354
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\AUTOBACKUP\2013_03_20\O1_MF_S_810581634_8NM0N30H_.BKP
包括的控制檔案: Ckp SCN: 6083513 Ckp 時間: 20-3月 -13
包含的 SPFILE: 修改時間: 20-3月 -13
RMAN>
目的主機 192.168.1.240 db_name為tt ,rman中的設定都為預設
現在想要把244主機上的備份異地恢復到240主機上,並重名名db_name為sp
1:將源主機(244)上的備份 全部scp到目的主機(240)的 C:\scp目錄下
O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP -------資料檔案備份
O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP -------歸檔日誌檔案備份
O1_MF_S_810581634_8NM0N30H_.BKP ---------- 控制檔案自動備份
在目的庫tt上建立pfile檔案
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 293601280 bytes
Fixed Size 1248624 bytes
Variable Size 96469648 bytes
Database Buffers 192937984 bytes
Redo Buffers 2945024 bytes
SQL> create pfile from spfile;
檔案已建立。
2:關閉目的庫sp,恢復控制檔案
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
然後刪除原來so資料庫的所有資料檔案、控制檔案及日誌檔案
修改zt庫上的pfile檔案(所在目錄為C:\oracle\product\10.2.0\db_1\database\inittt.ora)
將裡面的 db_name改為 win10g ,如果有 undo_tablespace 則改為源主機對應的,而service_names、
instance_name 可改可不改
如果這裡直接將db_name 改為 sp 的話,那麼在將db啟動到mount狀態時報錯:
ORA-01103: 控制檔案中的資料庫名 ''WIN10G'' 不是 ''SP''
然後恢復控制檔案
RMAN> startup nomount;
Oracle 例項已啟動
系統全域性區域總計 293601280 位元組
Fixed Size 1248624 位元組
Variable Size 96469648 位元組
Database Buffers 192937984 位元組
Redo Buffers 2945024 位元組
RMAN>
RMAN> restore controlfile from 'C:\scp\O1_MF_S_810581634_8NM0N30H_.BKP'; //必須在rman中執行
啟動 restore 於 20-3月 -13
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在復原控制檔案
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:01
輸出檔名=C:\SPDATA\SP\CONTROL01.CTL
輸出檔名=C:\SPDATA\SP\CONTROL02.CTL
輸出檔名=C:\SPDATA\SP\CONTROL03.CTL
完成 restore 於 20-3月 -13
RMAN>
3:檢視控制檔案裡的備份資訊
RMAN> startup mount;
資料庫已經啟動
資料庫已裝載
釋放的通道: ORA_DISK_1
RMAN> list backup;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
72 Full 168.66M DISK 00:00:56 20-3月 -13
BP 關鍵字: 72 狀態: AVAILABLE 已壓縮: YES 標記: TAG20130320T173244
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP
備份集 72 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\SYSTEM01.DBF
2 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\UNDOTBS01.DBF
3 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\SYSAUX01.DBF
4 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\USERS01.DBF
5 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\EXAMPLE01.DBF
6 Full 6083442 20-3月 -13 C:\ORADATA\TT.DBF
BS 關鍵字 大小 裝置型別佔用時間 完成時間
------- ---------- ----------- ------------ ----------
73 3.66M DISK 00:00:00 20-3月 -13
BP 關鍵字: 73 狀態: AVAILABLE 已壓縮: NO 標記: TAG20130320T173353
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\BACKUPSET\2013_03_20\O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP
備份集 73 中的已存檔日誌列表
Thrd Seq 低 SCN 短時間 下一個 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 120 6079303 20-3月 -13 6083207 20-3月 -13
1 121 6083207 20-3月 -13 6083236 20-3月 -13
1 122 6083236 20-3月 -13 6083256 20-3月 -13
1 123 6083256 20-3月 -13 6083276 20-3月 -13
1 124 6083276 20-3月 -13 6083295 20-3月 -13
1 125 6083295 20-3月 -13 6083310 20-3月 -13
1 126 6083310 20-3月 -13 6083332 20-3月 -13
1 127 6083332 20-3月 -13 6083507 20-3月 -13
RMAN>
可見還是源庫(win10g)上的資訊
然後將目的主機(240)上的備份片重新註冊到控制檔案中
RMAN> catalog backuppiece 'C:\scp\O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP';//必須在rman中執行
啟動 implicit crosscheck backup 於 20-3月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉檢驗的 2 物件
完成 implicit crosscheck backup 於 20-3月 -13
啟動 implicit crosscheck copy 於 20-3月 -13
使用通道 ORA_DISK_1
已交叉檢驗的 6 物件
完成 implicit crosscheck copy 於 20-3月 -13
搜尋恢復區域中的所有檔案
正在編制檔案目錄...
沒有為檔案編制目錄
已列入目錄的備份段
備份段 handle=C:\SCP\O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP recid=74 stamp=810583087
RMAN> catalog backuppiece 'C:\SCP\O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP';//必須在rman中執行
已列入目錄的備份段
備份段 handle=C:\SCP\O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP recid=75 stamp=810583100
RMAN>
註冊以後重新檢視控制檔案裡的備份集資訊(檢視段名的區別)
RMAN> list backup;
備份集列表
===================
BS 關鍵字 大小 裝置型別佔用時間 完成時間
------- ---------- ----------- ------------ ----------
74 3.66M DISK 00:00:00 20-3月 -13
BP 關鍵字: 74 狀態: AVAILABLE 已壓縮: NO 標記: TAG20130320T173353
段名:C:\SCP\O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP
備份集 74 中的已存檔日誌列表
Thrd Seq 低 SCN 短時間 下一個 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 120 6079303 20-3月 -13 6083207 20-3月 -13
1 121 6083207 20-3月 -13 6083236 20-3月 -13
1 122 6083236 20-3月 -13 6083256 20-3月 -13
1 123 6083256 20-3月 -13 6083276 20-3月 -13
1 124 6083276 20-3月 -13 6083295 20-3月 -13
1 125 6083295 20-3月 -13 6083310 20-3月 -13
1 126 6083310 20-3月 -13 6083332 20-3月 -13
1 127 6083332 20-3月 -13 6083507 20-3月 -13
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
75 Full 168.66M DISK 00:00:00 20-3月 -13
BP 關鍵字: 75 狀態: AVAILABLE 已壓縮: YES 標記: TAG20130320T173244
段名:C:\SCP\O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP
備份集 75 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\SYSTEM01.DBF
2 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\UNDOTBS01.DBF
3 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\SYSAUX01.DBF
4 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\USERS01.DBF
5 Full 6083442 20-3月 -13 C:\ORADATA\WIN10G\EXAMPLE01.DBF
6 Full 6083442 20-3月 -13 C:\ORADATA\TT.DBF
RMAN>
RMAN> crosscheck backup;
RMAN> delete expired backup;
4:在mount狀態下,更新控制檔案裡關於資料檔案的路徑
在源庫(244)上執行 report schema,列出資料檔案編號對應的資料檔案
RMAN> report schema;
資料庫方案報表
永久資料檔案列表
===========================
檔案大小 (MB) 表空間 回退段資料檔名稱
---- -------- -------------------- ------- ------------------------
1 500 SYSTEM *** C:\ORADATA\WIN10G\SYSTEM01.DBF
2 100 UNDOTBS1 *** C:\ORADATA\WIN10G\UNDOTBS01.DBF
3 370 SYSAUX *** C:\ORADATA\WIN10G\SYSAUX01.DBF
4 52 USERS *** C:\ORADATA\WIN10G\USERS01.DBF
5 100 EXAMPLE *** C:\ORADATA\WIN10G\EXAMPLE01.DBF
6 100 TT *** C:\ORADATA\TT.DBF
臨時檔案列表
=======================
檔案大小 (MB) 表空間 最大大小 (MB) 臨時檔名稱
---- -------- -------------------- ----------- --------------------
1 21 TEMP 32767 C:\ORADATA\WIN10G\TEMP01.DBF
然後對應資料檔案編號和資料檔名,修改存放目的庫的具體路徑
在目的庫(240)上
mount狀態下
run{
set newname for datafile 1 to 'C:\spdata\sp\SYSTEM01.DBF';
set newname for datafile 2 to 'C:\spdata\sp\UNDOTBS01.DBF';
set newname for datafile 3 to 'C:\spdata\sp\SYSAUX01.DBF';
set newname for datafile 4 to 'C:\spdata\sp\USERS01.DBF';
set newname for datafile 5 to 'C:\spdata\sp\EXAMPLE01.DBF';
set newname for datafile 6 to 'C:\spdata\sp\TT.DBF';
restore database;
switch datafile all;
}
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
啟動 restore 於 20-3月 -13
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到C:\SPDATA\SP\SYSTEM01.DBF
正將資料檔案00002恢復到C:\SPDATA\SP\UNDOTBS01.DBF
正將資料檔案00003恢復到C:\SPDATA\SP\SYSAUX01.DBF
正將資料檔案00004恢復到C:\SPDATA\SP\USERS01.DBF
正將資料檔案00005恢復到C:\SPDATA\SP\EXAMPLE01.DBF
正將資料檔案00006恢復到C:\SPDATA\SP\TT.DBF
通道 ORA_DISK_1: 正在讀取備份段 C:\SCP\O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = C:\SCP\O1_MF_NNNDF_TAG20130320T173244_8NM0KWSW_.BKP 標記 = TAG20130320T
173244
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:55
完成 restore 於 20-3月 -13
資料檔案 1 已轉換成資料檔案副本
輸入資料檔案副本 recid=35 stamp=810583327 檔名=C:\SPDATA\SP\SYSTEM01.DBF
資料檔案 2 已轉換成資料檔案副本
輸入資料檔案副本 recid=36 stamp=810583327 檔名=C:\SPDATA\SP\UNDOTBS01.DBF
資料檔案 3 已轉換成資料檔案副本
輸入資料檔案副本 recid=37 stamp=810583327 檔名=C:\SPDATA\SP\SYSAUX01.DBF
資料檔案 4 已轉換成資料檔案副本
輸入資料檔案副本 recid=38 stamp=810583327 檔名=C:\SPDATA\SP\USERS01.DBF
資料檔案 5 已轉換成資料檔案副本
輸入資料檔案副本 recid=39 stamp=810583327 檔名=C:\SPDATA\SP\EXAMPLE01.DBF
資料檔案 6 已轉換成資料檔案副本
輸入資料檔案副本 recid=40 stamp=810583327 檔名=C:\SPDATA\SP\TT.DBF
set newname for 指明資料檔案往個路徑還原
restore database 開始還原資料庫
switch datafile all 更新控制檔案裡記錄的資料檔案路徑
執行完上述命令以後,v$datafile已經更新,但是v$logfile還是源庫(244)
SQL> select name from v$datafile;
NAME
------------------------------------------------------
C:\SPDATA\SP\SYSTEM01.DBF
C:\SPDATA\SP\UNDOTBS01.DBF
C:\SPDATA\SP\SYSAUX01.DBF
C:\SPDATA\SP\USERS01.DBF
C:\SPDATA\SP\EXAMPLE01.DBF
C:\SPDATA\SP\TT.DBF
已選擇6行。
SQL> select group#,member from v$logfile;
GROUP# MEMBER
---------- ----------------------------------------
3 C:\ORADATA\WIN10G\REDO03.LOG
2 C:\ORADATA\WIN10G\REDO02.LOG
1 C:\ORADATA\WIN10G\REDO01.LOG
5:更新控制檔案中redo log的位置
將源庫(244)win10g上的三個redo log複製到目的庫(240)的 C:\SPDATA\SP\zt 目錄下
mount狀態下
SQL> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
SQL> alter database rename file 'C:\ORADATA\WIN10G\REDO01.LOG' to 'C:\SPDATA\SP\REDO01.LOG';//不能在rman中執行
資料庫已更改。
SQL> alter database rename file 'C:\ORADATA\WIN10G\REDO02.LOG' to 'C:\SPDATA\SP\REDO02.LOG';
資料庫已更改。
SQL> alter database rename file 'C:\ORADATA\WIN10G\REDO03.LOG' to 'C:\SPDATA\SP\REDO03.LOG';
資料庫已更改。
檢視資料檔案頭和控制檔案的scn資訊
SQL> select file#,checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 6083442
2 6083442
3 6083442
4 6083442
5 6083442
6 6083442
已選擇6行。
SQL>
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 6083442
2 6083442
3 6083442
4 6083442
5 6083442
6 6083442
已選擇6行。
SQL> select group#,sequence#,status, first_change# from v$log;
GROUP# SEQUENCE# STATUS FIRST_CHANGE#
---------- ---------- ---------------- -------------
1 126 INACTIVE 6083310
3 127 ACTIVE 6083332
2 128 CURRENT 6083507
檢視歸檔日誌裡的具體資訊
SQL> select SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE# from v$archived_log;
。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。省略。。。。。。。。。。。。。。。。
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
115 6079023 6079059
116 6079059 6079150
117 6079150 6079199
118 6079199 6079232
119 6079232 6079303
120 6079303 6083207
121 6083207 6083236
122 6083236 6083256
123 6083256 6083276
124 6083276 6083295
125 6083295 6083310
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
126 6083310 6083332
127 6083332 6083507
已選擇90行。
SQL>
RMAN> recover database;
啟動 recover 於 21-3月 -13
使用通道 ORA_DISK_1
正在開始介質的恢復
通道 ORA_DISK_1: 正在啟動到預設目標的存檔日誌恢復
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=127
通道 ORA_DISK_1: 正在讀取備份段 C:\SCP\O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = C:\SCP\O1_MF_ANNNN_TAG20130320T173353_8NM0N1L2_.BKP 標記 = TAG20130320T173353
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:01
存檔日誌檔名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\WIN10G\ARCHIVELOG\2
013_03_21\O1_MF_1_127_8NNPDCN0_.ARC 執行緒 =1 序列 =127
無法找到存檔日誌
存檔日誌執行緒 =1 序列=1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 03/20/2013 18:09:00 上) 失敗
RMAN-06054: 介質恢復正請求未知的日誌: 執行緒 1 seq 1 lowscn 6083508
recover database until cancel 這個命令必須在sqlplus中執行,不能在rman中執行
然後在sqlplus中執行也報錯
SQL> recover database until cancel;
ORA-00283: 恢復會話因錯誤而取消
ORA-01610: 使用 BACKUP CONTROLFILE 選項的恢復必須已完成
而繼續在ramn中執行,也報錯
RMAN> recover database until scn 6083507;
啟動 recover 於 20-3月 -13
使用通道 ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 03/20/2013 19:07:52 上) 失敗
RMAN-06556: 資料檔案 1 必須從 scn 6083506 之前的備份復原
此時直接使用resetlogs方式開啟db
RMAN> alter database open resetlogs;
然後找到控制檔案的語法,重建控制檔案(open狀態下)
SQL> alter database backup controlfile to trace ;
然後在udump中找到最新的trace檔案,獲得控制檔案的語法
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Set #2. RESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- The contents of online logs will be lost and all backups will
-- be invalidated. Use this only if online logs are damaged.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "WIN10G" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'C:\SPDATA\SP\REDO01.LOG' SIZE 50M,
GROUP 2 'C:\SPDATA\SP\REDO02.LOG' SIZE 50M,
GROUP 3 'C:\SPDATA\SP\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'C:\SPDATA\SP\SYSTEM01.DBF',
'C:\SPDATA\SP\UNDOTBS01.DBF',
'C:\SPDATA\SP\SYSAUX01.DBF',
'C:\SPDATA\SP\USERS01.DBF',
'C:\SPDATA\SP\EXAMPLE01.DBF',
'C:\SPDATA\SP\TT.DBF'
CHARACTER SET ZHS16GBK
;
++++++++++++++++++++++++++++++++++++++++++++++++++
然後關閉資料庫、刪除tt庫上的三個控制檔案、將pfile中的db_name 改為sp
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL>
刪除控制檔案、修改pfile中的db_name為sp
然後啟動db到nomount狀態下
修改控制檔案的語法,將REUSE一定要改為 SET ,win10g改為sp,否則報錯如下:
CREATE CONTROLFILE REUSE DATABASE "SP" RESETLOGS ARCHIVELOG
*
第 1 行出現錯誤:
ORA-01503: CREATE CONTROLFILE ??
ORA-01504: ???? 'SP' ??? db_name 'win10g' ???
SQL> CREATE CONTROLFILE SET DATABASE "SP" RESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'C:\SPDATA\SP\REDO01.LOG' SIZE 50M,
9 GROUP 2 'C:\SPDATA\SP\REDO02.LOG' SIZE 50M,
10 GROUP 3 'C:\SPDATA\SP\REDO03.LOG' SIZE 50M
11 -- STANDBY LOGFILE
12 DATAFILE
13 'C:\SPDATA\SP\SYSTEM01.DBF',
14 'C:\SPDATA\SP\UNDOTBS01.DBF',
15 'C:\SPDATA\SP\SYSAUX01.DBF',
16 'C:\SPDATA\SP\USERS01.DBF',
17 'C:\SPDATA\SP\EXAMPLE01.DBF',
18 'C:\SPDATA\SP\TT.DBF'
19 CHARACTER SET ZHS16GBK
20 ;
控制檔案已建立。
SQL>
SQL> alter database open resetlogs;
資料庫已更改。
SQL> select name from v$database;
NAME
---------
SP
可以看到此時的資料庫名改為了最新的SP
下面看下控制檔案、日誌檔案和資料檔案的scn資訊
SQL> select file#,checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 6084324
2 6084324
3 6084324
4 6084324
5 6084324
6 6084324
已選擇6行。
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 6084324
2 6084324
3 6084324
4 6084324
5 6084324
6 6084324
已選擇6行。
SQL>
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 0 UNUSED
2 1 CURRENT
3 0 UNUSED
SQL>
驗證t表中的資料
SQL>
SQL> select * from scott.t;
ID
----------
6
7
8
9
10
11
12
已選擇7行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-1722262/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 異機恢復Oracle
- RMAN備份異機恢復
- RMAN備份恢復典型案例——異機恢復未知DBID
- 兩篇oracle異機恢復文章Oracle
- rman備份異機恢復(原創)
- 【12c 庫異機恢復】實驗
- 通過rman為客戶實現linux下oracle11.2.0.4到windows下oracle同版本資料庫的異機恢復。LinuxOracleWindows資料庫
- MySQL異常恢復之無主鍵情況下innodb資料恢復的方法MySql資料恢復
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- 異機使用完全備份恢復指定的PDB
- ORACLE 11.2.0.4 RAC RMAN異機恢復之ORA-15001Oracle
- DG同步異常恢復文件
- SQLServer異常故障恢復(二)SQLServer
- 談談WINDOWS下重灌系統後oracle的恢復WindowsOracle
- 12C grid CDB異機恢復+歸檔(DDL操作)
- 【伺服器資料恢復】重灌系統導致伺服器分割槽改變的資料恢復案例伺服器資料恢復
- 【硬碟資料恢復】加電有異響的硬碟資料恢復硬碟資料恢復
- 【伺服器資料恢復】Linux下KVM虛擬機器資料恢復案例伺服器資料恢復Linux虛擬機
- 7_Oracle truncate異常恢復之plsql修復OracleSQL
- 6_Oracle truncate異常恢復之bbed修復Oracle
- Oracle asm磁碟損壞異常恢復OracleASM
- windows10系統中環境變數怎麼恢復預設Windows變數
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- Redis當機恢復Redis
- 【虛擬機器資料恢復】異常斷電導致虛擬機器無法啟動的資料恢復案例虛擬機資料恢復
- windows10開機後恢復關機前開啟的chrome網頁WindowsChrome網頁
- Jlink v11 變磚恢復
- OceanBase-OB備份異地恢復流程
- 【11g 庫異地恢復】實驗
- G017-ORACLE-MIGRATION-01 RMAN備份異機不完全恢復Oracle
- win10系統下鎖屏桌布變黑白的恢復方法Win10
- Redis當機 快速恢復Redis
- RAC恢復到單機
- 【虛擬機器資料恢復】Linux系統下誤刪除KVM虛擬機器的資料恢復案例虛擬機資料恢復Linux
- 照片恢復軟體是如何恢復數位相機照片的?
- windows10系統刪除Windows defender後如何恢復Windows
- 行動硬碟咔咔異響資料恢復硬碟資料恢復
- 【vsan資料恢復】vsan下虛擬機器磁碟元件出現問題的資料恢復案例資料恢復虛擬機元件
- Win10系統下環境變數Path編輯變成舊版本如何恢復Win10變數