关于跨OS 的DB 迁移,MOS 上有相关的
文章说明:[ID733205.1]。
To migrate anexisting
Oracle database (NOT BINARIES) from one Operating Systemplatform to another (i.e.
Windows to Solaris) ,This can occur as part ofan Oracle version upgrade (Oracle 8i .. Oracle 11G) or within the sameOracle version: (Oracle 10.2 to Oracle 10.2).
--可以将Oracle DB 从一个
操作系统迁移到另一个操作系统,比如从windows到Solaris,注意这里的迁移仅仅是数据的迁移,不包含DB 的安装介质。这个迁移可以是不同DB版本的迁移,比如从8i 到11g,也可以是相同版本的迁移,比如从10.2 到10.2.
Changes withinan Operating System (ie:
Linux,Windows or Solaris from 32 bit to 64 bit) arenot considered cross platform migrations and are performed as normal versionupgrades/wordsize conversions.
--改变操作系统不用考虑系统的平台,可以按照正常的db version upgrades 和 wordsize 的改变来操作。
一. 解决方法
There is no migrationutility (Script or DBUA) to perform a cross platform migration of an OracleDatabase.
--没有迁移工具如脚本或者DBUA来执行跨OS的数据迁移。
Changingplatforms requires the database be re-built and / or the data moved using oneof the following methods:
(1) Export / Import to include theuse of Datapump facilities. All versions support Export/Import but for Datapump10.1.0.2 or higher is required
(2) Transportable Tablespaces 10Gor Later
(3) RMAN Convert Databasefunctions. 10G or Later
(4) Streams Replication
(5) Create Table As Select (CTAS)
(6) Dataguard Heterogeneous Primaryand Physical Standbys
(7) Oracle Golden Gate
Each availablechoice will have strengths and limitations to include data types, time requiredand potential costs.
--每一个可选的方法都有它的优势和限制,如数据类型,需要的时间和一些潜在的消耗。
The choicesavailable will depend on BOTH the Operating System and Oracle versions on boththe source and destination.
--方法是否可用也取决与Source 和 Destination 两端的操作系统和Oracle版本。
二. 示例
There areplatform limitations when using Dataguard Heterogeneous Primary and PhysicalStandbys。
--比如使用DG的异构平台来迁移时,就会有操作系统的限制。 关于这块内容,之前有详细的Blog:
Oracle DataGuard 支持的异构平台 说明
http://blog.csdn.net/tianlesoftware/article/details/7241488
RMAN ConvertDatabase only works if both source and destination belong to the same ENDIANformat.
--RMAN Convert DB 仅在source 和destination 的ENDIAN 格式相同的情况下才可以使用。
RMAN's convertfunction for Transportable Tablespaces will convert from one ENDIAN format toanother.
在ENDIAN 格式不同的情况下,可以使用RMAN convert function 来转换ENDIAN 从一种格式到另一种格式。如:
RMAN> convert tablespace TBS1 to platform="Linux IA(32-bit)" FORMAT '/tmp/%U';
两端相同之后,就可以进行Transportabletablespace 的操作。
可以通过v$transportable_platform视图查看系统的ENDIAN 格式:
SQL> columnplatform_name format a35
SQL> select *from v$transportable_platform order by 1;
PLATFORM_IDPLATFORM_NAME ENDIAN_FORMAT
---------------------------------------------- --------------
1 Solaris[tm] OE (32-bit) Big
2 Solaris[tm] OE (64-bit) Big
3 HP-UX (64-bit) Big
4 HP-UX IA (64-bit) Big
5 HP Tru64 UNIX Little
6 AIX-Based Systems (64-bit) Big
7 Microsoft Windows IA (32-bit) Little
8 Microsoft Windows IA (64-bit) Little
9
IBM zSeries Based Linux Big
10 Linux IA (32-bit) Little
11 Linux IA (64-bit) Little
12 Microsoft Windows x86 64-bit Little
13 Linux x86 64-bit Little
15 HP Open VMS Little
16 Apple Mac OS Big
17 Solaris Operating System (x86) Little
18 IBM Power Based Linux Big
19 HP IA Open VMS Little
20 Solaris Operating System(x86-64) Little
21 Apple Mac OS (x86-64) Little
20 rowsselected.
|
最新内容请见作者的GitHub页:http://qaseven.github.io/