如何对Oracle进行健康检查

发表于:2008-12-08 14:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:IT168

  使用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来说只不过是另一个值得骄傲的成就。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号