Oracle10g增加備份集的CATALOG
對於9i之前,如果控制檔案重建或者控制檔案恢復,導致部分備份集資訊丟失,是一件很麻煩的事情。
不過在10g中,Oracle增強了CATALOG的功能,不但可以將資料檔案、日誌檔案的複製增加到控制檔案或CATALOG中,RMAN的備份集也可以手工新增到控制檔案中,這樣就可以輕鬆解決有備份難以恢復的問題了。
看一個簡單的例子,加入資料庫進行了如下備份:
RMAN> backup tablespace users;
啟動 backup 於 24-8月 -07使用通道 ORA_DISK_1通道 ORA_DISK_1: 啟動全部資料檔案備份集通道 ORA_DISK_1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00004 name=E:ORACLEORADATAYTKDATAFILEO1_MF_USERS_1TDY4JMK_
.DBF通道 ORA_DISK_1: 正在啟動段 1 於 24-8月 -07通道 ORA_DISK_1: 已完成段 1 於 24-8月 -07段控制程式碼=E:ORACLEBACKUPBIQ6MGD_1_1 標記=TAG20070824T141333 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:15完成 backup 於 24-8月 -07
RMAN> run
2> {
3> allocate channel c1 device type disk format 'e:oracleackup\%U' maxpiecesize 100m;
4> backup tablespace sysaux;
5> }
釋放的通道: ORA_DISK_1分配的通道: c1通道 c1: sid=123 devtype=DISK
啟動 backup 於 24-8月 -07通道 c1: 啟動全部資料檔案備份集通道 c1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00003 name=E:ORACLEORADATAYTKDATAFILEO1_MF_SYSAUX_1TDY3TRF_.DBF通道 c1: 正在啟動段 1 於 24-8月 -07通道 c1: 已完成段 1 於 24-8月 -07段控制程式碼=E:ORACLEBACKUPCIQ6MIS_1_1 標記=TAG20070824T141452 註釋=NONE通道 c1: 正在啟動段 2 於 24-8月 -07通道 c1: 已完成段 2 於 24-8月 -07段控制程式碼=E:ORACLEBACKUPCIQ6MIS_2_1 標記=TAG20070824T141452 註釋=NONE通道 c1: 正在啟動段 3 於 24-8月 -07通道 c1: 已完成段 3 於 24-8月 -07段控制程式碼=E:ORACLEBACKUPCIQ6MIS_3_1 標記=TAG20070824T141452 註釋=NONE通道 c1: 正在啟動段 4 於 24-8月 -07通道 c1: 已完成段 4 於 24-8月 -07段控制程式碼=E:ORACLEBACKUPCIQ6MIS_4_1 標記=TAG20070824T141452 註釋=NONE通道 c1: 正在啟動段 5 於 24-8月 -07通道 c1: 已完成段 5 於 24-8月 -07段控制程式碼=E:ORACLEBACKUPCIQ6MIS_5_1 標記=TAG20070824T141452 註釋=NONE通道 c1: 備份集已完成, 經過時間:00:01:01完成 backup 於 24-8月 -07釋放的通道: c1
檢查一下系統中的備份資訊:
RMAN> list backup;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
8 Full 91.88M DISK 00:00:09 24-8月 -07
BP 關鍵字: 13 狀態: AVAILABLE 已壓縮: NO 標記: TAG20070824T141333段名:E:ORACLEBACKUPBIQ6MGD_1_1
備份集 8 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
4 Full 4033892051 24-8月 -07 E:ORACLEORADATAYTKDATAFILEO1_MF_USERS_1TDY4JMK_.DBF
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
9 Full 409.81M DISK 00:01:01 24-8月 -07
備份集 9 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
3 Full 4033892136 24-8月 -07 E:ORACLEORADATAYTKDATAFILEO1_MF_SYSAUX_1TDY3TRF_.DBF
備份集 副本號 1 屬於備份集 9
裝置型別 經過時間 完成時間 壓縮標記
----------- ------------ ---------- ---------- ---
DISK 00:01:01 24-8月 -07 NO TAG20070824T141452
備份集 9 副本號 1的備份段列表
BP 關鍵字 Pc# 狀態 段名稱
------- --- ----------- ----------
14 1 AVAILABLE E:ORACLEBACKUPCIQ6MIS_1_1
15 2 AVAILABLE E:ORACLEBACKUPCIQ6MIS_2_1
16 3 AVAILABLE E:ORACLEBACKUPCIQ6MIS_3_1
17 4 AVAILABLE E:ORACLEBACKUPCIQ6MIS_4_1
18 5 AVAILABLE E:ORACLEBACKUPCIQ6MIS_5_1
資料庫備份了表空間USERS和SYSAUX,下面重建控制檔案:
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
資料庫已更改。
SQL> CONN YANGTK/YANGTK@YTK AS SYSDBA已連線。
SQL> SHUTDOWN IMMEDIATE資料庫已經關閉。已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> STARTUP NOMOUNT
ORACLE 例程已經啟動。
Total System Global Area 209715200 bytes
Fixed Size 1247068 bytes
Variable Size 92276900 bytes
Database Buffers 109051904 bytes
Redo Buffers 7139328 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "YTK" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 (
9 'E:ORACLEORADATAYTKONLINELOGO1_MF_1_1TDY20N0_.LOG',
10 'E:ORACLEFLASH_RECOVERY_AREAYTKONLINELOGO1_MF_1_1TDY22PG_.LOG'
11 ) SIZE 50M,
12 GROUP 2 (
13 'E:ORACLEORADATAYTKONLINELOGO1_MF_2_1TDY24K2_.LOG',
14 'E:ORACLEFLASH_RECOVERY_AREAYTKONLINELOGO1_MF_2_1TDY264W_.LOG'
15 ) SIZE 50M,
16 GROUP 3 (
17 'E:ORACLEORADATAYTKONLINELOGO1_MF_3_1TDY27PG_.LOG',
18 'E:ORACLEFLASH_RECOVERY_AREAYTKONLINELOGO1_MF_3_1TDY296C_.LOG'
19 ) SIZE 50M
20 -- STANDBY LOGFILE
21 DATAFILE
22 'E:ORACLEORADATAYTKDATAFILEO1_MF_SYSTEM_1TDY2CXS_.DBF',
23 'E:ORACLEORADATAYTKDATAFILEO1_MF_UNDOTBS1_1TDY3GNZ_.DBF',
24 'E:ORACLEORADATAYTKDATAFILEO1_MF_SYSAUX_1TDY3TRF_.DBF',
25 'E:ORACLEORADATAYTKDATAFILEO1_MF_USERS_1TDY4JMK_.DBF',
26 'E:ORACLEORADATAYTKDATAFILEO1_MF_YANGTK_1THCKSRW_.DBF',
27 'E:ORACLEORADATAYTKDATAFILEO1_MF_YANGTK_22MWCD5C_.DBF'
28 CHARACTER SET ZHS16GBK
29 ;
控制檔案已建立。
SQL> VARIABLE RECNO NUMBER;
SQL> EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK FORMAT ''e:o
racleackup\%U''');
PL/SQL 過程已成功完成。
SQL> RECOVER DATABASE
ORA-00283: ??????????
ORA-00264: ?????
SQL> ALTER SYSTEM ARCHIVE LOG ALL;
系統已更改。
SQL> ALTER DATABASE OPEN;
資料庫已更改。
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'E:ORACLEORADATAYTKDATAFILEO1_MF_TEMP_1TDY49L2_.TMP'
2 SIZE 419430400 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 65535M;
表空間已更改。
資料庫控制檔案完成,這時候會發現丟失所有的備份資訊:
E:>rman target /
恢復管理器: Release 10.2.0.1.0 - Production on 星期五 8月 24 14:24:21 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: YTK (DBID=97298047)
RMAN> list backup;
使用目標資料庫控制檔案替代恢復目錄
使用CATALOG BACKUPPIECE就可以將備份集重新新增到控制檔案中:
RMAN> catalog backuppiece 'E:ORACLEBACKUPBIQ6MGD_1_1';
已列入目錄的備份段備份段 handle=E:ORACLEBACKUPBIQ6MGD_1_1 recid=1 stamp=631463169
RMAN> list backup;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
1 Full 91.88M DISK 00:00:00 24-8月 -07
BP 關鍵字: 1 狀態: AVAILABLE 已壓縮: NO 標記: TAG20070824T141333段名:E:ORACLEBACKUPBIQ6MGD_1_1
備份集 1 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
4 Full 4033892051 24-8月 -07 E:ORACLEORADATAYTKDATAFILEO1_MF_USERS_1TDY4JMK_.DBF
10g還增加了一個CATALOG的START WITH語句,可以批次的CATALOG物件:
RMAN> catalog start with 'E:ORACLEBACKUPCIQ6MIS_';
搜尋與樣式 E:ORACLEBACKUPCIQ6MIS_ 匹配的所有檔案
資料庫未知檔案的列表
=====================================檔名: E:ORACLEBACKUPCIQ6MIS_1_1檔名: E:ORACLEBACKUPCIQ6MIS_2_1檔名: E:ORACLEBACKUPCIQ6MIS_3_1檔名: E:ORACLEBACKUPCIQ6MIS_4_1檔名: E:ORACLEBACKUPCIQ6MIS_5_1
是否確實要將上述檔案列入目錄 (輸入 YES 或 NO)? yes正在編制檔案目錄...目錄編制完畢
已列入目錄的檔案的列表
=======================檔名: E:ORACLEBACKUPCIQ6MIS_1_1檔名: E:ORACLEBACKUPCIQ6MIS_2_1檔名: E:ORACLEBACKUPCIQ6MIS_3_1檔名: E:ORACLEBACKUPCIQ6MIS_4_1檔名: E:ORACLEBACKUPCIQ6MIS_5_1
RMAN> list backup;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
1 Full 91.88M DISK 00:00:00 24-8月 -07
BP 關鍵字: 1 狀態: AVAILABLE 已壓縮: NO 標記: TAG20070824T141333段名:E:ORACLEBACKUPBIQ6MGD_1_1
備份集 1 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
4 Full 4033892051 24-8月 -07 E:ORACLEORADATAYTKDATAFILEO1_MF_USERS_1TDY4JMK_.DBF
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
5 Full 409.81M DISK 00:00:00 24-8月 -07
備份集 5 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
3 Full 4033892136 24-8月 -07 E:ORACLEORADATAYTKDATAFILEO1_MF_SYSAUX_1TDY3TRF_.DBF
備份集 副本號 1 屬於備份集 5
裝置型別 經過時間 完成時間 壓縮標記
----------- ------------ ---------- ---------- ---
DISK 00:00:00 24-8月 -07 NO TAG20070824T141452
備份集 5 副本號 1的備份段列表
BP 關鍵字 Pc# 狀態 段名稱
------- --- ----------- ----------
2 1 AVAILABLE E:ORACLEBACKUPCIQ6MIS_1_1
3 2 AVAILABLE E:ORACLEBACKUPCIQ6MIS_2_1
4 3 AVAILABLE E:ORACLEBACKUPCIQ6MIS_3_1
5 4 AVAILABLE E:ORACLEBACKUPCIQ6MIS_4_1
6 5 AVAILABLE E:ORACLEBACKUPCIQ6MIS_5_1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69414/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Catalog命令註冊RMAN備份集
- 備份與恢復系列 七 續 catalog中的備份指令碼指令碼
- RMAN說,我能備份(18)--RMAN中的加密備份和CATALOG加密
- 通過修改CATALOG記錄的方式實現備份集目錄變更
- RMAN備份 建立catalog資料庫資料庫
- 建立RMAN catalog實現物理備份
- Oracle 備份恢復篇之RMAN catalogOracle
- 揭秘ORACLE備份之----RMAN之五(CATALOG)Oracle
- Oracle Rman Catalog的建立方法和備份原理Oracle
- Oracle10g備份集壓縮新特性(Backupset Compression)Oracle
- Backup And Recovery User's Guide-RMAN備份概念-備份集-備份集和備份片GUIIDE
- 【BASIS】HANA備份指令碼,Catalog自動清理指令碼
- 揭祕ORACLE備份之----RMAN之五(CATALOG)Oracle
- 備份集和備份片之間的關係
- MONGODB使用MONGDODUMP備份來搭建備份集MongoDB
- rman備份集的保留策略
- 可以將備份集備份到另外的server上嗎Server
- Backup And Recovery User's Guide-RMAN備份概念-備份集-備份集塊壓縮GUIIDE
- oracle10g RMAN增量備份策略Oracle
- RMAN備份中catalog和nocatalog區別[轉]
- Oracle RMAN備份中catalog和nocatalog區別Oracle
- RMAN備份之備份多個備份集到帶庫(三)
- RMAN備份之備份多個備份集到帶庫(二)
- RMAN備份之備份多個備份集到帶庫(一)
- Backup And Recovery User's Guide-RMAN備份概念-備份集的數量和大小(多路化備份集)GUIIDE
- Backup And Recovery User's Guide-備份RMAN備份-使用RMAN備份備份集GUIIDE
- RMAN筆記之備份集和備份片筆記
- Backup And Recovery User's Guide-備份RMAN備份-備份集的多重拷貝GUIIDE
- RMAN備份多個備份集到帶庫的小bug
- Oracle10g OCR及Voting Disk的備份Oracle
- catalog備份資料庫及RMAN儲存指令碼資料庫指令碼
- SQL Server 備份與恢復之六:介質集與備份集SQLServer
- 備份集地址變了
- 理解備份集backup set與備份片backup piece
- SqlServer 備份集和備份片以及mirror的backup_set_idSQLServer
- RMAN說,我能備份(11)--RMAN中的備份集屬性
- Backup And Recovery User's Guide-RMAN備份概念-備份undo(備份集加密)GUIIDE加密
- 【備份恢復】RMAN catalog 恢復目錄資料庫資料庫