Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > 安装patch后利用utlrp.sql编译数据库中无效对象
【标  题】:安装patch后利用utlrp.sql编译数据库中无效对象
【关键字】:patch,utlrp.sql
【来  源】:http://www.cublog.cn/u/22151/showart.php?id=145369

安装patch后利用utlrp.sql编译数据库中无效对象

Your Ad Here
07月17日(星期一)

我的oracle9i数据库在打patch后发现在alert中每天定时会产生一些ora-00600错误,错误代码为:

Errors in file /oracle/admin/c3rpt/bdump/c3rpt_j006_28040.trc:
ORA-00600: internal error code, arguments: [17069], [0x3E8C55AE0], [], [], [], [], [], []

在相应的trace文件中可以看到如下信息:

KSTDUMP: End of in-memory trace dump
ORA-00600: internal error code, arguments: [17069], [0x3E8C55AE0], [], [], [], [], [], []
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at line 1
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-00600: internal error code, arguments: [17069], [0x3E8C55AE0], [], [], [], [], [], []
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at line 1

其中ora-06508信息说明是要调用的对象不存在, 通过dba_objects查询, 发现要调用的对象状态为invalid, 在dba_objects中还存在一些这样状态的数据库对象.

于是调用$ORACLE_HOME/RDBMS/ADMIN/utlrp.sql对数据库中的invalid对象进行重新编译.

编译结束后连续跟踪了几天,没有再次出现上述问题.

总结:utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象. oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。

为了保证系统的的数据词典的完整性和有效性,最好的打patch后在migrate状态下运行catpatch.sql,否则可能会在exp/imp时报EXP-00056: 遇到 ORACLE 错误 31600
ORA-31600: 输入值 EMIT_SCHEMA 无效, 它用于参数 NAME, 位于函数 SET_TRANSFORM_PARAM 中
ORA-06512: 在"SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在"SYS.DBMS_METADATA_INT", line 3926
ORA-06512: 在"SYS.DBMS_METADATA_INT", line 4050
ORA-06512: 在"SYS.DBMS_METADATA", line 836
ORA-06512: 在line 1
EXP-00056: 遇到 ORACLE 错误 31600
ORA-31600: 输入值 EMIT_SCHEMA 无效, 它用于参数 NAME, 位于函数 SET_TRANSFORM_PARAM 中
ORA-06512: 在"SYS.DBMS_SYS_ERROR", line 105
ORA-06512: 在"SYS.DBMS_METADATA_INT", line 3926
ORA-06512: 在"SYS.DBMS_METADATA_INT", line 4050
ORA-06512: 在"SYS.DBMS_METADATA", line 836
ORA-06512: 在line 1
EXP-00000: 导出终止失败
等错误

oracle数据库中字符集的问题:【上一篇】
修改数据库名:【下一篇】
【相关文章】
  • 浅析COleDispatchDriver Class(Ole发布驱动类)
  • 企业库昨天出了一个Patch,主要是信任级别的修复
  • 提交了一个Doxygen1.4.7的bug和patch
  • Diff 创建软件补丁,用patch 打补丁
  • make patch
  • How to create and use a patch in Linux
  • WebWork教程-ServletDispatcher
  • diff和patch使用指南(转)
  • patch命令的使用
  • PatchLink 多平台管理软件
  • 【随机文章】
  • 文档编写标准化
  • 关于将基于Doc/View结构的EXE程序封装成OCX的一些经验
  • VB中超长OLE数据库字段的操纵方法
  • Apache 配置安全
  • 在ASP应用中验证用户身份(5)
  • 计算机蠕虫病毒是啥子哟!
  • 如果你碰上这样的男人 你可以嫁了
  • Solaris10 SMF 服务管理概要
  • Linux下的信号处理
  • resin configure
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.