首页 / 数据库 / MySQL / Oracle升级出现ORA-04063 DBMS_REGISTRY has error
在做Oracle数据库从11.2.0.1.0升级到11.2.0.2.8时,软件升级没有问题,实例升级没有问题,升级psu的时候。
运行@?/rdbms/admin/catbundle psu apply时,只显示一部分信息,即终止apply。在dba_registry_history中未显示11.2.0.2.8的psu信息;
select * from dba_registry_history;
ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SER COMMENTS
------------------------------ --------------- ---------- ---------- ---------- ---------- ------------------------------
05-JUN-14 12.50.22.878147 PM VIEW INVALIDATE 8289601 view invalidation
05-JUN-14 12.50.23.234212 PM UPGRADE SERVER 11.2.0.2.0 Upgraded from 11.2.0.1.0
05-JUN-14 12.50.59.175151 PM APPLY SERVER 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.55.26.047671 PM APPLY 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.55.37.411219 PM ROLLBACK 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.58.26.752280 PM ROLLBACK 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.58.57.774343 PM ROLLBACK 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 02.03.58.934479 PM APPLY 11.2.0.2 0 PSU Patchset 11.2.0.2.0
查询dba_registry的时候直接报错:
select * from dba_registry;
ORA-04063: package body "SYS.DBMS_REGISTRY_SYS" has errors
ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_REGISTRY_SYS"
ORA-06512: at line 1
最终问题定位在DBMS_REGISTRY_SYS包失效,重新跑一下prvtcr.plb脚本即可解决:
SQL>@?/rdbms/admin/prvtcr.plb
重现查询dba_registry不再报错,接着重新apply psu:
SQL>@?/rdbms/admin/catbundle.sql psu apply
select * from dba_registry_history;
ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SER COMMENTS
------------------------------ --------------- ---------- ---------- ---------- ---------- ------------------------------
05-JUN-14 12.50.22.878147 PM VIEW INVALIDATE 8289601 view invalidation
05-JUN-14 12.50.23.234212 PM UPGRADE SERVER 11.2.0.2.0 Upgraded from 11.2.0.1.0
05-JUN-14 12.50.59.175151 PM APPLY SERVER 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.55.26.047671 PM APPLY 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.55.37.411219 PM ROLLBACK 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.58.26.752280 PM ROLLBACK 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 01.58.57.774343 PM ROLLBACK 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 02.03.58.934479 PM APPLY 11.2.0.2 0 PSU Patchset 11.2.0.2.0
05-JUN-14 04.40.56.460140 PM APPLY SERVER 11.2.0.2 8 PSU PSU 11.2.0.2.8
9 rows selected.OK ,psu apply成功。--------------------------------------------------------------------------------Linux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm--------------------------------------------------------------------------------更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址