本文主要針對備份和恢復數據文件,具體rman知識點查閱我的另一篇文章:http://blog.csdn.net/perfect_db/article/details/8765022
首先看看數據文件的情況:
SQL> selectfile_name,file_id,tablespace_name from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME
---------------------------------------------------------------------- ------------------------------
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF 4 USERS
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF 3 SYSAUX
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF 2 UNDOTBS1
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF 1 SYSTEM
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF 5 EXAMPLE
E:\RM_TAB.DBF 6 RM_TABLESPACE
E:\RMAN.DBF 7 RMAN_TAB
已選擇7行。
C:\Documents andSettings\Administrator>rman target /
恢復管理器: Release 11.2.0.1.0 - Production on 星期二 9月 17 15:54:092013
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates. All rights reserved.
連接到目標數據庫: ORCL (DBID=1318810635)
查看數據庫已有備份情況:
RMAN> list backup;
備份集列表
===================
BS 關鍵字 類型 LV 大小 設備類型 經過時間 完成時間
------- ---- -- ---------- ----------------------- ----------
145 Full 1.60G DISK 00:03:35 02-9月 -13
BP 關鍵字: 144 狀態:AVAILABLE 已壓縮: NO 標記:TAG20130902T160350
段名:D:\BACKUP\FULL_ORCL_825091431_171.BAK
備份集 145 中的數據文件列表
文件 LV 類型 CkpSCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 Full 33823078237 02-9月 -13E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
2 Full 33823078237 02-9月 -13E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
3 Full 33823078237 02-9月 -13E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
4 Full 33823078237 02-9月 -13E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
5 Full 33823078237 02-9月 -13E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
6 Full 33823078237 02-9月 -13E:\RM_TAB.DBF
7 Full 33823078237 02-9月 -13E:\RMAN.DBF
BS 關鍵字 大小 設備類型佔用時間 完成時間
------- ---------- ----------- ----------------------
150 698.25M DISK 00:01:40 02-9月 -13
BP 關鍵字: 149 狀態:AVAILABLE 已壓縮: NO 標記:TAG20130902T165210
段名:D:\BACKUP\ARCH_ORCL_20130902_176.BAK
備份集 150 中的已存檔日誌列表
線程序列 低 SCN 時間下限 下一個 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 42 33822522080 25-8月 -1333822546427 26-8月 -13
1 43 33822546427 26-8月 -1333822572086 26-8月 -13
1 44 33822572086 26-8月 -1333822577968 26-8月 -13
1 45 33822577968 26-8月 -1333822597826 27-8月 -13
1 46 33822597826 27-8月 -1333822632804 27-8月 -13
1 47 33822632804 27-8月 -1333822708919 27-8月 -13
1 48 33822708919 27-8月 -1333822741205 27-8月 -13
1 49 33822741205 27-8月 -1333822776061 28-8月 -13
1 50 33822776061 28-8月 -1333822806367 28-8月 -13
1 51 33822806367 28-8月 -13 3382284917730-8月 -13
1 52 33822849177 30-8月 -1333822855569 30-8月 -13
1 53 33822855569 30-8月 -1333822890493 30-8月 -13
1 54 33822890493 30-8月 -1333822914392 31-8月 -13
1 55 33822914392 31-8月 -1333822923253 31-8月 -13
1 56 33822923253 31-8月 -1333822946575 01-9月 -13
1 57 33822946575 01-9月 -1333822953742 01-9月 -13
1 58 33822953742 01-9月 -1333822956954 01-9月 -13
1 59 33822956954 01-9月 -1333822972848 01-9月 -13
1 60 33822972848 01-9月 -1333823003071 01-9月 -13
1 61 33823003071 01-9月 -1333823038838 02-9月 -13
1 62 33823038838 02-9月 -1333823060805 02-9月 -13
1 63 33823060805 02-9月 -1333823080230 02-9月 -13
1 64 33823080230 02-9月 -13 3382308026302-9月 -13
BS 關鍵字 類型 LV 大小 設備類型 經過時間 完成時間
------- ---- -- ---------- ----------------------- ----------
154 Full 96.00K DISK 00:00:01 17-9月 -13
BP 關鍵字: 153 狀態:AVAILABLE 已壓縮: NO 標記:TAG20130917T160606
段名:D:\BACKUP\ORCL_180.BAK
備份集 154 中的數據文件列表
文件 LV 類型 CkpSCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
7 Full 33823344873 17-9月 -13E:\RMAN.DBF
BS 關鍵字 類型 LV 大小 設備類型 經過時間 完成時間
------- ---- -- ---------- ----------------------- ----------
155 Full 9.55M DISK 00:00:03 17-9月 -13
BP 關鍵字: 154 狀態:AVAILABLE 已壓縮: NO 標記:TAG20130917T160610
段名:F:\RMANBACKUP\CONTROLFILE\C-1318810635-20130917-00
包含的 SPFILE: 修改時間: 17-9月 -13
包括的控制文件: CkpSCN: 33823344928 Ckp 時間: 17-9月 -13
RMAN> backup datafile 7;
啓動 backup 於 17-9月 -13
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啓動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
輸入數據文件: 文件號=00007 名稱=E:\RMAN.DBF
通道 ORA_DISK_1: 正在啓動段 1 於 17-9月 -13
通道 ORA_DISK_1: 已完成段 1 於 17-9月 -13
段句柄=D:\BACKUP\ORCL_182.BAK 標記=TAG20130917T161421註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
完成 backup 於 17-9月 -13
啓動 Control File and SPFILE Autobackup 於 17-9月 -13
段 handle=F:\RMANBACKUP\CONTROLFILE\C-1318810635-20130917-01comment=NONE
完成 Control File and SPFILE Autobackup 於 17-9月 -13
RMAN> report obsolete;
RMAN 保留策略將應用於該命令
將 RMAN 保留策略設置爲冗餘 1
已廢棄的備份和副本報表
類型 關鍵字 完成時間 文件名/句柄
-------------------- ------------------------ --------------------
備份集 154 17-9月 -13
備份片段 153 17-9月 -13 D:\BACKUP\ORCL_180.BAK
備份集 155 17-9月 -13
備份片段 154 17-9月 -13 F:\RMANBACKUP\CONTROLFILE\C-1318810635-20130917-00
說明之前與該次相同備份的備份集失效,包括一個自動備份的控制文件;而通過list backup發現多了下列的備份內容:
BS 關鍵字 類型 LV 大小 設備類型 經過時間 完成時間
------- ---- -- ---------- ----------------------- ----------
156 Full 96.00K DISK 00:00:01 17-9月 -13
BP 關鍵字: 155 狀態:AVAILABLE 已壓縮: NO 標記:TAG20130917T161421
段名:D:\BACKUP\ORCL_182.BAK
備份集 156 中的數據文件列表
文件 LV 類型 CkpSCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
7 Full 33823346326 17-9月 -13E:\RMAN.DBF
BS 關鍵字 類型 LV 大小 設備類型 經過時間 完成時間
------- ---- -- ---------- ----------------------- ----------
157 Full 9.55M DISK 00:00:04 17-9月 -13
BP 關鍵字: 156 狀態:AVAILABLE 已壓縮: NO 標記:TAG20130917T161422
段名:F:\RMANBACKUP\CONTROLFILE\C-1318810635-20130917-01
包含的 SPFILE: 修改時間: 17-9月 -13
包括的控制文件: CkpSCN: 33823346333 Ckp 時間: 17-9月 -13
順便查看一下rman的配置情況
RMAN> show all;
db_unique_name 爲 PRIMARY 的數據庫的 RMAN 配置參數爲:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;# default
CONFIGURE BACKUP OPTIMIZATION OFF; #default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; #default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FORDEVICE TYPE DISK TO 'f:\rmanbackup\controlfile\%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICETYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FORDEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISKFORMAT 'd:\backup\%d_%s.bak';
CONFIGURE MAXSETSIZE TO UNLIMITED; #default
CONFIGURE ENCRYPTION FOR DATABASE OFF; #default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; #default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' ASOF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TONONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO'E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORCL.ORA'; # default
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
手動把文件E:\RMAN.DBF刪除;再打開數據庫
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area 836976640 bytes
Fixed Size 1377812 bytes
Variable Size 683674092 bytes
Database Buffers 146800640 bytes
Redo Buffers 5124096 bytes
數據庫裝載完畢。
ORA-01157: 無法標識/鎖定數據文件 7 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數據文件 7: 'E:\RMAN.DBF'
RMAN> restore datafile 7;
RMAN-06900: 警告: 無法生成V$RMAN_STATUS 或 V$RMAN_OUTPUT 行
RMAN-06901: 警告: 禁止更新V$RMAN_STATUS 和 V$RMAN_OUTPUT 行
來自目標數據庫的 ORACLE 錯誤:
ORA-03113: 通信通道的文件結尾
進程 ID: 6068
會話 ID: 8 序列號: 5
啓動 restore 於 17-9月 -13
RMAN-00571:===========================================================
RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============
RMAN-00571:===========================================================
說明剛纔在sql窗口對數據庫關閉了,此通道不能用,就退出重新登錄
RMAN> exit
恢復管理器完成。
C:\Documents andSettings\Administrator>rman target /
恢復管理器: Release 11.2.0.1.0 - Production on 星期二 9月 17 16:28:142013
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates. All rights reserved.
已連接到目標數據庫: ORCL (DBID=1318810635, 未打開)
RMAN> restore datafile 7;
啓動 restore 於 17-9月 -13
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=10 設備類型=DISK
通道 ORA_DISK_1: 正在開始還原數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集還原的數據文件
通道 ORA_DISK_1: 將數據文件 00007 還原到 E:\RMAN.DBF
通道 ORA_DISK_1: 正在讀取備份片段 D:\BACKUP\ORCL_182.BAK
通道 ORA_DISK_1: 段句柄 = D:\BACKUP\ORCL_182.BAK 標記 = TAG20130917T161421
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:04
完成 restore 於 17-9月 -13
SQL> startup
ORA-01081: 無法啓動已在運行的 ORACLE - 請首先關閉它
SQL> selectfile_name,file_id,tablespace_name from dba_data_files;
select file_name,file_id,tablespace_namefrom dba_data_files
*
第 1 行出現錯誤:
ORA-01219: 數據庫未打開: 僅允許在固定表/視圖中查詢
SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-01113: 文件 7 需要介質恢復
ORA-01110: 數據文件 7: 'E:\RMAN.DBF'
SQL> recover datafile 7;
完成介質恢復。
SQL> alter database open;
數據庫已更改。
SQL> selectfile_name,file_id,tablespace_name from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME
---------------------------------------------------------------------- ------------------------------
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF 4 USERS
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF 3 SYSAUX
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF 2 UNDOTBS1
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF 1 SYSTEM
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF 5 EXAMPLE
E:\RM_TAB.DBF 6 RM_TABLESPACE
E:\RMAN.DBF 7 RMAN_TAB
已選擇7行。
OK說明已經恢復;這裏有個問題,restore是從rman裏執行,而recover是從sql*plus窗口中執行的;
下面演示一下完全從sql窗口中執行和完全從rman 中執行;
sql*plus窗口:
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
手動把文件E:\RMAN.DBF刪除;再打開數據庫
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area 836976640 bytes
Fixed Size 1377812 bytes
Variable Size 683674092 bytes
Database Buffers 146800640 bytes
Redo Buffers 5124096 bytes
數據庫裝載完畢。
ORA-01157: 無法標識/鎖定數據文件 7 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數據文件 7: 'E:\RMAN.DBF'
看來sql*plus窗口下不能使用restore命令
SQL> restore datafile 7;
SP2-0734: 未知的命令開頭 "restoreda..." - 忽略了剩餘的行。
rman 窗口
RMAN> restore datafile 7;
啓動 restore 於 17-9月 -13
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=10 設備類型=DISK
通道 ORA_DISK_1: 正在開始還原數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集還原的數據文件
通道 ORA_DISK_1: 將數據文件 00007 還原到 E:\RMAN.DBF
通道 ORA_DISK_1: 正在讀取備份片段 D:\BACKUP\ORCL_182.BAK
通道 ORA_DISK_1: 段句柄 = D:\BACKUP\ORCL_182.BAK 標記 =TAG20130917T161421
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:03
完成 restore 於 17-9月 -13
RMAN> recover datafile 7;
啓動 recover 於 17-9月 -13
使用通道 ORA_DISK_1
正在開始介質的恢復
線程 1 序列 88 的歸檔日誌已作爲文件 F:\FLASH_RECOVER_AREA\ORCL\ARCHIVELOG\00010000000088823188844.ARC 存在於磁盤上
線程 1 序列 89 的歸檔日誌已作爲文件 F:\FLASH_RECOVER_AREA\ORCL\ARCHIVELOG\00010000000089823188844.ARC 存在於磁盤上
線程 1 序列 90 的歸檔日誌已作爲文件 F:\FLASH_RECOVER_AREA\ORCL\ARCHIVELOG\00010000000090823188844.ARC 存在於磁盤上
線程 1 序列 91 的歸檔日誌已作爲文件 F:\FLASH_RECOVER_AREA\ORCL\ARCHIVELOG\00010000000091823188844.ARC 存在於磁盤上
歸檔日誌文件名=F:\FLASH_RECOVER_AREA\ORCL\ARCHIVELOG\00010000000088823188844.ARC 線程=1 序列=88
歸檔日誌文件名=F:\FLASH_RECOVER_AREA\ORCL\ARCHIVELOG\00010000000089823188844.ARC 線程=1 序列=89
介質恢復完成, 用時: 00:00:08
完成 recover 於 17-9月 -13
看來rman窗口操作很清晰,很直觀,能夠看到從哪些歸檔文件中恢復;所以既然備份用的是rman,那麼恢復也全部用rman比較好(restore只能在rman下操作,recover 還可以在sql*plus下操作,我想讀取的應該是控制文件中的信息,如果用恢復目錄不知道能用不?有待驗證);
-----------------------------------------------------------------------------------------------------------------------
博文所有內容均屬原創,文章允許轉載,但必須以鏈接方式註明源地址,否則追究法律責任!
Blog: http://blog.csdn.net/perfect_db
Email: p[email protected]
QQ: 787266309