代码改变世界

RMAN还原32位数据库到64位实例的错误处理

2015-03-10 19:52  潇湘隐者  阅读(1965)  评论(0编辑  收藏  举报

将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]

clip_image001

出现这个错误,是因为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

clip_image002

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

 

参考资料:

http://blog.itpub.net/23135684/viewspace-757172

https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=wo3y0s6qj_9&_afrLoop=209150676970938#GOAL