Oracle 健康监控器(Health Monitor)
admin
2023-05-07 13:22:09
0次

健康监控器(Health Monitor)
ORACLE 11G 中引入了免费的数据库健康监控器,通过DBMS_HM程序包来完成。

检查项目:
1.DB结构完整性检查

2.数据块及完整性检查

3.中做日志完整性检查

4.Undo段完整性检查

5.事物完整性检查

6.数据字典完整性检查

SQL> select name,description from v$hm_check;
NAME                           DESCRIPTION
------------------------------ -------------------------------------------------
HM Test Check                  Check for HM Functionality
DB Structure Integrity Check   Checks integrity of all database files
Data Block Integrity Check     Checks integrity of a datafile block
Redo Integrity Check           Checks integrity of redo log content
Logical Block Check            Checks logical content of a block
Transaction Integrity Check    Checks a transaction for corruptions
Undo Segment Integrity Check   Checks integrity of an undo segment
All Control Files Check        Checks all control files in the database
CF Member Check                Checks a multiplexed copy of the control file
All Datafiles Check            Check for all datafiles in the database
NAME                           DESCRIPTION
------------------------------ -------------------------------------------------
Single Datafile Check          Checks a datafile
Log Group Check                Checks all members of a log group
Log Group Member Check         Checks a particular member of a log group
Archived Log Check             Checks an archived log
Redo Revalidation Check        Checks redo log content
IO Revalidation Check          Checks file accessability
Block IO Revalidation Check    Checks file accessability
Txn Revalidation Check         Revalidate corrupted txn
Failure Simulation Check       Creates dummy failures
Dictionary Integrity Check     Checks dictionary integrity
21 rows selected.



PROCEDURE RUN_CHECK
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 CHECK_NAME                     VARCHAR2                IN
 RUN_NAME                       VARCHAR2                IN     DEFAULT
 TIMEOUT                        NUMBER                  IN     DEFAULT
 INPUT_PARAMS                   VARCHAR2                IN     DEFAULT
 
 
 
.check_name:数据库检查名,这是一个强制参数必须被指定。可以在视图v$hm_check中查询到该参数的值。共21个值。
.run_name:可选参数,指定一个检查名。
.timeout:可选参数,可以设置老化时间。
.params:输入参数,用于控制检查的执行。可以在视图v$hm_check_param视图中查看。
以下是一个检查的例子:
SQL>exec dbms_hm.run_check('Dictionary Integrity Check','HM_TEST');


这个健康检查会存储报告到ADR数据库实例的home目录中。通过adrci的show hm_run命令可以显示这些信息:
adrci> show hm_run


.......
**********************************************************
HM RUN RECORD 2766
**********************************************************
   RUN_ID                        55361
   RUN_NAME                      HM_RUN_55361
   CHECK_NAME                    DB Structure Integrity Check
   NAME_ID                       2
   MODE                          2
   START_TIME                    2015-09-28 08:58:30.714167 +08:00
   RESUME_TIME                  
   END_TIME                      2015-09-28 08:58:30.742168 +08:00
   MODIFIED_TIME                 2015-09-28 08:58:30.742168 +08:00
   TIMEOUT                       0
   FLAGS                         0
   STATUS                        5
   SRC_INCIDENT_ID               0
   NUM_INCIDENTS                 0
   ERR_NUMBER                    0
   REPORT_FILE                  

**********************************************************
HM RUN RECORD 2767
**********************************************************
   RUN_ID                        55381
   RUN_NAME                      HM_RUN_55381
   CHECK_NAME                    DB Structure Integrity Check
   NAME_ID                       2
   MODE                          2
   START_TIME                    2015-09-28 08:59:30.209094 +08:00
   RESUME_TIME                  
   END_TIME                      2015-09-28 08:59:30.241902 +08:00
   MODIFIED_TIME                 2015-09-28 08:59:30.241902 +08:00
   TIMEOUT                       0
   FLAGS                         0
   STATUS                        5
   SRC_INCIDENT_ID               0
   NUM_INCIDENTS                 0
   ERR_NUMBER                    0
   REPORT_FILE                  



adrci> show report hm_run testrun1
DIA-48614: HM run with name [testrun1] not found





网上其他人的例子:
adrci> show report hm_run testrun1
 
Data Block Check
Multiple corrupted blocks
datafile 2 contains corrupt blocks
tablespace SYSAUX is unavailable
block 66578 in datafile 2 is corrupt

adrci>
上面的报告显示数据文件2上有坏块,该文件属于sysaux表空间。
所有的健康检查报告存储在v$hm_run视图中,你也可以通过dbms_hm包来获取报告:
SQL> /

NAME                             CHECK_NAME                       RUN_MODE STATUS
-------------------------------- -------------------------------- -------- -----------
HM_RUN_21                        DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_41                        DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_61                        DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_81                        DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_101                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_121                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_141                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_161                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_181                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_201                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_221                       DB Structure Integrity Check     REACTIVE COMPLETED

NAME                             CHECK_NAME                       RUN_MODE STATUS
-------------------------------- -------------------------------- -------- -----------
HM_RUN_241                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_261                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_281                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_301                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_321                       DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_341                       DB Structure Integrity Check     REACTIVE COMPLETED
.....
HM_RUN_55701                     DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_55721                     DB Structure Integrity Check     REACTIVE COMPLETED

NAME                             CHECK_NAME                       RUN_MODE STATUS
-------------------------------- -------------------------------- -------- -----------
HM_RUN_55741                     DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_55761                     DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_55781                     DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_55801                     DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_55821                     DB Structure Integrity Check     REACTIVE COMPLETED
HM_RUN_55841                     DB Structure Integrity Check     REACTIVE COMPLETED
my_run                           Dictionary Integrity Check       MANUAL   COMPLETED
HM_TEST                          Dictionary Integrity Check       MANUAL   COMPLETED
HM_RUN_1                         DB Structure Integrity Check     REACTIVE COMPLETED


my_run和HM_TEST就是我自己手动调用的。





可以查看刚刚检查的
SQL> set long 100000
SQL> set longchunksize 1000
SQL> set pagesize 1000
SQL> set linesize 512
SQL> select DBMS_HM.GET_RUN_REPORT('HM_TEST') FROM DUAL;

DBMS_HM.GET_RUN_REPORT('HM_TEST')
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Basic Run Information
 Run Name                     : HM_TEST
 Run Id                       : 55901
 Check Name                   : Dictionary Integrity Check
 Mode                         : MANUAL
 Status                       : COMPLETED
 Start Time                   : 2015-10-15 18:17:00.890101 +08:00
 End Time                     : 2015-10-15 18:17:01.349346 +08:00
 Error Encountered            : 0
 Source Incident Id           : 0
 Number of Incidents Created  : 0

Input Paramters for the Run
 TABLE_NAME=ALL_CORE_TABLES
 CHECK_MASK=ALL

Run Findings And Recommendations

    

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...