跨 OS 平台迁移 Oracle 数据库

将现有 Oracle 数据库(非二进制可执行程序文件/)从一个操作系统平台移植到另一个操作系统平台(例如从 Windows 到 Solaris)
这种需求会发生在 Oracle 版本升级过程中(Oracle 8i 一直到 Oracle 11G),或者在同一 Oracle 版本内(Oracle 10.2 到 Oracle 10.2)。
平台迁移中不考虑操作系统内部的更改(例如将 Linux、Windows 或 Solaris 从 32 位到 64 位),这些更改会被当做正常升级/ wordsize 转换来处理。
我们以下几种解决方案

解决方案

我们没有迁移实用程序(脚本或 DBUA)来执行 Oracle Database 的跨平台迁移。

更改平台需要使用下列方法之一重新构建数据库和(或)移动数据:

执行“export/import”操作,包括Datapump。所有版本都支持“export/import”操纵,但是对于Datapump,则需要 10.1.0.2 或更高版本。

10G 或更高版本可使用 Transportable Tablespaces。

10G 或更高版本可使用 RMAN Convert Database 功能。

Streams 流复制。

Create Table As Select (CTAS)

Dataguard 基于异构平台的物理主备库。

Oracle Golden Gate。

每个可用选项都会有其优势和局限,包括数据类型、所需时间和潜在成本。

可用选项的优劣将取决于源和目标操作系统及 Oracle 版本。

例如:

使用 Dataguard 基于异构平台的物理主备库时将存在平台局限

仅当源和目标都属于相同 ENDIAN 格式时,RMAN Convert Database 才工作。

针对 Transportable Tablespaces 的 RMAN's convert 功能将从一种 ENDIAN 格式转换为另一种格式。

这两个命令是不相同的。

PLATFORM_NAMEENDIAN_FORMAT
Oracle Solaris on SPARC (32-bit & 64-bit)   Big  
AIX-Based Systems (64-bit)   Big  
HP-UX (64-bit)   Big  
HP-UX IA (64-bit)   Big  
IBM zSeries Based Linux   Big  
Apple Mac OS   Big  
IBM Power Based Linux   Big  
HP Tru64 UNIX   Little  
Linux IA (32-bit & 64-bit)   Little  
HP Open VMS   Little  
Microsoft Windows IA (32-bit & 64-bit)   Little  
Oracle Solaris on x86 & x86-64   Little  
Linux 64-bit for AMD   Little  
Microsoft Windows 64-bit for AMD   Little  

下面是使用Transportable Tablespaces基本步骤:

在新环境中创建一个“空”数据库

将所有数据表空间从源数据库插入目标数据库

SYSTEM+SYSAUX 表空间无法传输

移动视图、同义词等所需的其他步骤

可能升级很快

复杂性可能成为约束

自 Oracle Database 10g 开始支持跨平台和跨 Endian 工作


下面是在升级中使用 Oracle Streams 的基本信息:

构建数据库的副本并升级该数据库

将其与源数据库同步

最小停机时间:仅重新连接客户端

跨平台工作

自 Oracle 9iR2 开始支持跨版本

对其进行设置所需的一些工作

自源数据库未被操作以来可能的回退

可能的问题包括:

数据类型限制

性能

CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/96090c5f5afe12132502acc760c19e14.html