使用AUTOTRACE 前要做好准备工作

创建角色Plustrace
SQL>        @?/sqlplus/admin/plustrce.sql
将Plustrace角色授于要执行AUTOTRACE的用户
SQL>        grant plustrace to sst;
----------------------------------------------------以上用sys身份执行

设置启用AUTOTRACE
SQL>        set autotrace on(输出结果+执行计划+统计信息)
不显示语句的执行结果
SQL>        set autotrace traceonly(执行计划+统计信息)
只显示执行计划
SQL>        set autotrace traceonly explain(执行计划)

Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.5.0
This problem can occur on any platform.
Symptoms:
The issue is that the following error was raised :
ORA-00600: internal error code, arguments: [kesutlGetBindValue-2], [], [], [], [], [], [], []
The recent changes was the :
Migration from 10.1.0.5.0 database control to Grid Control Agent v10.2.0.3.0
What was runing at this moment of the error occurance was :
The attempt to run SQL Tuning Advisor from Grid Control

Cause:
Possibly invalid objects in the database.
As the issue here was to try to use these packages and then failed:
SYS.DBMS_SQLTUNE_INTERNAL
body SYS.PRVT_ADVISOR
body SYS.DBMS_ADVISOR
body SYS.DBMS_SQLTUNE
And as mentioned with the recent changes was the migration.

Solution:
1. fixup
1). connect to the database as sysdba:
sqlplus "/ as sysdba"
2). shutdown immediate
3). startup migrate
4). @?/rdbms/admin/catalog.sql
5). @?/rdbms/admin/catproc.sql
6). @?/rdbms/admin/utlrp.sql
7). shutdown immediate
8). startup

SELECT UNIQUE OBJECT_TYPE FROM ALL_objects where status = 'INVALID';
select 'ALTER ' || OBJECT_TYPE || ' '||owner||'.' || OBJECT_NAME || ' COMPILE;'
from  all_objects where  status = 'INVALID'
and  object_type in ('PACKAGE','FUNCTION','PROCEDURE', 'TABLE', 'VIEW', 'SEQUENCE', 'TRIGGER');
  
    
   SELECT * from dba_users;
   select 'ALTER PACKAGE ' || OWNER||'.'|| OBJECT_NAME || ' COMPILE body;'
from ALL_objects where status = 'INVALID' and object_type in ('PACKAGE BODY');
SELECT UNIQUE OBJECT_TYPE FROM ALL_OBJECTS;

2. Verify that the status of the CATPROC :
SQL> col comp_id format a10
SQL> col comp_name format a30
SQL> col version format a10
SQL> select comp_id, comp_name, status, version from dba_registry;

and the status of the other objects:
SQL> col object_name format a30
SQL> col owner format a15
SQL> select object_name, owner, object_type, status from dba_objects
where status = 'INVALID';

2-If they are invalid please do the following:
To validate the invalid objects
1)-Please run the utlrp.sql script to try and validate the invalid packages, then check if they are valid or still invalid.
2 )-If the objects are still invalid after running the utlrp.sql script then run catalog.sql and catproc.sql and then run utlrp.sql
    a) Startup restrict or startup migrate.
    b) run catalog.sql
    c) run catproc.sql
    d) run utlrp.sql
3 )-Requery for the invalid objects again.
select owner,object_type,object_name from dba_objects where status='INVALID' ;
4 )-If they are still invalid please try to validate them manually using the below:
Try Manual method of validation:
Alter procedure <owner>.<procedure_name> compile;
Alter function <owner>.<function_name> compile;
Alter view <owner>.<view_name> compile;
Alter package <owner>.<package_name> compile;
Alter package <owner>.<package_name> compile body;
Alter materialized view <owner>.<Package_name> Compile;
In case you have lots of invalid objects,you can generate scripts that will generate the sqls for compiling the invalid objects :
In sqlplus connect as sys:
set heading off
spool compileinvalid.sql
select 'alter '||object_type|| ' ' || owner ||'.'||object_name || ' compile;' from dba_objects
where status='INVALID';
spool off
ORA-06512: at "PS_SYSTEM.ROW_VALIDATOR_T", line 912
ORA-06512: at "PS_SYSTEM.ROW_VALIDATOR_T", line 924
ORA-06512: at "WORKORDER.INVENTORY_UTL", line 1260
select owner,object_name,object_type,status from all_objects where object_name='ROW_VALIDATOR_T' and owner='PS_SYSTEM';
OWNER                          OBJECT_NAME                        OBJECT_TYPE       STATUS
------------------------------ ------------------------------ ------------------- -------
PS_SYSTEM                      ROW_VALIDATOR_T           TYPE                      VALID
PS_SYSTEM                      ROW_VALIDATOR_T          TYPE BODY           VALID

SQL> select owner,object_name,object_type,status from all_objects where object_name='INVENTORY_UTL' and owner='WORKORDER'
  2  ;
OWNER                             OBJECT_NAME                     OBJECT_TYPE          STATUS
------------------------------ ------------------------------ -------------------      -------
WORKORDER                      INVENTORY_UTL           PACKAGE                  VALID
WORKORDER                      INVENTORY_UTL           PACKAGE BODY       VALID

Then run compileinvalid.sql in sqlplus prompt as sys user..
To compile invalid package body use:
alter package <package_name> compile body;

5 )-Also you could do the following  Note 100419.1  SCRIPT: VALIDATE.SQL to ANALYZE VALIDATE
STRUCTURE objects in a Tablespace
Please go through the above action plan and i will be waiting for your update.
6 )-Please make sure that these packages are valid:
SYS.DBMS_SQLTUNE_INTERNAL
body SYS.PRVT_ADVISOR
body SYS.DBMS_ADVISOR
body SYS.DBMS_SQLTUNE

References
Note 100419.1 - SCRIPT: VALIDATE.SQL to ANALYZE .. VALIDATE STRUCTURE objects in a Tablespace

alter PACKAGE BODY SYS.DBMS_XPLAN body compile;
alter PACKAGE BODY SYS.DBMS_SQLTUNE_INTERNAL body compile;
alter SYNONYM PUBLIC.HHLINEOR compile;
alter SYNONYM PUBLIC.HHNEIGHBOUR compile;
alter SYNONYM PUBLIC.HHLINEPS compile;
alter SYNONYM PUBLIC.HHIDROWS compile;
alter SYNONYM PUBLIC.HHIDLROWS compile;
alter SYNONYM PUBLIC.HHBITS compile;

---------无效索引查询 'INVALID INDEXES'

select s2.owner, s2.tablespace_name, s2.segment_name,
        i2.table_name, s2.extents, s2.bytes, s2.blocks, i2.status
from dba_segments s2,
        dba_indexes i2
where s2.owner not in ('SYS','SYSTEM')
and s2.segment_type = 'INDEX'
and i2.status != 'VALID'
and s2.segment_name = i2.index_name
and s2.owner = i2.owner
order by 1,5,4

Oracle常用脚本
-- use sys to run this one
select    'ALTER ' || OBJECT_TYPE || ' '||owner||'.' || OBJECT_NAME || ' COMPILE;'
from    all_objects
where    status = 'INVALID'
and object_type in ('PACKAGE','FUNCTION','PROCEDURE', 'TABLE', 'VIEW', 'SEQUENCE', 'TRIGGER');

--   select
   'ANALYZE ' || OBJECT_TYPE || ' ' || OBJECT_NAME || ' COMPUTE STATISTICS;'
from
   user_objects
where
   object_type = 'TABLE';

转载于:https://blog.51cto.com/xiahouyao123/965797

