淺談Oracle 10G中的新事物:閃回恢復(fù)區(qū)
2024-08-29 13:38:17
供稿:網(wǎng)友
何為閃回恢復(fù)區(qū)
Oracle 10g 有一項(xiàng)新功能稱(chēng)為:自動(dòng)的基于磁盤(pán)的備份與恢復(fù)( Automatic Disk-Based Backup and Recovery )。實(shí)現(xiàn)該功能的基礎(chǔ)為本文要講述的閃回恢復(fù)區(qū)( Flash Recovery Area )。閃回恢復(fù)區(qū)是 Oracle 10g 中的新事物。 簡(jiǎn)單的說(shuō),閃回恢復(fù)區(qū)是一塊用以存儲(chǔ)恢復(fù)相關(guān)的文件的存儲(chǔ)空間。答應(yīng)用戶(hù)集中存儲(chǔ)所有恢復(fù)相關(guān)的文件。
閃回恢復(fù)區(qū)可以放在如下幾種存儲(chǔ)形式上:
目錄
一個(gè)文件系統(tǒng)
自動(dòng)存儲(chǔ)治理(ASM)磁盤(pán)組
在 RAC 環(huán)境中,這個(gè)該位置必須為 集群文件系統(tǒng) (cluster file system) 或是 ASM 磁盤(pán)組亦或是通過(guò) NFS 控制的文件共享目錄,還要注重的是,所有實(shí)例的位置和操作系統(tǒng)的磁盤(pán)限額 (disk quota) 必須一致。
如下幾種文件可以放到閃回恢復(fù)區(qū)中:
控制文件
歸檔的日志文件(注:Oracle 手冊(cè)上所說(shuō)的在設(shè)定flash recovery area之后,LOG_ARCHIVE_DEST_10的值將自動(dòng)設(shè)定為flash recovery area的位置,這個(gè)變化在筆者測(cè)試過(guò)程中觀察不到)
閃回日志
控制文件和 SPFILE 自動(dòng)備份
RMAN 備份集
數(shù)據(jù)文件拷貝
為何要用閃回恢復(fù)區(qū)?
如前所述,閃回恢復(fù)區(qū)提供了一個(gè)集中化的存儲(chǔ)區(qū)域,很大程度上減小了治理開(kāi)銷(xiāo)。這是其最主要的優(yōu)點(diǎn)。與 RMAN 結(jié)合使用可以進(jìn)行快速恢復(fù)。
近年來(lái)隨著存儲(chǔ)技術(shù)的發(fā)展,單個(gè)磁盤(pán)的存儲(chǔ)能力已經(jīng)加強(qiáng)。這使自動(dòng)的基于磁盤(pán)的備份與恢復(fù)的技術(shù)實(shí)現(xiàn)成為可能。而閃回恢復(fù)區(qū)恰是基于磁盤(pán)的備份與恢復(fù)的基礎(chǔ)。把閃回恢復(fù)區(qū)和 OMF 與 ASM 結(jié)合運(yùn)用看起來(lái)是比較完美的方案。當(dāng)然,不可否認(rèn)的是,自動(dòng)備份恢復(fù)技術(shù)還遠(yuǎn)遠(yuǎn)不夠成熟。
設(shè)定閃回恢復(fù)區(qū)
假如您使用DBCA創(chuàng)建的數(shù)據(jù)庫(kù),在安裝時(shí)可以設(shè)定閃回恢復(fù)區(qū)的位置以及大小(點(diǎn)擊這里查看安裝截圖)--這也是 Oracle 10g OUI 的新功能之一。假如在開(kāi)始的時(shí)候沒(méi)有啟用閃回恢復(fù)區(qū),可以通過(guò)如下方式設(shè)定。調(diào)整如下兩個(gè)動(dòng)態(tài)初始化參數(shù)(無(wú)需重新啟動(dòng)實(shí)例):
SQL> ALTER SYSTEM SET db_recovery_file_dest_size=2g SCOPE=BOTH;
System altered.
SQL>
SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
2 SCOPE=BOTH;
System altered.
SQL>
之后查看所作的修改是否生效:
SQL> SHOW parameter db_recovery_file_dest
NAME TYPE VALUE
--------------------------------------------------
db_recovery_file_dest string /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size big integer 2G
SQL>
如上所示,我們?cè)O(shè)定了閃回恢復(fù)區(qū),位置在 /u01/app/oracle/flash_recovery_area,上限為2G。假如要撤銷(xiāo)閃回恢復(fù)區(qū),把初始化參數(shù) DB_RECOVERY_FILE_DEST 的值清空即可。
注重:DB_RECOVERY_FILE_DEST_SIZE 只有在 DB_RECOVERY_FILE_DEST 清空之后才可以清空。
初始化參數(shù) db_recovery_file_dest_size 的設(shè)定有一點(diǎn)點(diǎn)需要注重的地方:
文件的第0塊和操作系統(tǒng)數(shù)據(jù)塊頭的空間大小不包含在內(nèi)
該參數(shù)并不代表實(shí)際占用的空間大小。假如空間被壓縮、鏡像、RAID 的話(huà),該參數(shù)的值意義是不一樣的
治理并監(jiān)控閃回恢復(fù)區(qū)
我們先看看閃回恢復(fù)區(qū)內(nèi)的文架結(jié)構(gòu)層次
SQL> host tree /u01/app/oracle/flash_recovery_area
/u01/app/oracle/flash_recovery_area
-- DEMO
-- archivelog
-- 2004_12_07
-- o1_mf_1_10_0vbwz2fm_.arc
-- o1_mf_1_11_0vc1yj14_.arc
-- o1_mf_1_12_0vc6vvws_.arc
-- o1_mf_1_13_0vcbv6cg_.arc
-- o1_mf_1_14_0vchlxb3_.arc
-- o1_mf_1_15_0vcnh2bz_.arc
-- o1_mf_1_5_0vbk8goo_.arc
-- o1_mf_1_6_0vbkq6dk_.arc
-- o1_mf_1_7_0vbktl5f_.arc
-- o1_mf_1_8_0vbo97XP_.arc
`-- o1_mf_1_9_0vbrrlo6_.arc
`-- 2004_12_08
-- o1_mf_1_16_0vcnyqvf_.arc
-- o1_mf_1_17_0vcp58bj_.arc
-- o1_mf_1_18_0vcv4qxb_.arc
-- o1_mf_1_19_0vczcsl0_.arc
-- o1_mf_1_20_0vd34svw_.arc
-- o1_mf_1_21_0vd7tg4h_.arc
-- o1_mf_1_22_0vddq7lc_.arc
-- o1_mf_1_23_0vdk0nbh_.arc
-- o1_mf_1_24_0vdojjky_.arc
-- o1_mf_1_25_0vdtg1rq_.arc
-- o1_mf_1_26_0vdz23h2_.arc
-- o1_mf_1_27_0vf3nlnw_.arc
-- o1_mf_1_28_0vf6hon5_.arc
-- o1_mf_1_29_0vf867lt_.arc
-- o1_mf_1_30_0vf86pkg_.arc
`-- o1_mf_1_31_0vfjphqm_.arc
`-- backupset
-- 2004_12_07
-- o1_mf_ncsn1_TAG20041207T150715_0vboq7kv_.bkp
`-- o1_mf_nnnd1_TAG20041207T150715_0vboo3t2_.bkp
`-- 2004_12_08
-- o1_mf_ncsnf_TAG20041208T161219_0vffxv2n_.bkp
-- o1_mf_ncsnf_TAG20041208T165456_0vfjcvgl_.bkp
`-- o1_mf_nnndf_TAG20041208T161219_0vffv40q_.bkp
`-- tracking.dbf
7 Directories, 33 files
閃回恢復(fù)區(qū)中添加或刪除文件等變化都將記錄在數(shù)據(jù)庫(kù)的 alert 日志中,Oracle 10g 也針對(duì)該新特性提供了一個(gè)新的視圖, DBA_OUTSTANDING_ALERTS,通過(guò)該視圖可以得到相關(guān)的信息。
DBA_OUTSTANDING_ALERTS 視圖的存在體現(xiàn)了 Oracle 愈加人性化的一面。我們先來(lái)看一下該視圖的基本結(jié)構(gòu),后面會(huì)用到。
SQL> DESC dba_outstanding_alerts
Name Null? Type
------------------------------------------------------
SEQUENCE_ID NUMBER
REASON_ID NOT NULL NUMBER
OWNER VARCHAR2(30)
OBJECT_NAME VARCHAR2(513)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_TYPE VARCHAR2(64)
REASON VARCHAR2(4000)
TIME_SUGGESTED TIMESTAMP(6) WITH TIME ZONE
CREATION_TIME TIMESTAMP(6) WITH TIME ZONE
SUGGESTED_ACTION VARCHAR2(4000)
ADVISOR_NAME VARCHAR2(30)
METRIC_VALUE NUMBER
MESSAGE_TYPE VARCHAR2(12)
MESSAGE_GROUP VARCHAR2(64)
MESSAGE_LEVEL NUMBER
HOSTING_CLIENT_ID VARCHAR2(64)
MODULE_ID VARCHAR2(64)
PROCESS_ID VARCHAR2(128)
HOST_ID VARCHAR2(256)
HOST_NW_ADDR VARCHAR2(256)
INSTANCE_NAME VARCHAR2(16)
INSTANCE_NUMBER NUMBER
USER_ID VARCHAR2(30)
EXECUTION_CONTEXT_ID VARCHAR2(60)
ERROR_INSTANCE_ID VARCHAR2(142)
SQL>
10g 的新視圖 V$RECOVERY_FILE_DEST 包含閃回恢復(fù)區(qū)的相關(guān)信息: