APP下载

ORACLE数据库跨平台迁移技术的研究

2015-05-30高旭杨品媛曹明

中小企业管理与科技·下旬刊 2015年10期
关键词:Oracle数据库

高旭 杨品媛 曹明

摘 要:为了实现不同平台上的ORACLE数据库迁移,可以采用导入导出工具、数据泵、CTAS、GOLDENGATE等方式。针对大规模数据库,可以使用ORACLE的RMAN命令简化迁移步骤,提高迁移速度。

关键词:ORACLE数据库;跨平台迁移;RMAN;字节序

1 概述

针对大规模数据库跨平台迁移的问题,ORACLE提供了一种简便方法,在操作系统的字节序一致的情况下,可以使用RMAN的convert database命令简化迁移步骤,提高迁移速度。

2 跨平台迁移场景分析

ORACLE数据库支持的操作系统平台种类较多,对于主流的操作系统上都提供了安装软件。常见的数据库操作系统平台有AIX、HP-UX、Linux等,迁移场景可能是将ORACLE数据库从HP-UX上迁移到AIX平台上,或者从AIX平台上迁移到Linux平台上。判断ORACLE数据库是否支持相应的操作系统可以通过查询动态视图 v$transportable_platform来确认。这里需要注意一个跨平台迁移的重要影响因素:字节序,即ENDIAN_FORMAT列显示的结果。

字节序:是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。常见的字节序有两种:

①Little endian:将低序字节存储在起始地址;

②Big endian:将高序字节存储在起始地址。

查询当前数据库所在的操作系统平台类型可以通过动态视图 v$database 来确认:

SQL> select name,platform_id,platform_name from v$database;

进行跨平台迁移如果字节序一致,即都为BIG或都为LITTLE,则可以直接使用RMAN的convert database方法迁移。

3 技术原理介绍

RMAN是ORACLE数据库提供的一个备份恢复管理工具,此工具可以将数据文件内容进行转换(不同的操作系统字节序可能不一样,所以需要转换)。ORACLE 10gR2以后的版本,在相同字節序的前提下,将源数据库置于read only状态,然后通过RMAN 的convert database命令将整个数据库的数据文件按新字节序克隆一份,同时生成一个脚本文件和初始化参数文件,然后将这些文件复制到目标数据库上,最后执行此脚本文件完成整个转换过程。

4 跨平台迁移步骤

4.1 进行转换前检查

检查版本

select * from v$version;

需要检查源库和目标库的版本,为了减少迁移的麻烦,最好软件版本一致。

检查支持的操作系统

select * from v$transportable_platform;

源库和目标库的字节序一致,则可以直接使用convert database进行准换。

检查外部文件

使用DBMS_TDB.CHECK_EXTERNAL 检查无法传输的。

Exec dbms_tdb.check_external

输出的内容是无法完成转换的,因此需要手工创建这些内容。

检查是否有阻止传输的情况

Exec dbms_tdb.check_db('AIX-Based Systems (64-bit)',

dbms_tdb.skip_none);

如果没有的话,不会有任何输出。

4.2 将源库置于只读状态

执行跨平台迁移操作期间要求将数据库置于只读状态,转换完后才可以再置回读写状态,因此此期间内数据库只能查询不能写入,业务系统通常不能使用。命令如下:

shutdown immediate

startup open read only

4.3 执行转换

使用rman工具进行转换。

RMAN> convert database

transport script '/hp2aix/trans.sql'

to platform 'AIX-Based Systems (64-bit)'

format '/hp2aix/aix_%U';

此过程耗时长短由数据库大小决定。执行此命令会将当前数据库的所有数据文件复制一份到新目录下,大小与源库一样。转换完毕后,可以将源库恢复到读写状态。

4.4 传输到目标服务器上

将新目录 /hp2aix/ 下的所有文件通过ftp、scp等方式复制到目标库服务器上,通常如下:

scp /hp2aix/* db5:/newdb

如果数据文件较多,可以考虑开启多个窗口同时传输,提高效率。

4.5 正常打开目标库

在目标服务器上,首先需要创建参数文件中使用到的目录,例如user_dump_dest等,然后执行trans.sql可以将数据库打开。

当然,为了细调转换内容,可以手工编辑此脚本,然后再执行。

5 关于提高性能

整个迁移过程基本上分为:转换、传输、启动三个阶段,为了提高转换性能,缩短停机时间窗口,可以考虑在转换阶段通过并行技术,提高转换的速度。为了减少传输时间,可以将远程目标端的存储通过NFS方式挂载到源库服务器上,这样就直接生成到目标端了,不再需要传输时间了,当然,前提是优化网络、NFS参数,保障足够的网络带宽。启动过程基本上没有什么可以采用的优化手段,此时间也相对固定。

6 结束语

跨平台迁移的实现可以采用多种技术,在字节序一致的前提下,通过ORACLE的RMAN工具可以简便快捷的实现大规模数据库在不同平台间进行迁移,为提高转换效率,增强运维水平提供了一种便捷方法。

参考文献:

[1]Oracle [R] Database Backup and Recovery User′s Guide.  Part Number B28270-03.

[2]Oracle [R] Database Backup and Recovery Advanced User′s Guide  Part Number B14191-01.

[3]维基百科.字节序.

猜你喜欢

Oracle数据库
Oracle数据库安全管理策略的优化
Oracle数据库应用问题与解决方案分析
一种Oracle数据库表空间监控方法
《Oracle数据库》课程教学模式探究 
基于ORACLE数据库应用系统的优化途径研究
虚拟机技术在Oracle数据库中的探讨与应用研究
Oracle数据库备份与恢复的理论基础
Oracle数据库性能调整与优化分析
Oracle数据库查询语句的优化研究
微课教学模式在Oracle数据库课程中的应用