Oracle Compile 编译 无效对象(ORA-04063: package body SYS.DBMS_XPLAN 有错误)相关推荐

  1. ebs 编译无效对象——adutlrcmp.sql not giving promt

    今天在给R12升级到12.1.3的时候,要安装一个补丁, 打最大的一个patch p9239090 的时候, 前面还算正常, 到了数据库 编译无效对象的时候,一直不结束,第一次做,有点束手无措,最后从 ...

  2. oracle无效的存储过程怎么解决,oracle数据库 编译无效存储过程

    1.查找无效存储过程 SELECT OBJECT_NAME,TO_CHAR(LAST_DDL_TIME,'YYYY-MM-DD HH24:MI:SS'),STATUS FROM USER_OBJECT ...

  3. oracle编译失效对象命令,Oracle 重新编译失效对象的几种方法(转载)

    手工重编译 查看失效对象 COLUMN object_name FORMAT A30 SELECT owner, object_type, object_name, status FROM dba_o ...

  4. oracle 无效对象,Oracle编译用户无效对象

    在采用IMPDP/IMP工具迁移数据时,经常会提示无效对象的警告,需要采用如下方式处理. 1. 查询指定用户的无效对象 su – oracle sqlplus / as sysdba SQL> ...

  5. oracle重新编译视图,Oracle视图编译错误解决办法

    因为新搭的环境,数据库是从另一个现成的环境导过来的,直接后台用exp和imp命令操作.但是新环境的Oracle数据库有问题,一些视图创建不了,导致用到这些视图的视图和存储过程也编译不了.后来手工重新编 ...

  6. oracle vm发现无效设置_Oracle数据库编译失效对象相关命令总结大全,值得收藏

    概述 在日常数据库维护过程中,我们会发现数据库中一些对象(包Package.存储过程Procedure.函数Function.视图View.同义词.....)会失效,呈现无效状态(INVALID).有 ...

  7. oracle重新编译package,如何有效的编译数据库中的失效对象(Package,trigger等)

    在utlrp.sql脚本中,Oracle注释到: Rem utlrp.sql - UTiLity script Recompile invalid Pl/sql modules Rem Rem DES ...

  8. oracle insert 触发器无效_分享一个超实用的Zabbix监控Oracle用户无效对象手册

    一.Oracle客户端配置 1.创建脚本invalid_object_check.sh SQL语句查询无效对象,首先创建一个获取无效对象信息的原始脚本/etc/zabbix/scripts/inval ...

  9. 【排故篇】_啥是无效对象,出现时如何破?

    note-taker:Ethan_Yangrecording time: 2019/09/23number of docs:10 [前言] 大家都知道,在数据库日常运维中,数据库中一些对象(如:Pac ...

最新文章

  1. 5月“.公司”域名注册总量TOP15:西部数码第四
  2. kafka 重复消费和数据丢失_刨根问底,Kafka消息中间件到底会不会丢消息
  3. 你想知道的关于JavaScript作用域的一切(译)
  4. 【uni-app】自定义导航栏/标题栏
  5. 使用React和Tailwind CSS搭建项目模板
  6. AE鱼眼镜头畸变扭曲修复插件RevisionFX RELens for Mac
  7. 2016版系统集成项目管理工程师考试题型举例
  8. react-native ES5与ES6写法对照表
  9. 8.8LSTM作为元学习器学习梯度下降
  10. springboot 整合 谷歌 Captcha验证码
  11. AE脚本-关键帧复制粘贴对齐镜像拉伸调节控制工具 Keystone
  12. 计算机屏幕蓝光,电脑如何设置防蓝光?降低电脑屏幕蓝光危害的方法
  13. couchbase php,CouchBase + PHP 安装与配置
  14. 一张帖搞定同学们入学黑马前所有难题
  15. dnf第七章waiguaⅢ∨dnf第七章好感度【=dnf第七章免费外挂
  16. 配置GeeM2传奇登陆器详细图文教程
  17. Resource.arsc文件格式解析
  18. 关于微信 init接口返回的Count和webwxbatchgetcontact post请求的参数Count
  19. 考研丨7-12月复习安排时间表
  20. DeepMind哈萨比斯对话哈里王子:2018年AI最大的突破在生物或化学

热门文章

  1. python--open用法
  2. jQuery Validate验证方法及教程
  3. 初学spring(一)
  4. ASP.NET MVC视图引擎SPARK文档中文版
  5. 增长产品手段——互动策划
  6. 如何将低频内容应用转化为高频应用?
  7. 【产品干货】一个App的从无到有
  8. 大数据时代 如何让用户上网更放心
  9. 全面理解SSD和NAND Flash
  10. leetcode:Sort List(一个链表的归并排序)