您的位置:首页 > 数据库 > Oracle

Oracle技术之32位升级到64位之后迁移oracle db遇到的问题

2013-07-04 09:58 671 查看
处理器由32位变成了64位,重装oracle软件之后,权衡各种因素,db我选择了把冷备直接挂接的办法迁移,迁移之后遇到了问题...

顺利挂载db之后,通过应用程序或者第三方工具(如plsql developer)连接时出现ORA-06553: PLS-801: internal error [56319] 等错误。解决方法如下:

SQL> shutdown immediate

SQL> startup upgrade

SQL> set echo on

SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql

SQL> select status from dba_objects

2 where object_name='DBMS_STANDARD'

3 and object_type='PACKAGE'

4 and owner='SYS';

如果invalid,则需要重新编译,执行以下语句

SQL> alter package dbms_standard compile;

如果是valid,则不需要执行上面一条语句

SQL> select object_name from dba_objects where status='INVALID';

如果返回值不为空,则需要执行以下语句

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

如果语句执行失败,则依次执行下列语句

$ cd /u01/app/oracle/product/102/db_1/olap/admin/

SQL> @?/olap/admin/catnoamd.sql

SQL> @?/olap/admin/catnoaps.sql

SQL> @?/olap/admin/catnoxoq.sql

SQL> @?/olap/admin/olapidrp.plb

SQL>@?/olap/admin/olap.sql SYSAUX TEMP;

然后再次执行

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

再次查询

SQL> select object_name from dba_objects where status='INVALID';

此时应为空

SQL> set echo off

SQL> shutdown immediate;

SQL> startup

oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息