首頁(yè) 資訊 Oracle健康監(jiān)控及健康檢查(Health Monitor)

Oracle健康監(jiān)控及健康檢查(Health Monitor)

來(lái)源:泰然健康網(wǎng) 時(shí)間:2024年11月27日 23:38

一、Oracle健康監(jiān)控及健康檢查

Oracle數(shù)據(jù)庫(kù)包括一個(gè)名為Health Monitor的框架,用于運(yùn)行診斷檢查數(shù)據(jù)庫(kù)的各種組件。Oracle健康監(jiān)視器檢查各種組件數(shù)據(jù)庫(kù),包括文件,內(nèi)存,事務(wù)完整性,元數(shù)據(jù)和進(jìn)程使用。在檢查器運(yùn)行后,它生成一個(gè)包含有關(guān)檢查器發(fā)現(xiàn)的信息的報(bào)告,包括優(yōu)先事項(xiàng)(低,高或關(guān)鍵),調(diào)查結(jié)果及其后果的描述,和關(guān)于執(zhí)行的基本統(tǒng)計(jì)。 Health Monitor使用XML生成報(bào)表并存儲(chǔ)ADR報(bào)告。可以使用V$ HM_RUN,DBMS_HM,ADRCI或企業(yè)管理器查看相應(yīng)的調(diào)查結(jié)果報(bào)告以及解決問(wèn)題的建議。

下圖為健康監(jiān)控組件框架

二、檢查的具體組件及描述

SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production SQL> select 'Leshami' Author,'http://blog.csdn.net/leshami' Blog, 2 '645746311' QQ from dual; AUTHOR BLOG QQ ------- ---------------------------- --------- Leshami http://blog.csdn.net/leshami 645746311 SQL> SELECT name,internal_check,offline_capable,description FROM v$hm_check; NAME I O DESCRIPTION -------------------------------- - - ----------------------------------------------------------------- HM Test Check Y Y Check for health monitor functionality DB Structure Integrity Check N Y Checks integrity of all database files CF Block Integrity Check N Y Checks integrity of a control file block Data Block Integrity Check N Y Checks integrity of a data file block Redo Integrity Check N Y Checks integrity of redo log content Logical Block Check Y N Checks logical content of a block Transaction Integrity Check N N Checks a transaction for corruptions Undo Segment Integrity Check N N Checks integrity of an undo segment No Mount CF Check Y Y Checks control file in NOMOUNT mode Mount CF Check Y Y Checks control file in mount mode CF Member Check Y Y Checks a multiplexed copy of the control file All Datafiles Check Y Y Checks all datafiles in the database Single Datafile Check Y Y Checks a data file Tablespace Check Check Y Y Checks a tablespace Log Group Check Y Y Checks all members of a log group Log Group Member Check Y Y Checks a particular member of a log group Archived Log Check Y Y Checks an archived log Redo Revalidation Check Y Y Checks redo log content IO Revalidation Check Y Y Checks file accessibility Block IO Revalidation Check Y Y Checks file accessibility Txn Revalidation Check Y N Revalidate corrupted transaction Failure Simulation Check Y Y Creates dummy failures Dictionary Integrity Check N N Checks dictionary integrity ASM Mount Check Y Y Diagnose mount failure ASM Allocation Check N Y Diagnose allocation failure ASM Disk Visibility Check Y Y Diagnose add disk failure ASM File Busy Check Y Y Diagnose file drop failure ASM Toomanyoff Check Y Y Diagnose mount failed because there were too many offline disks ASM Insufficient Disks Check Y Y Diagnose mount failed because there were insufficient disks

以下列出一些重要檢查描述

數(shù)據(jù)庫(kù)結(jié)構(gòu)完整性檢查(DB Structure Integrity Check)

??此檢查將驗(yàn)證數(shù)據(jù)庫(kù)文件的完整性,如文件無(wú)法訪問(wèn),損壞或不一致,并報(bào)告這些故障。如果數(shù)據(jù)庫(kù)處于掛載或打開(kāi)模式,則此檢查將檢查控制文件中列出的日志文件和數(shù)據(jù)文件。如果數(shù)據(jù)庫(kù)處于NOMOUNT模式,則僅檢查控制文件。

