暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle数据库从11.2.0.4升级到19c SYS.DBMS_AQADM_SYS包出现错误

原创 敖子🍖 2024-10-16
64

在使用 Oracle Database Upgrade Assistant (DBUA) 进行数据库升级时,出现报错提示ORA -04063:SYS.ALERT_QUE has errors ORA-06512:at SYS.DBMS_AQADM_SYS line xx;出现报错之后升级没有被停止,dbua进程仍然在工作;失效对象通常不会直接阻碍升级过程。DBUA 的主要任务是升级数据库和相关组件的版本,它并不依赖于所有对象的状态是否有效。然而,SYS.DBMS_AQADM_SYS包出现错误,最突出的表现是执行expdp备份时出现问题,以下几点需要注意:

1. **升级后状态**:虽然失效对象不会直接影响升级,但在升级完成后,这些对象仍然会保持失效状态。因此,在升级后,可能需要手动重新编译这些对象,以确保它们能正常工作。
2. **依赖性问题**:某些失效对象可能是由于依赖的其他对象失效或缺失导致的。在升级后,可能会遇到更多的依赖性问题,需要进一步排查和解决。

等待dbua执行升级完后再处理包失效问题


解决方法:

升级完成后验证包失效状态,重新执行utlrp.sql刷新编译失效的包DBMS_AQADM

su - oracle

sqlplus / as sysdba

检查失效包

SET SERVEROUTPUT ON;
EXECUTE DBMS_PREUP.INVALID_OBJECTS;

select owner, object_type, status from dba_objects where object_name = 'DBMS_AQADM';


重新执行utlrp.sql刷新编译失效的包DBMS_AQADM

su - oracle

sqlplus / as sysdba

spool support.out
alter package sys.DBMS_AQADM compile;
alter package sys.DBMS_AQADM compile body;

-- If any ALTER fails, then check the errors:
select * from dba_errors where name = 'DBMS_AQADM' and type = 'PACKAGE BODY';

-- If it indicates:
missing : SYS.AQ$_SCHEDULES ;
missing/invalid package specification : DBMS_PRVTAQIP

-- These are both created by catqueue.sql which is run from catproc.sql:
-- Execute catproc.sql:

$ORACLE_HOME/rdbms/admin/catproc.sql       //运行服务器端所需要的PL/SQL脚本
$ORACLE_HOME/rdbms/admin/utlrp.sql           //刷新数据库其他功能的表和视图

spool off 

成功解决包失效问题

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论