11g health monitor新特性 DBMS_HM.RUN_CHECK

11g health monitor新特性,DBMS_HM.RUN_CHECK一例

BEGIN
  DBMS_HM.RUN_CHECK('Dictionary Integrity Check', 'my_run');
END;
/

检查结果

SQL> select dbms_hm.get_run_report('my_run') from dual;

DBMS_HM.GET_RUN_REPORT('MY_RUN')
--------------------------------------------------------------------------------
Basic Run Information
 Run Name		      : my_run

run_check结构:

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 

中的name自动查询到该参数的值。12.1共34个值。
run_name:可选参数,指定一个检查名。
timeout:可选参数,可以设置老化时间。
params:输入参数,用于控制检查的执行。

SQL> select name from v$hm_check where name like '%Block%';

NAME
----------------------------------------------------------------
CF Block Integrity Check
Data Block Integrity Check
Logical Block Check
Block IO Revalidation Check

SQL> exec   DBMS_HM.RUN_CHECK('Data Block Integrity Check', 'my_run2');
BEGIN DBMS_HM.RUN_CHECK('Data Block Integrity Check', 'my_run2'); END;

*
ERROR at line 1:
ORA-48615: Parameter [BLC_DF_NUM] value not specified
ORA-06512: at "SYS.DBMS_HM", line 191
ORA-06512: at line 1

看到有Data Block Integrity Check检查,赶紧试了一下,结果发现一次只能检查一个block,很不方便,还是 validate database 吧。

猜你喜欢

转载自blog.csdn.net/weixin_43424368/article/details/107696027