将ORACLE 10g 32bit数据库还原到测试机ORACLE 10g 64bit的数据库实例上, 还原、恢复数据库后,使用open resetlogs打开数据库后,发现警告日志里面有ORA-12012以及ORA-06553错误:
Sun Mar 8 13:31:08 2015
LOGSTDBY: Validation complete
Starting control autobackup
Control autobackup written to DISK device
handle '/u03/flash_recovery_area/backup/backupsets/ora_cfc-2179993557-20150308-00'
Completed: alter database open resetlogs
Sun Mar 8 13:31:09 2015
Errors in file /u01/app/oracle/admin/epps/bdump/epps_j000_14891.trc:
ORA-12012: error on auto execute of job 41
ORA-06553: PLS-801: internal error [56319]
Sun Mar 8 13:31:09 2015
Errors in file /u01/app/oracle/admin/epps/bdump/epps_j001_14893.trc:
ORA-12012: error on auto execute of job 21
ORA-06553: PLS-801: internal error [56319]
Sun Mar 8 13:31:09 2015
Errors in file /u01/app/oracle/admin/epps/bdump/epps_j006_14903.trc:
ORA-12012: error on auto execute of job 42567
ORA-06553: PLS-ORA-06553: PLS-801: internal error [56319]
出现这个错误,是因为32bit和64bit数据库的wordsize不同,需要执行以下步骤完成wordsize的转换。具体可以参考How to Convert a 32-bit Database to 64-bit Database on Linux? (文档 ID 341880.1)
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup upgrade;
ORACLE instance started.
Total System Global Area 3590324224 bytes
Fixed Size 2084296 bytes
Variable Size 1607467576 bytes
Database Buffers 1966080000 bytes
Redo Buffers 14692352 bytes
Database mounted.
Database opened.
SQL> @?/rdbms/admin/utlip.sql
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 3590324224 bytes
Fixed Size 2084296 bytes
Variable Size 1607467576 bytes
Database Buffers 1966080000 bytes
Redo Buffers 14692352 bytes
Database mounted.
Database opened.
SQL> @?/rdbms/admin/utlrp.sql
在执行脚本时,会报下面错误,官方解释为Note:If you are changing wordsize for Oracle release10.1.x/10.2.x/11.1/11.2 32-Bit to 64-bit with OLAP enabled for DB then you may likely to see the error
Fri Jan 23 17:24:05 2015
Errors in file /u01/app/oracle/admin/epps/bdump/epps_smon_9027.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [18], [13], [], [], [], [], []
Fri Jan 23 17:25:55 2015
Error 0 in kwqmnpartition(), aborting txn
Fri Jan 23 17:25:55 2015
Errors in file /u01/app/oracle/admin/epps/bdump/epps_mmon_9113.trc:
ORA-00600: internal error code, arguments: [4194], [38], [38], [], [], [], [], []
ORA-06544: PL/SQL: internal error, arguments: [56319], [], [], [], [], [], [], []
ORA-06553: PLS-801: internal error [56319]
Flush retried for xcb 0x12c114e20, pmd 0x12cca2d30
Doing block recovery for file 122 block 939
No block recovery was needed
Fri Jan 23 17:25:56 2015
Errors in file /u01/app/oracle/admin/epps/bdump/epps_mmon_9113.trc:
ORA-00600: internal error code, arguments: [4194], [38], [38], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [38], [38], [], [], [], [], []
ORA-06544: PL/SQL: internal error, arguments: [56319], [], [], [], [], [], [], []
ORA-06553: PLS-801: internal error [56319]
ORA-600 encountered when generating server alert SMG-3503
Flush retried for xcb 0x12c114e20, pmd 0x12cca2d30
Doing block recovery for file 122 block 939
No block recovery was needed
Fri Jan 23 17:25:57 2015
Errors in file /u01/app/oracle/admin/epps/bdump/epps_mmon_9113.trc:
ORA-00600: internal error code, arguments: [4194], [38], [38], [], [], [], [], []
Flush retried for xcb 0x12c114e20, pmd 0x12cca2d30
Doing block recovery for file 122 block 939
No block recovery was needed