`

利用hcheck检查数据字典一致性状态

阅读更多

利用hcheck可以检查oracle数据字典的一致性状态,主要排查用户或对象无法删除的原因.

其操作步骤如下:

 

   1. Connect as SYS schema in sqlplus

2. Create package hOut as described in Note 101468.1
3. Create package hcheck in SYS schema (Refer the attachment under SCRIPT to Create package hcheck  
4. spool outputfile
5. execute hcheck.full

6. Output will go to the spool file and the session trace file.
   The script will report various dictionary related issues
   which may or may not be a problem - Any problems reported 
   should be reviewed by an experienced support analyst as some
   reported "problems" may be normal and expected.

 

具体操作步骤如下:

SQL> conn /@test01 as sysdba
已连接。
SQL>

SQL> create or replace package hOut as
  2   --
  3   -- Output options - change these to default as required
  4   -- You can override them at run time if required.
  5   --
  6    TO_DBMS_OUTPUT boolean := TRUE; -- Send output to DBMS_OUTPUT
  7    TO_USER_TRACE  boolean := TRUE; -- Send output to user trace file
  8    IGNORE_ERRORS  boolean := TRUE; -- Ignore DBMS_OUTPUT errors if
  9       -- also writing to the trace file
 10   --
 11   -- Output methods
 12   --
 13    procedure put_line(txt varchar2);
 14    procedure put(txt varchar2);
 15    procedure new_line;
 16    procedure wrap(txt varchar2, linelen number default 78);
 17    procedure rule_off;
 18   --
 19  end hOut;
 20  /

程序包已创建。

SQL> show errors
没有错误。
SQL> create or replace package body hOut as
  2    -- 7.3 has problems with ksdwrt as it uses the wrong length info
  3    -- putting nonsense on the end of lines.
  4    -- As a workaround we copy the text to a TMP varchar, append a chr(0)
  5    -- then reset the length back so we have an hidden chr(0) at the end
  6    -- of the string.
  7    tmp varchar2(2001);
  8    --
  9    APP_EXCEPTION EXCEPTION;
 10    pragma exception_init(APP_EXCEPTION, -20000);
 11    --
 12    procedure put_line(txt varchar2) is
 13    begin
 14      tmp:=txt||chr(0);
 15      tmp:=txt;
 16      if TO_DBMS_OUTPUT then
 17        begin
 18   dbms_output.put_line(txt);
 19        exception
 20   when APP_EXCEPTION then
 21     -- If DBMS_OUTPUT is full then carry on if we are writing to
 22     -- the trace file and ignoring errors, otherwise error now
 23     if TO_USER_TRACE and IGNORE_ERRORS then
 24       begin
 25         dbms_output.put_line('[TRUNCATED]');
 26              exception
 27         when APP_EXCEPTION then
 28      null;
 29       end;
 30     else
 31       raise;
 32     end if;
 33        end;
 34      end if;
 35      if TO_USER_TRACE then
 36   dbms_system.ksdwrt(1,tmp);
 37      end if;
 38    end;
 39   --
 40    procedure put(txt varchar2) is
 41    begin
 42      tmp:=txt||chr(0);
 43      tmp:=txt;
 44      if TO_DBMS_OUTPUT then
 45        begin
 46   dbms_output.put(txt);
 47        exception
 48   when APP_EXCEPTION then
 49     -- If DBMS_OUTPUT is full then carry on if we are writing to
 50     -- the trace file and ignoring errors, otherwise error now
 51     if TO_USER_TRACE and IGNORE_ERRORS then
 52       begin
 53         dbms_output.put('[TRUNCATED]');
 54              exception
 55         when APP_EXCEPTION then
 56      null;
 57       end;
 58     else
 59       raise;
 60     end if;
 61        end;
 62      end if;
 63      if TO_USER_TRACE then
 64   dbms_system.ksdwrt(1,tmp);
 65      end if;
 66    end;
 67   --
 68    procedure new_line is
 69    begin
 70      if TO_DBMS_OUTPUT then
 71        begin
 72   dbms_output.new_line;
 73        exception
 74   when APP_EXCEPTION then
 75     if TO_USER_TRACE and IGNORE_ERRORS then
 76       null;
 77     else
 78       raise;
 79     end if;
 80        end;
 81      end if;
 82      if TO_USER_TRACE then
 83   dbms_system.ksdwrt(1,' ');
 84      end if;
 85    end;
 86   --
 87    procedure wrap(txt varchar2, linelen number default 78) is
 88      p   integer:=1;
 89      len integer;
 90      pos integer;
 91      chunk varchar2(2000);
 92      xchunk varchar2(2000);
 93      llen number:=linelen;
 94    BEGIN
 95      if (llen>2000) then
 96   llen:=2000;
 97      end if;
 98      if (llen<=1) then
 99   llen:=78;
100      end if;
101      len:=length(txt);
102      while (p<=len) loop
103        chunk:=substr(txt,p,llen);
104        pos:=instr(chunk,chr(10),-1);
105        if pos>0 then
106         -- We have a CR in the text - use it
107         put_line(substr(chunk,1,pos-1));
108         p:=p+pos;
109        else
110         -- No CR in the text so we will look for a split character
111         xchunk:=translate(chunk,' ,()=',',,,,,');
112         pos:=instr(xchunk,',',-1);
113         if pos>0 and len>llen then
114          put_line(substr(chunk,1,pos));
115   p:=p+pos;
116         else
117          put(chunk);
118   p:=p+llen;
119         end if;
120        end if;
121      end loop;
122      new_line;
123    END;
124   --
125    procedure rule_off is
126    begin
127      put_line('=========================================================');
128    end;
129   --
130  begin
131    dbms_output.enable(100000);
132  end hout;
133  /

程序包体已创建。

SQL> @"C:\Documents and Settings\Administrator.DREAM\桌面\hcheck\hcheck.sql"

程序包已创建。

没有错误。

程序包体已创建。

没有错误。
HCheck Version 8i-11/1.80

Found 0 potential problems and 0 warnings

PL/SQL 过程已成功完成。

SQL> execute hcheck.full
HCheck Version 8i-11/1.80

Found 0 potential problems and 0 warnings

PL/SQL 过程已成功完成。

SQL>

 

 

 

引自metalink文档:

 

Abstract Product Name, Product Version Current Release Date Platform Date Created Instructions Description
Pro-actively detecting common data dictionary problems
 
RDBMS, 8.1 to 11.2
1.80
29-NOV-2010 15:15
Platform Independent
23-MAR-2001
 
Execution Environment:
     

Access Privileges:
     Requires to be run connected as SYS schema

Usage:
$ sqlplus 
SQL*Plus: Release 9.2.0.2.0 - Production on Mon Nov 11 12:00:06 2002

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.2.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.2.0 - Production  
SQL> set serveroutput on
SQL> spool outputfile
SQL> execute hcheck.full     
     

Instructions:

1. Connect as SYS schema in sqlplus
2. Create package hOut as described in Note:101468.1
3. Create package hcheck in SYS schema (Refer the attachment under SCRIPT to Create package hcheck  
4. spool outputfile
5. execute hcheck.full

6. Output will go to the spool file and the session trace file.
   The script will report various dictionary related issues
   which may or may not be a problem - Any problems reported 
   should be reviewed by an experienced support analyst as some
   reported "problems" may be normal and expected.


PROOFREAD THE SCRIPT BEFORE USING IT! Due to differences in the way text 
editors, e-mail packages, and operating systems handle text formatting (spaces, 
tabs, and carriage returns), this script may not be in an executable state
when you first receive it. Check over the script to ensure that errors of
this type are corrected.The script will produce an output file named [outputfile].
This file can be viewed in a browser or uploaded for support analysis.
 
To provide a single package which looks for common data dictionary
problems. 
The script can be used with Oracle versions 8.1, 9.0, 9.2, 10.1, 10.2, 11.1 
and 11.2. It checks consistency of certain dictionary relationships
and looks for certain known issues - certain reported "problems"
will be normal and expected. 

This script is for use mainly under the guidance of Oracle Support.
分享到:
评论

相关推荐

    利用hcheck检查数据字典不一致

    NULL 博文链接:https://dbzone.iteye.com/blog/798815

    hcheck.zip

    oracle hcheck.zip

    自我诊断:(교육부진단가진단)자가진단라이브러리

    自我诊断 (교육부진단가자)자가진단라이브러리 v(v1)(不建议使用) 搜索学校 { schulList : [ { orgCode : '학교 코드' , kraOrgNm : '학교 한글 이름' , engOrgNm : '학교 영어 이름' , ...

    PRWS_AutoSelfCheck:PRWS.kr自动自我诊断系统源码(对应教育部自我诊断)

    PRWS_AutoSelfCheck PRWS.kr自动自我诊断源 改进并制作了此人的源代码。 Wiki上有关于自我诊断系统的更多信息。

    软2一月考勤表-20230917-075457.xlsx

    软2一月考勤表-20230917-075457.xlsx

    node-v9.10.0-win-x86.zip

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    2023年 【19页】AIGC行业专题报告:2023年有望成为AIGC的拐点.zip

    2023年 【19页】AIGC行业专题报告:2023年有望成为AIGC的拐点.zip

    node-v6.11.2-sunos-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    集团IT信息化产品项目实施方法论及IT信息化服务方案.pptx

    集团IT信息化产品项目实施方法论及IT信息化服务方案.pptx

    Delphi编程语言的深度解析

    Delphi作为一款功能强大的编程语言,以其直观易用的集成开发环境(IDE)和高效的编译器赢得了广大开发者的青睐。本文将对Delphi编程语言的特性、应用领域、编程环境、以及与其他编程语言的比较进行全面而深入的解析,并结合实际案例展示Delphi的编程实践。 Delphi是一种面向对象的编程语言,同时它也是一款可视化软件开发工具。Delphi最初由Borland公司推出,并在后续发展中被Embarcadero Technologies接手。其第一个版本发布于1995年,当时该软件还叫做Object Pascal,后来才更名为Delphi。 Delphi作为一款功能强大的编程语言,在应用程序开发领域具有广泛的应用前景。其直观易用的IDE、高效的编译器以及丰富的组件库为开发者提供了强大的支持。通过本文的解析和案例展示,我们可以看到Delphi在快速开发、跨平台性以及面向对象等方面的优势。随着技术的不断进步和需求的不断变化,相信Delphi将继续发挥其在应用程序开发领域的重要作用。

    源代码-76521生活网模板 asp版 v1.8.zip

    源代码-76521生活网模板 asp版 v1.8.zip

    瑞萨RA6M5实现ADC电压采集(FSP库驱动)

    瑞萨RA4M2驱动程序,Keil开发环境,FSP库驱动。 项目代码可直接编译运行~

    游戏购物冲值界面UI设计PSD源文件.zip

    游戏开发资源,游戏UI,游戏GUI,游戏图标,PSD格式,XD格式,PNG下载,源文件,可编辑下载,游戏购物充值界面,宝石,图标,PS格式,AI格式等,游戏APP

    2018年秋季机器学习课程大作业,2018CCF-BDCI赛题-基金相关性预测训练赛

    机器学习 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径。 机器学习的发展历程可以追溯到20世纪50年代,当时Arthur Samuel在IBM开发了第一个自我学习程序,一个西洋棋程序,这标志着机器学习的起步。随后,Frank Rosenblatt发明了第一个人工神经网络模型——感知机。在接下来的几十年里,机器学习领域取得了许多重要的进展,包括最近邻算法、决策树、随机森林、深度学习等算法和技术的发展。 机器学习有着广泛的应用场景,如自然语言处理、物体识别和智能驾驶、市场营销和个性化推荐等。通过分析大量的数据,机器学习可以帮助我们更好地理解和解决各种复杂的问题。例如,在自然语言处理领域,机器学习技术可以实现机器翻译、语音识别、文本分类和情感分析等功能;在物体识别和智能驾驶领域,机器学习可以通过训练模型来识别图像和视频中的物体,并实现智能驾驶等功能;在市场营销领域,机器学习可

    基于Qt+C++开发的横板闯关酷跑游戏+火柴人画风+源码(毕业设计&课程设计&项目开发)

    基于Qt+C++开发的横板闯关酷跑游戏+火柴人画风+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 一款基于Qt的横板闯关酷跑游戏,火柴人画风 #注意:下载到本地后需要将构建目录改到pro文件同级目录,否则可能无法正常显示。 游戏以控制火柴人避开障碍物,吃到尽可能多的金币为主要目标。 控制火柴人跑得越远得分越高,吃到金币会有加分并增加金币数,碰到障碍物会有扣分。 吃到红心会加速回血,吃到法杖会暂时消除所有障碍物。 不碰到障碍物人物会自动缓慢回血,血条为空时死亡,游戏结束。 操作方法: 按下W键控制火柴人向上跳跃,在空中可进行二次跳跃。 按下S键控制火柴人加速下落。 按下A键控制火柴人向左加速移动。 按下D键控制火柴人向右加速。 游戏中按下esc键暂停游戏,再次按下esc键继续游戏。 游戏结束后按下R键重新开始游戏,按下B键返回游戏主菜单。

    第13届蓝桥杯Python省赛真题-研究生组(完整题目&源码).zip

    第13届蓝桥杯Python省赛真题-研究生组(完整题目&源码);第13届蓝桥杯Python省赛真题-研究生组(完整题目&源码);第13届蓝桥杯Python省赛真题-研究生组(完整题目&源码);

    管理后台项目开发脚手架,基于vue-element-admin和springboot搭建,前后端分离方式开发和部署.zip

    管理后台项目开发脚手架,基于vue-element-admin和springboot搭建,前后端分离方式开发和部署.zip

    node-v7.1.0-linux-armv6l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.1.1-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.14.1-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics