1、ORACLE 数据库跨平台迁移技术的研究 摘 要:为了实现不同平台上的 ORACLE 数据库迁移,可以采用导入导出工具、数据泵、 CTAS、 GOLDENGATE 等方式。针对大规模数据库,可以使用ORACLE 的 RMAN 命令简化迁移步骤,提高迁移速度。 下载 关键词: ORACLE 数据库 ;跨平台迁移 ;RMAN;字节序 1 概述 针对大规模数据库跨平台迁移的问题, ORACLE 提供了一种简便方法,在操作系统的字节序一致的情况下,可以使用 RMAN 的 convert database 命令简化迁移步骤,提高迁移速度。 2 跨平台迁移场景分析 ORACLE 数据库支持的操作系统平台种
2、类较多,对于主流的操作系统上都提供了安装软件。常见的数据库操作系统平台有 AIX、 HP-UX、 Linux等,迁移场景可能是将 ORACLE 数据库从 HP-UX 上迁移到 AIX 平台上,或者从 AIX平台上迁移到 Linux 平台上。判断 ORACLE 数据库是否 支持相应的操作系统可以通过查询动态视图 v$transportable_platform 来确认。这里需要注意一个跨平台迁移的重要影响因素:字节序,即 ENDIAN_FORMAT列显示的结果。 字节序:是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。常见的字节序有两种: Little endian :将低序字节
3、存储在起始地址 ; Big endian :将高序字节存储在起始地址。 查询当前数据库所在的操作系统平台类型可以通过动态视图 v$database 来 确认: SQL select name, platform_id, platform_name from v$database; 进行跨平台迁移如果字节序一致,即都为 BIG 或都为 LITTLE,则可以直接使用 RMAN 的 convert database 方法迁移。 3 技术原理介绍 RMAN 是 ORACLE 数据库提供的一个备份恢复管理工具,此工具可以将数据文件内容进行转换(不同的操作系统字节序可能不一样,所以需要转换)。ORACLE
4、 10gR2 以后的版本,在相同字节序的前提下,将 源数据库置于 read only 状态,然后通过 RMAN 的 convert database 命令将整个数据库的数据文件按新字节序克隆一份,同时生成一个脚本文件和初始化参数文件,然后将这些文件复制到目标数据库上,最后执行此脚本文件完成整个转换过程。 4 跨平台迁移步骤 4.1 进行转换前检查 检查版本 select * from v$version; 需要检查源库和目标库的版本,为了减少迁移的麻烦,最好软件版本一致。 检查支持的操作系统 select * from v$transportable_platform; 源库和目标库的字节序一
5、致,则可以直接使用 convert database 进行准换。 检查外部文件 使用 DBMS_检查无法传输的。 Exec dbms_输出的内容是无法完成转换的,因此需要手工创建这些内容。 检查是否有阻止传输的情况 Exec dbms_kip_none) ; 如果没有的话,不会有任何输出。 4.2 将源库置于只读状态 执行跨平台迁移 操作期间要求将数据库置于只读状态,转换完后才可以再置回读写状态,因此此期间内数据库只能查询不能写入,业务系统通常不能使用。命令如下: shutdown immediate startup open read only 4.3 执行转换 使用 rman 工具进行转换
6、。 RMAN convert database transport script /hp2aix/tr format /hp2aix/aix_%U; 此过程耗时长短由数据库 大小决定。执行此命令会将当前数据库的所有数据文件复制一份到新目录下,大小与源库一样。转换完毕后,可以将源库恢复到读写状态。 4.4 传输到目标服务器上 将新目录 /hp2aix/ 下的所有文件通过 ftp、 scp等方式复制到目标库服务器上,通常如下: scp /hp2aix/* db5: /newdb 如果数据文件较多,可以考虑开启多个窗口同时传输,提高效率。 4.5 正常打开目标库 在目标服务器上,首先需要创建参数文件
7、中使用到的目录,例如user_dump_dest 等,然后执行 trans.sql 可以将数据库打开。 当然,为了细调转换内容,可以手工编辑此脚本,然后再执行。 5 关于提高性能 整个迁移过程基本上分为:转换、传输、启动三个阶段,为了提高转换性能,缩短停机时间窗口,可以考虑在转换阶段通过并行技术,提高转换的速度。为了减少传输时间,可以将远程目标端的存储通过 NFS方式挂载到源库服务器上,这样就直接生成到目标端了,不再需要传输时间了,当然,前提是优化网络、 NFS 参数,保障足够的网络带宽。启动过程基本上没有什么可以采用的 优化手段,此时间也相对固定。 6 结束语 跨平台迁移的实现可以采用多种技术,在字节序一致的前提下,通过ORACLE 的 RMAN 工具可以简便快捷的实现大规模数据库在不同平台间进行迁移,为提高转换效率,增强运维水平提供了一种便捷方法。 参考文献: Oracle R Database Backup and Recovery Users Gukup and Recovery Advanced Users Guide Part Number B14191 -01. 维基百科 .字节序 .