數(shù)據(jù)塊完整性檢查(Data Block Integrity Check)
??此檢查檢測(cè)磁盤映像塊損壞,如校驗(yàn)和異常,頭/尾不匹配和塊內(nèi)的邏輯不一致。大多數(shù)損壞可以使用塊介質(zhì)恢復(fù)進(jìn)行修復(fù)。還會(huì)在V$DATABASE_BLOCK_CORRUPTION視圖中捕獲損壞的塊信息。此檢查不會(huì)檢測(cè)到塊間或段間損壞。

重做完整性檢查(Redo Integrity Check)
??此檢查掃描重做日志的內(nèi)容以獲取可訪問(wèn)性和損壞以及歸檔日志(如果可用)。重做完整性檢查報(bào)告如歸檔日志或重做損壞故障。

撤消段完整性檢查(Undo Segment Integrity Check)
??此檢查發(fā)現(xiàn)邏輯撤銷損壞。找到撤銷損壞后,此檢查使用PMON和SMON嘗試恢復(fù)損壞的事務(wù)。如果此恢復(fù)失敗,則Health Monitor將存儲(chǔ)有關(guān)損壞的信息V$CORRUPT_XID_LIST。大多數(shù)撤銷損壞可以通過(guò)強(qiáng)制提交來(lái)解決。

事務(wù)完整性檢查(Transaction Integrity Check)
??此檢查與撤消段完整性檢查相同,只是它僅檢查一個(gè)特定事務(wù)。

字典完整性檢查(Dictionary Integrity Check)
??此檢查檢查核心字典對(duì)象的完整性,如tab$和col$。它執(zhí)行以下操作:

????驗(yàn)證每個(gè)字典對(duì)象的字典條目的內(nèi)容。
????執(zhí)行跨行級(jí)別檢查,該檢查驗(yàn)證字典中行的邏輯約束是否被強(qiáng)制執(zhí)行。
????執(zhí)行對(duì)象關(guān)系檢查,該檢查驗(yàn)證字典對(duì)象之間的父子關(guān)系是否被強(qiáng)制執(zhí)行。

三、健康檢查支持的模式及運(yùn)行方式

1、支持模式

反應(yīng)式
??故障診斷基礎(chǔ)架構(gòu)可以自動(dòng)運(yùn)行健康檢查以響應(yīng)嚴(yán)重錯(cuò)誤。

手動(dòng)式
??可以使用DBMS_HM PL/SQL軟件包或Enterprise Manager界面手動(dòng)運(yùn)行健康狀況檢查。也可以根據(jù)需要定期運(yùn)行檢查程序

健康監(jiān)視器在自動(dòng)診斷存儲(chǔ)庫(kù)(ADR)中檢查存儲(chǔ)結(jié)果,建議和其他信息。

2、運(yùn)行方式

DB-online(即在OPEN模式下)
健康檢查可以在數(shù)據(jù)庫(kù)打開(kāi)時(shí)運(yùn)行(或稱聯(lián)機(jī)模式)。

DB-offline(數(shù)據(jù)庫(kù)脫機(jī))
健康檢查可以在實(shí)例可用并且數(shù)據(jù)庫(kù)本身關(guān)閉時(shí)運(yùn)行(NOMOUNT模式)。

四、演示健康健康檢查

1、使用DBMS_HM PL / SQL包實(shí)施檢查

DBMS_HM包主要包括2個(gè)存儲(chǔ)過(guò)程,一個(gè)是RUN_CHECK,主要用于實(shí)施健康檢查,支持參數(shù)輸入;一個(gè)是GET_RUN_REPORT,用于獲取健康檢查的結(jié)果。
以下為支持的相關(guān)參數(shù)列表

SQL> SELECT c.name check_name, p.name parameter_name, p.type, 2 p.default_value, p.description 3 FROM v$hm_check_param p, v$hm_check c 4 WHERE p.check_id = c.id and c.internal_check = 'N' 5 ORDER BY c.name; CHECK_NAME PARAMETER_NAME TYPE DEFAULT_VALUE DESCRIPTION ----------------------------- -------------------- -------------------- ---------------- --------------------------------------- ASM Allocation Check ASM_DISK_GRP_NAME DBKH_PARAM_TEXT ASM group name CF Block Integrity Check CF_BL_NUM DBKH_PARAM_UB4 Control file block number Data Block Integrity Check BLC_DF_NUM DBKH_PARAM_UB4 File number Data Block Integrity Check BLC_BL_NUM DBKH_PARAM_UB4 Block number Dictionary Integrity Check CHECK_MASK DBKH_PARAM_TEXT ALL Check mask Dictionary Integrity Check TABLE_NAME DBKH_PARAM_TEXT ALL_CORE_TABLES Table name Redo Integrity Check SCN_TEXT DBKH_PARAM_TEXT 0 SCN of the latest good redo (if known) Transaction Integrity Check TXN_ID DBKH_PARAM_TEXT Transaction ID Undo Segment Integrity Check USN_NUMBER DBKH_PARAM_TEXT Undo segment number --演示實(shí)施健康檢查 RMAN> backup database plus archivelog; --先備份 SQL> select file#,name from v$datafile where name like '%user%'; FILE# NAME ---------- ------------------------------------------------------------ 4 /app/oracle/ora11g/oradata/ora11g/users01.dbf $ cat /dev/null>/app/oracle/ora11g/oradata/ora11g/users01.dbf SQL> alter system flush buffer_cache; System altered. SQL> select count(*) from scott.emp; select count(*) from scott.emp * ERROR at line 1: ORA-01115: IO error reading block from file (block # ) ORA-01110: data file 4: '/app/oracle/ora11g/oradata/ora11g/users01.dbf' ORA-27072: File I/O error Additional information: 4 Additional information: 155 SQL> BEGIN 2 DBMS_HM.RUN_CHECK (check_name => 'DB Structure Integrity Check', 3 run_name => 'my_db_strc_check'); 4 END; 5 / PL/SQL procedure successfully completed. --查看報(bào)告 SET LONG 100000 SET LONGCHUNKSIZE 1000 SET PAGESIZE 1000 SET LINESIZE 512 SELECT DBMS_HM.GET_RUN_REPORT('my_db_strc_check') FROM DUAL; DBMS_HM.GET_RUN_REPORT('MY_DB_STRC_CHECK') -------------------------------------------------------------- Basic Run Information Run Name : my_db_strc_check Run Id : 107795 Check Name : DB Structure Integrity Check Mode : MANUAL Status : COMPLETED Start Time : 2017-07-03 17:13:49.550575 +08:00 End Time : 2017-07-03 17:13:50.202535 +08:00 Error Encountered : 0 Source Incident Id : 0 Number of Incidents Created : 0 Input Paramters for the Run Run Findings And Recommendations Finding Finding Name : Corrupt Datafile --找到損壞的數(shù)據(jù)文件 Finding ID : 107799 Type : FAILURE --類型為失敗 Status : OPEN --狀態(tài)為OPEN Priority : HIGH --級(jí)別為高 Message : Datafile 4: '/app/oracle/ora11g/oradata/ora11g/users01.dbf'is corrupt Message : Some objects in tablespace USERS might be unavailable

2、使用OEM實(shí)施檢查

實(shí)施檢查

查看報(bào)告

3、通過(guò)ADRCI接口查看報(bào)告

adrci>
adrci> show hm_run –列出所有檢查運(yùn)行過(guò)的健康監(jiān)控(可查詢V$HM_RUN視圖獲取)
adrci> create report hm_run run_name –創(chuàng)建報(bào)告
adrci> show report hm_run run_name –查看報(bào)告

五、相關(guān)視圖

V$HM_CHECK –所有能夠被check的組件
V$HM_CHECK_PARAM –check組件可傳遞的相關(guān)參數(shù)
V$HM_RUN –所有健康健康檢查相關(guān)信息及其狀態(tài)
V$HM_FINDING –相關(guān)檢查成果
V$HM_RECOMMENDATION –相關(guān)檢查建議
V$HM_INFO –關(guān)于健康檢查runs, findings, and recommendations信息

相關(guān)知識(shí)

職業(yè)健康檢查種類及目
健康教育對(duì)農(nóng)村地區(qū)孕婦產(chǎn)前保健知識(shí)的影響
職業(yè)健康檢查的種類及目的
健康檢查動(dòng)起來(lái)
健康科技探索未來(lái)
如何正確判斷和監(jiān)測(cè)心率的變化與健康狀況
健康監(jiān)測(cè)∶體檢∶疾病篩查
兒童健康檢查及評(píng)價(jià)的標(biāo)準(zhǔn)
職業(yè)健康檢查包括()。A.上崗前的健康檢查B.在崗期間的健康檢查C.應(yīng)急檢查D.離崗時(shí)的健康檢查E.職
職業(yè)健康檢查及其體檢結(jié)論.doc

網(wǎng)址: Oracle健康監(jiān)控及健康檢查(Health Monitor) http://www.u1s5d6.cn/newsview139831.html

推薦資訊