首先说说事情的起因,在给一个客户实施的时候,碰到一个问题,客户的机器是 Oracle 11.2.0.1 32位的数据库,大小有500G,现在希望迁移到新的服务器上。新服务器是 Oracle 11.2.0.5 64位的数据库。由于网络和磁盘IO的问题,500G的数据大约需要13个小时的传输。采用rman备份再迁移,仍然需要3个小时。客户还是觉得时间过长。感觉最快的切换方式就是搭建主备库,然后将备库直接切换成主库。
那么问题来了:
Source 32位 Target 64位 是否可行
Source 和 Target 的数据库版本不一致是否可行
Source 和 Target 的OS版本不一致是否可行
之后我上网查询了资料,下面详细的内容。
从10g开始Oracle的主备库已经支持不同操作系统的搭建,只是支持的平台比较少,从11g开始支持的平台就比较多了
总体来说:
主库和备库之间,操作系统版本和数据库软件的位数可以不一致(具体支持的情况详见下面)。但是Oracle的数据库版本必须一致(我个人认为,大版本一致就可以了,小版本可以不一致)
主要信息如下
Physical Standby的异构支持:
Logical Standby的异构支持:
参考资料:
Data Guard Support for Heterogeneous Primary and LogicalStandbys in Same Data Guard Configuration (文档 ID 1085687.1)
Data Guard Support for Heterogeneous Primary and PhysicalStandbys in Same Data Guard Configuration (文档 ID 413484.1)
Role Transitions for Data Guard Configurations Using MixedOracle Binaries (文档 ID414043.1)