微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用dg迁移32位oracle到64位oracle

跳至内容
转到底部

APPLIES TO:

Oracle Database - Enterprise Edition - Version 9.0.1.0 to 12.1.0.2 [Release 9.0.1 to 12.1]
information in this document applies to any platform.

PURPOSE

***Checked for relevance on 8-Jul-2015***

***Checked for relevance on 26-Oct-2016***?

Recompile packages in a database after a Data Guard role transition in a mixed Oracle Binaries Data Guard configuration.

DETAILS

Summary

Beginning with Oracle Database 10g,there are certain configurations where Data Guard Redo Apply (physical standby) can support different Oracle binaries between primary and standby databases as long as all systems in the Data Guard configuration are running the same OS family. For example,you may have a primary database with 32bit Oracle binaries on Red Hat 32bit,and a physical standby database with 64bit Oracle binaries on Red Hat 64bit.

Note: The Oracle RDBMS software version must be the same as per normal Data Guard requirements.

Such configurations must follow additional procedures during Data Guard role transitions (switchover and failover) as described in this note,below. If these procedures are not followed then errors will occur when trying to open the new primary database. One example error sequence would be:

ORA-00604: error occurred at recursive sql level 1
ORA-06553: PLS-801: internal error [56327]

<>
\


For additional information on how Data Guard supports configurations in which the primary database/system may not be identical to its standby database(s)/system(s),please seeNote 413484.1

Restrictions

sql Apply (logical standby) always requires that the bit-ness of the Oracle Database is identical on all systems in a Data Guard configuration. Continuing with the example provided in the summary above of a Red Hat 32bit/64bit primary/standby,if you are using sql Apply you must use 32 bit Oracle binaries on both primary and standby.The bit-ness of the Oracle database must be identical if you are using any Oracle release before Oracle Database 10g for both sql Apply and Redo Apply. Continuing with the example provided in the summary above of a Red Hat 32bit/64bit primary/standby,if you are using Oracle9i you must use 32 bit Oracle binaries on both primary and standby (either physical or logical standby).

The Data Guard broker does not support different binaries in the same Data Guard configuration in Oracle Database 10g. All such configurations must be managed from the sql*Plus command line. Beginning with Data Guard 11g onward,this restriction is lifted and the Data Guard broker does support Oracle 11g databases of mixed word-size in the same Data Guard configuration. Data Guard Fast-start Failover will failover in a mixed Oracle binary configuration but it will be unable to open the new primary database until the procedure below is followed.

Additional Role Transition Procedures when using mixed Oracle binaries

If you are running a physical standby configuration where the primary and standby have different Oracle binaries you will need to follow the instructions below on the new primary as part of any Data Guard role transition (switchover or failover) after a standby becomes a primary database (supported configurations are defined in MetaLink Note 413484.1). This procedure is necessary when transitioning roles in either direction.

Note: If you are using Oracle OLAP then you must also followNote 352306.1. Additionally,as a precaution for a failover,you may want to backup/export the user-created AW's ahead of time and periodically.

1. Shutdown the new primary database (If using RAC then set database to unclustered)

sql> alter system set cluster_database=false scope=spfile;
sql> shutdown immediate

2. Startup the new primary in UPGRADE mode

sql> startup upgrade

3. Invalidate existing PL/sql modules in preparation to convert the format required by the new primary. Note that there should be no other DDL on the database while running the script. Not following this recommendation may lead to deadlocks.

sql> spool utlirp.log
sql> @?/rdbms/admin/utlirp
sql> spool off

4. Restart the database (If using RAC then set database back to clustered)

sql> alter system set cluster_database=true scope=spfile;
sql> shutdown immediate
sql> startup

5. Recompile all invalid PL/sql modules to be in the format required by the new primary database.

sql> spool utlrp.log
sql> @?/rdbms/admin/utlrp
sql> spool off

6. Verify that all expected packages and classes are valid.

sql> SELECT count(*) FROM dba_objects WHERE status='INVALID';
sql> SELECT distinct object_name FROM dba_objects WHERE status='INVALID';
未找到您要查找的产品?
copyright (c) 2017,Oracle. All rights reserved. Legal Notices and Terms of Use Privacy Statement

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