32位升級到64位之後遷移oracle db遇到的問題

warehouse發表於2010-01-27

處理器由32位變成了64位,重灌oracle軟體之後,權衡各種因素,db我選擇了把冷備直接掛接的辦法遷移,遷移之後遇到了問題...

[@more@]

順利掛載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

參考的原文連線如下:

http://mail.qq.com/cgi-bin/ftnExs_download?k=2c633037cc0299cc9b1224374234521c5a5753530700020a4e52010e5319500152001d565d50061e55050807535553525a540554642f6452024e7c5e0a411c83cdd9f3e2bb19afe2d99f829edbf94a5e0b1730&t=exs_ftn_download&code=cc07d4d3

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1030917/,如需轉載,請註明出處,否則將追究法律責任。

相關文章