閃回恢復(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)信息:
SQL> desc V$RECOVERY_FILE_DEST Name Null? Type ------------------------------- ---------------------------- NAME VARCHAR2(513) SPACE_LIMIT NUMBER SPACE_USED NUMBER SPACE_RECLAIMABLE NUMBER NUMBER_OF_FILES NUMBER SQL> SELECT NAME, space_limit, space_used, space_reclaimable space_rec, 2 number_of_files file_num 3 FROM v$recovery_file_dest; NAME SPACE_LIMIT SPACE_USED SPACE_REC FILE_NUM --------------------------- ----------- ---------- ---------- ---------- /u01/app/oracle/flash_recovery_area 2147483648 1106849280 602410496 30 SQL> |
在一些 10g 的動(dòng)態(tài)視圖里( V$CONTROLFILE, V$LOGFILE, V$ARCHIVED_LOG, V$DATAFILE_COPY 等 )的新的列 IS_RECOVERY_DEST_FILE ,指明相關(guān)的文件是否在恢復(fù)區(qū)內(nèi)。 2 FROM v$archived_log
3 WHERE recid < 5;
RECID BLOCKS IS_RECOVERY_DEST_FILE
---------- ---------- -----------------------------
1 20072 YES
2 19566 YES
3 19566 YES
4 19566 YES
SQL> 閃回恢復(fù)區(qū)中文件的保持策略 在閃回恢復(fù)區(qū)中的空間使用超過(guò) 85% 的時(shí)候,數(shù)據(jù)庫(kù)將會(huì)向 alert 文件中寫(xiě)入告警信息。而當(dāng)超過(guò) 97% 的時(shí)候?qū)?huì)寫(xiě)入嚴(yán)重告警信息。當(dāng)閃回恢復(fù)區(qū)空間不夠的時(shí)候,Oracle將報(bào)告如下類(lèi)似的錯(cuò)誤: ORA-19804: cannot reclaim 52428800 bytes disk space from 1258291200 limit 這個(gè)時(shí)候查詢(xún) dba_outstanding_alerts:
REASON OBJECT_TYPE SUGGESTED_ACTION
------------------------------ --------------- -------------------------------------
db_recovery_file_dest_size of RECOVERY AREA Add disk space and increase db_recovery_
1258291200 bytes is 88.20% use file_dest_size, backup files to tertiary
d and has 148509184 remaining device, delete files from recovery area
bytes available. using RMAN, consider changing RMAN rete
ntion policy or consider changing RMAN a
rchivelog deletion policy.
1 rows selected.
SQL> 會(huì)給出相關(guān)的原因和建議的操作。 自動(dòng)化的東西總是給人不確定性。如果您在測(cè)試環(huán)境中啟用了閃回恢復(fù)區(qū),那么一定要注意監(jiān)控空間的使用。在生產(chǎn)數(shù)據(jù)庫(kù)上使用(如果有這樣的人的話(huà)),必須要把閃回恢復(fù)區(qū)放到單獨(dú)的磁盤(pán)上。 |