oracle 由32位迁移到64位的问题

 

顺利挂载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,迁移,64,休闲,32)