数据库升级过程中遇到的问题

在升级10.2.0.1 for linux-64位数据库到10.2.0.4时,出现了以下两个问题。

在oracle官方网站下载补丁包p6810189_10204_Linux-x86-64.zip,解压后,执行./runInstaller.sh,一路单击下一步就可以完成安装。可你千万不要以为大功告成了。当启动数据库时,出现以下错误:

SQL>startup

ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option

需要执行下面操作,更新数据库的数据字典。

SQL> STARTUP UPGRADE
SQL> @?/rdbms/admin/catupgrd.sql

当此脚本快执行完时,又出现了下面的错误。

ORA-12012: 自动执行作业 1 出错
ORA-04063: package body "SYSMAN.EMD_MAINTENANCE" 有错误
ORA-06508: PL/SQL: 无法找到正在调用 : "SYSMAN.EMD_MAINTENANCE" 的程序单元
ORA-06512: 在 line 1

解决办法:

SQL> grant execute on UTL_FILE to oracle_ocm;
SQL> grant execute on DBMS_SCHEDULER to oracle_ocm;
SQL> grant execute on UTL_FILE to wmsys;
SQL> grant execute on DBMS_SCHEDULER to wmsys;
SQL> shutdown immediate;
SQL> startup restrict;
SQL> @?/rdbms/admin/utlrp.sql
SQL> shutdown immediate;
SQL> startup;

大功告成。

请使用浏览器的分享功能分享到微信等