欢迎投稿

今日深度:

给Oracle进行健康体检(1)(2)

使用DBMS_HM包

SET LONG 100000
SET LONGCHUNKSIZE 1000
SET PAGESIZE 1000
SET LINESIZE 512
SELECT DBMS_HM.GET_RUN_REPORT('DICTIONARY_CHECK_11032008') FROM DUAL;

使用ADRCI CREATE REPORT命令

CREATE REPORT hm_run DICTIONARY_CHECK_11032008
When using the DBMS_HM package the output looks like:
当使用DBMS_HM包时输出结果如下:
DBMS_HM.GET_RUN_REPORT('DICTIONARY_CHECK_11032008')
------------------------------------------------------------------
Basic Run Information
Run Name : DICTIONARY_CHECK_11032008
Run Id : 41
Check Name : Dictionary Integrity Check
Mode : MANUAL
Status : COMPLETED
Start Time : 2008-11-03 18:32:10.819805 -07:00
End Time : 2008-11-03 18:32:18.827387 -07: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
Finding
Finding Name : Dictionary Inconsistency
Finding ID : 42
Type : FAILURE
Status : OPEN
Priority : CRITICAL
Message : SQL dictionary health check: file$ pk 42 on object FILE$
failed
Message : Damaged rowid is AAAAARAABAAAAByAAF - description: No further
damage description available
Finding
Finding Name : Dictionary Inconsistency
Finding ID : 45
Type : FAILURE
Status : OPEN
Priority : CRITICAL
Message : SQL dictionary health check: dependency$.dobj# fk 126 on
object DEPENDENCY$ failed
Message : Damaged rowid is AAAABnAABAAAOiHABI - description: No further
damage description available
Finding
Finding Name : Dictionary Inconsistency
Finding ID : 48
Type : FAILURE
Status : OPEN
Priority : CRITICAL
Message : SQL dictionary health check: dependency$.dobj# fk 126 on
object DEPENDENCY$ failed
Message : Damaged rowid is AAAABnAABAAAQXqAA6 - description: No further
damage description available

运行后DBMS_HM包或ADRCI 的CREATE REPORT命令后,我们可以重新输入ADRCI显示hm_run命令,现在可以看到REPORT_FILE信息被填充了。

REPORT_FILE /opt/app/oracle/diag/rdbms/db11fs/db11FS/hm/HMREPORT_DICTIONARY_CHECK_11032008.hm

当使用ADRCI功能,你必须先运行生成报告文件的命令,如果该文件不存在,那么运行另一个命令,以显示其内容。你还可以查看该报告通过ADRCI输入以下命令。因为输出的结果在XML文档中,因此它不会在这里显示。

show report hm_run DICTIONARY_CHECK_11032008

不管用什么方法,这些检查结果对调查Oracle数据库的损坏将是一个重要的信息。虽然我还没有进行任何详细的测试,包括时机,锁定,或性能等问题,对此应该谨慎使用。任何时候执行损坏检查,必须有某种形式的对象锁定。这将只需要时间来观看这些程序在一个数据库上操作的步骤和实际效果。其实我知道事情会是怎样,如果你有问题,你不希望找到他们吗?这对DBA来说只不过是另一个值得骄傲的成就。

  1. 使用环境变量配置Oracle运行环境
  2. Oracle性能调整与优化
  3. 黑客狙击Oracle系统的八大常用套路


www.htsjk.Com true http://www.htsjk.com/shujukugl/18140.html NewsArticle 使用DBMS_HM包 SET LONG 100000SET LONGCHUNKSIZE 1000SET PAGESIZE 1000SET LINESIZE 512SELECT DBMS_HM.GET_RUN_REPORT('DICTIONARY_CHECK_11032008') FROM DUAL; 使用ADRCI CREATE REPORT命令 CREATE REPO...
评论暂时关闭