循序漸進oracle第7章:備份與恢復之RMAN映象拷貝完全恢復
/* 2008/06/06
*環境:Windows XP +Oracle10.2.0.1
*循序漸進oracle——資料庫管理、優化與備份恢復
*循序漸進oracle第7章:備份與恢復之RMAN映象拷貝完全恢復
*/
7 RMAN的備份與恢復
1、RMAN映象拷貝功能
RMAN> run{
2> allocate channel ch1 type disk;
3> copy
4> datafile 1 to 'e:\backup\system01.dbf',
5> current controlfile to 'e:\backup\control01.ctl';
6> }
釋放的通道: ORA_DISK_1
分配的通道: ch1
通道 ch1: sid=135 devtype=DISK
啟動 backup 於 06-6月 -08
通道 ch1: 啟動資料檔案副本
輸入資料檔案 fno=00001 name=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSTEM01.DB
F
輸出檔名 = E:\BACKUP\SYSTEM01.DBF 標記 = TAG20080606T072703 recid = 25 時間戳
= 656666869
通道 ch1: 資料檔案複製完畢, 經過時間: 00:00:55
通道 ch1: 啟動資料檔案副本
複製當前控制檔案
輸出檔名 = E:\BACKUP\CONTROL01.CTL 標記 = TAG20080606T072703 recid = 26 時間戳
= 656666880
通道 ch1: 資料檔案複製完畢, 經過時間: 00:00:01
完成 backup 於 06-6月 -08
啟動 Control File and SPFILE Autobackup 於 06-6月 -08
段 handle=G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\AUTOBACKUP\2008_0
6_06\O1_MF_S_656666880_44JXN1D6_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 於 06-6月 -08
釋放的通道: ch1
2、Oracle10g開始,允許使用單條命令"backup as copy"進行資料庫拷貝
RMAN> run{
2> backup as copy tag "20080605_copy" database;
3> }
啟動 backup 於 06-6月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=135 devtype=DISK
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00001 name=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSTEM01.DB
F
輸出檔名 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\DATAFILE\O1_MF
_SYSTEM_44JXWG2G_.DBF 標記 = 20080605_COPY recid = 27 時間戳 = 656667195
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:56
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00003 name=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSAUX01.DB
F
輸出檔名 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\DATAFILE\O1_MF
_SYSAUX_44JXY57B_.DBF 標記 = 20080605_COPY recid = 28 時間戳 = 656667224
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:25
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00002 name=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\UNDOTBS01.D
BF
輸出檔名 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\DATAFILE\O1_MF
_UNDOTBS1_44JXYYF5_.DBF 標記 = 20080605_COPY recid = 29 時間戳 = 656667233
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:07
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00005 name=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF
輸出檔名 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\DATAFILE\O1_MF
_RISE_44JXZ5L2_.DBF 標記 = 20080605_COPY recid = 30 時間戳 = 656667238
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:03
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00004 name=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\USERS01.DBF
輸出檔名 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\DATAFILE\O1_MF
_USERS_44JXZ8TV_.DBF 標記 = 20080605_COPY recid = 31 時間戳 = 656667241
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:01
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00006 name=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\MZL.DBF
輸出檔名 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\DATAFILE\O1_MF
_MZL_44JXZB0Z_.DBF 標記 = 20080605_COPY recid = 32 時間戳 = 656667242
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:02
完成 backup 於 06-6月 -08
啟動 Control File and SPFILE Autobackup 於 06-6月 -08
段 handle=G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\AUTOBACKUP\2008_0
6_06\O1_MF_S_656667243_44JXZD0H_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 於 06-6月 -08
RMAN>
3、檢視拷貝的檔案
RMAN> list copy;
說明與恢復目錄中的任何存檔日誌均不匹配
資料檔案副本列表
關鍵字 檔案 S 完成時間 Ckp SCN Ckp 時間 名稱
------- ---- - ---------- ---------- ---------- ----
27 1 A 06-6月 -08 944359 06-6月 -08 G:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\RISENET\DATAFILE\O1_MF_SYSTEM_44JXWG2G_.DBF
25 1 A 06-6月 -08 944125 06-6月 -08 E:\BACKUP\SYSTEM01.DBF
29 2 A 06-6月 -08 944397 06-6月 -08 G:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\RISENET\DATAFILE\O1_MF_UNDOTBS1_44JXYYF5_.DBF
28 3 A 06-6月 -08 944387 06-6月 -08 G:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\RISENET\DATAFILE\O1_MF_SYSAUX_44JXY57B_.DBF
31 4 A 06-6月 -08 944409 06-6月 -08 G:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\RISENET\DATAFILE\O1_MF_USERS_44JXZ8TV_.DBF
30 5 A 06-6月 -08 944401 06-6月 -08 G:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\RISENET\DATAFILE\O1_MF_RISE_44JXZ5L2_.DBF
32 6 A 06-6月 -08 944410 06-6月 -08 G:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\RISENET\DATAFILE\O1_MF_MZL_44JXZB0Z_.DBF
控制檔案副本列表
關鍵字 S 完成時間 Ckp SCN Ckp 時間 名稱
------- - ---------- ---------- ---------- ----
26 A 06-6月 -08 944151 06-6月 -08 E:\BACKUP\CONTROL01.CTL
RMAN>
4、RMAN基於映象copy的表空間恢復
關閉資料庫,模擬硬體故障,刪除資料檔案rise.dbf檔案
SQL> shutdown immediate
刪除$oracle_home\oradata\risenet\rise.dbf檔案
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 100664100 bytes
Database Buffers 163577856 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 5 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 5: 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF'
SQL> select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- --------------- ---------- --------------
5 ONLINE ONLINE FILE NOT FOUND 0
C:\>rman target/
恢復管理器: Release 10.2.0.1.0 - Production on 星期五 6月 6 07:44:11 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已連線到目標資料庫: RISENET (DBID=2274326636, 未開啟)
RMAN> run{
2> set newname for datafile 5 to 'G:\oracle\product\10.2.0\oradata\risenet\rise.
dbf';
3> restore datafile 5;
4> switch datafile all;
5> recover datafile 5;
6> }
正在執行命令: SET NEWNAME
使用目標資料庫控制檔案替代恢復目錄
啟動 restore 於 06-6月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在恢復資料檔案00005
輸入資料檔案副本 recid=30 stamp=656667238 檔名=G:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\RISENET\DATAFILE\O1_MF_RISE_44JXZ5L2_.DBF
資料檔案 00005 的恢復目標: G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF
通道 ORA_DISK_1: 已複製資料檔案 00005 的資料檔案副本
輸出檔名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF recid=33 stamp=6566
67952
完成 restore 於 06-6月 -08
啟動 recover 於 06-6月 -08
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:02
完成 recover 於 06-6月 -08
RMAN>
RMAN> alter database open;
資料庫已開啟
5、如果資料檔案全部丟失,用rman進行完全恢復
1 插入資料
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
會話已更改。
SQL> select * from test;
ID TIME
---------- -------------------
3 2017-01-27 14:44:54
1 2008-05-28 15:33:31
SQL> insert into test values(5,sysdate);
已建立 1 行。
SQL> select * from test;
ID TIME
---------- -------------------
5 2008-06-06 08:00:34
3 2017-01-27 14:44:54
1 2008-05-28 15:33:31
SQL> commit;
提交完成。
2 關閉,刪除全部資料檔案,然後重起
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 104858404 bytes
Database Buffers 159383552 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 1 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 1: 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSTEM01.DBF'
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
risenet MOUNTED
SQL> select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- --------------- ---------- --------------
1 ONLINE ONLINE FILE NOT FOUND 0
2 ONLINE ONLINE FILE NOT FOUND 0
3 ONLINE ONLINE FILE NOT FOUND 0
5 ONLINE ONLINE FILE NOT FOUND 0
6 ONLINE ONLINE FILE NOT FOUND 0
3 恢復資料檔案
C:\>rman target/
恢復管理器: Release 10.2.0.1.0 - Production on 星期五 6月 6 08:05:31 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已連線到目標資料庫: RISENET (DBID=2274326636, 未開啟)
RMAN> restore database;
啟動 restore 於 06-6月 -08
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在恢復資料檔案00001
輸入資料檔案副本 recid=27 stamp=656667195 檔名=G:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\RISENET\DATAFILE\O1_MF_SYSTEM_44JXWG2G_.DBF
資料檔案 00001 的恢復目標: G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSTEM01.DBF
通道 ORA_DISK_1: 已複製資料檔案 00001 的資料檔案副本
輸出檔名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSTEM01.DBF recid=34 stamp=
656669190
通道 ORA_DISK_1: 正在恢復資料檔案00002
輸入資料檔案副本 recid=29 stamp=656667233 檔名=G:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\RISENET\DATAFILE\O1_MF_UNDOTBS1_44JXYYF5_.DBF
資料檔案 00002 的恢復目標: G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\UNDOTBS01.DB
F
通道 ORA_DISK_1: 已複製資料檔案 00002 的資料檔案副本
輸出檔名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\UNDOTBS01.DBF recid=35 stamp
=656669203
通道 ORA_DISK_1: 正在恢復資料檔案00003
輸入資料檔案副本 recid=28 stamp=656667224 檔名=G:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\RISENET\DATAFILE\O1_MF_SYSAUX_44JXY57B_.DBF
資料檔案 00003 的恢復目標: G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSAUX01.DBF
通道 ORA_DISK_1: 已複製資料檔案 00003 的資料檔案副本
輸出檔名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSAUX01.DBF recid=36 stamp=
656669222
通道 ORA_DISK_1: 正在恢復資料檔案00004
輸入資料檔案副本 recid=31 stamp=656667241 檔名=G:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\RISENET\DATAFILE\O1_MF_USERS_44JXZ8TV_.DBF
資料檔案 00004 的恢復目標: G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\USERS01.DBF
通道 ORA_DISK_1: 已複製資料檔案 00004 的資料檔案副本
輸出檔名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\USERS01.DBF recid=37 stamp=6
56669228
通道 ORA_DISK_1: 正在恢復資料檔案00005
輸入資料檔案副本 recid=30 stamp=656667238 檔名=G:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\RISENET\DATAFILE\O1_MF_RISE_44JXZ5L2_.DBF
資料檔案 00005 的恢復目標: G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF
通道 ORA_DISK_1: 已複製資料檔案 00005 的資料檔案副本
輸出檔名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF recid=38 stamp=6566
69230
通道 ORA_DISK_1: 正在恢復資料檔案00006
輸入資料檔案副本 recid=32 stamp=656667242 檔名=G:\ORACLE\PRODUCT\10.2.0\FLASH_
RECOVERY_AREA\RISENET\DATAFILE\O1_MF_MZL_44JXZB0Z_.DBF
資料檔案 00006 的恢復目標: G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\MZL.DBF
通道 ORA_DISK_1: 已複製資料檔案 00006 的資料檔案副本
輸出檔名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\MZL.DBF recid=39 stamp=65666
9230
完成 restore 於 06-6月 -08
RMAN> recover database;
啟動 recover 於 06-6月 -08
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:02
完成 recover 於 06-6月 -08
RMAN> alter database open;
資料庫已開啟
SQL> select * from test;
ID TIME
---------- -------------------
5 2008-06-06 08:00:34
3 2017-01-27 14:44:54
1 2008-05-28 15:33:31
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-332657/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 備份恢復篇之RMAN catalogOracle
- ORACLE DG從庫 Rman備份恢復Oracle
- RAC備份恢復之Voting備份與恢復
- RMAN備份與恢復測試
- rman 增量備份恢復
- RMAN備份恢復技巧
- Oracle 備份恢復之 FlashbackOracle
- Oracle 備份 與 恢復 概述Oracle
- RMAN備份異機恢復
- G017-ORACLE-MIGRATION-01 RMAN備份異機不完全恢復Oracle
- RMAN備份恢復典型案例——異機恢復未知DBID
- 備份與恢復oracle_homeOracle
- RMAN備份恢復效能優化優化
- 備份與恢復:polardb資料庫備份與恢復資料庫
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- 【RMAN】Oracle12c以後rman 備份恢復命令參考Oracle
- Oracle 12c 備份與恢復Oracle
- rman備份異機恢復(原創)
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- ORACLE備份&恢復案例(轉)Oracle
- MySQL 非常規恢復與物理備份恢復MySql
- Oracle RMAN恢復測試Oracle
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(二)備份恢復之前你需要知道的Oracle
- 12 使用RMAN備份和恢復檔案
- RMAN備份恢復典型案例——ORA-00245
- Windows oracle 11g rman備份恢復到linux系統WindowsOracleLinux
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- oracle 增量備份恢復驗證Oracle
- Oracle 備份和恢復介紹Oracle
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- ORACLE本地磁碟備份恢復Oracle
- 【RMAN】Oracle12c之後,rman備份Dataguard備端恢復可能出現邏輯錯誤Oracle
- Oracle 不完全恢復Oracle
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql