10.2.0.3 32位 RMAN 恢复到10.2.0.4 64位,含软硬件

说一下过程及遇到的问题

[@more@]

recover database

alter database open upgrade

@?/rdbms/admin/utlirp.sql //数据位数不一样

升级数据字典

SPOOL /home/oracle/upgrade.log

@?/rdbms/admin/catupgrd.sql

SPOOL off

@?/rdbms/admin/utlrp.sql //重编译对象

检查升级后各组件状态

@?/rdbms/admin/utlu102s.sql

检查dba_registry

col comp_name for a30

select comp_name,version,status from dba_registry;

如果utlu102s.sql的结果与dba_registry冲突,则以dba_registry结果为准

检查invalid对象

col object_name format a32

select owner,object_name from dba_objects where status='INVALID' order by owner;

32-> 64遇到

ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10] [SIGSEGV] [Address not mapped to object] [0x2B98424D17] [] []

Subject: DB CONVERSION: 32 bit -->64 Bit Broke OLAP OPTION
Doc ID:

386990.1

Applies to:

Oracle OLAP - Version: 10.2.0.2
This problem can occur on any platform.

Symptoms

You receive the following error when you try to create new AW or attach exsisting AW:

SQL> conn zpb/zpb

Connected.

SQL> exec dbms_aw.execute('aw attach ZPBANNOT rw');
BEGIN dbms_aw.execute('aw attach ZPBANNOT rw'); END;

*
ERROR at line 1:
ORA-03113: end-of-file on communication channel

Alert.log has following errors:

Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr:
0x2b98387d77, PC: [0x2a9582f260, _intel_fast_memcpy.A()+10]

OR

ORA-07445: exception encountered: core dump [_intel_fast_memcpy.A()+10]
[SIGSEGV] [Address not mapped to object] [0x2B98387D77] [] []

Changes

Database was upgraded from 32bit to 64bit

Cause

The problem is that the 64-bit compiler pads structures containing ub8s differently than the 32-bit version of the compiler

Solution

1. Remove OLAP:

At the system prompt 'cd' to the ORACLE_HOME/olap/admin directory then:

SQL> @?/olap/admin/catnoamd.sql
SQL> @?/olap/admin/catnoaps.sql 
SQL> @?/olap/admin/catnoxoq.sql
SQL> @?/olap/admin/olapidrp.plb


2. Add OLAP

Add the OLAP option to an existing Enterprise Edition Database
Assuming that you created your database manually or via DBCA, Enterprise
Edition in Oracle Database 10g:

SQL> connect SYS as SYSDBA
SQL> @?/olap/admin/olap.sql SYSAUX TEMP;


3. Recompile any invalid objects:

SQL> @?/rdbms/admin/utlrp


4. Check for any invalid OLAPSYS objects:

SQL> select owner, object_name, object_type, status from dba_objects where status = 'INVALID' and OWNER = 'OLAPSYS' ;

5. Check OLAP components in the DBA_REGISTRY.

请使用浏览器的分享功能分享到微信等