用户(以下统称为“客户”)计划将数据库从AIX 平台迁移到Linux 平台。 使用Oracle GoldenGate (下文统称“OGG ”)来实现这一目标是一种可行的方案,比较其它技术方案而言,比如Data Guard 或者expdp/impdp 等,OGG 具有如下的优势: n 灵活性强:
允许源与目标的操作系统类型不同或者大版本不同;
源与目标Oracle 数据库的大版本不同;
源与目标的数据库用户名不同,数据结构有较大的不同 n 割接时间窗口小 但是使用OGG 也存在一些不足或者限制: n 可能有不支持的数据库对象,比如IOT 表、具有ANYDATA 数据类型的表、物化视图日志表等 n 无法支持具有重复记录的表 n 传统的capture mode 不支持压缩表 n 为确保源与目标数据完全一致,需要增加数据比对环节,可能会增加割接窗口。
本方案将根据已有的类似实施案例,提出详细的升级技术方案和实施方案,为正式、全面开展系统升级工作提供基础。 本文档主要内容如下: n 使用OGG 进行数据库迁移的详细方案 本文档供如下人员审阅: n 用户数据库升级项目管理和实施人员 n Oracle 公司ACS 团队管理和技术人员
本文中使用了不同的字体以区分用户所输入的命令和命令返回的结果。比如:Tuxedo01[/oracle]$ lslpp -l | grep -i xlC xlC.aix50.rte 10.1.0.0 COMMITTED XL C/C++ Runtime for AIX 5.3 xlC.cpp 9.0.0.0 COMMITTED C for AIX Preprocessor xlC.msg.en_US.cpp 9.0.0.0 COMMITTED C for AIX Preprocessor xlC.msg.en_US.rte 10.1.0.0 COMMITTED XL C/C++ Runtime xlC.rte 10.1.0.0 COMMITTED XL C/C++ Runtime
其中,红色加粗字体部分为操作命令,蓝色字体部分为命令的返回结果。
2. 总体方案 2.1 迁移工作的阶段安排 建议客户以完整的项目的方式来运作,并从中不断积累经验,在一套系统的升级取得成功后,总结经验与不足,并将其应用到后续系统的迁移/ 升级中。 下面是建议的项目实施阶段与相应的工作内容:
2.1 方案阶段 本阶段的主要工作是了解客户需求,对应用系统及其数据结构进行分析,并制订第一版的实施方案,主要包括:1. 确认营业库源与目标环境,包括数据库版本、操作系统版本、数据库容量、字符集等2. 了解升级方面的需求:比如升级的时间窗口,是否需要准备性能测试方案,是否需要准备回退方案3. 确定需要由GoldenGate 实施复制的全部数据库对象,其中包括:
n 需要复制的数据库用户
n 排除掉包含有不能支持的数据类型而不能被OGG 支持的表,
n 排除掉不需要复制的表,比如全局临时表、用户临时表等
n 排除掉具有重复记录的表(即没有主键或者索引,并且有重复行),这些表OGG 不能支持
n 最后确定所有通过OGG 复制的表4. 对于需要由GolenGate 复制的表,检查其数据特性:
n 是否为分区表,是否为按时间分区的表,如果是,是否存在历史数据(即静态数据)
n 数据的修改方式:update/delete/insert
n 是否有truncate 操作
n 表的类型:字典表/ 日志表/ 资料表等5. 对于不能由GolenGate 复制的表,制定其它迁移方案。6. 配置DDL 复制
在了解清楚以上信息后,需要制订出:1. 《OGG 安装、配置规范》:今后的实施中也将采用2. 《OGG 数据复制详细方案》3. 《数据比对方案》4. 《应用性能测试方案》(可选)5. 《回退方案》(可选,如果需要使用OGG 实现回退) 以上方案制订完成后,需要由客户相关人组织进行评审。 2.2 测试阶段 在方案已经制订完成并通过评审后,进入到测试阶段,本阶段的核心内容是: n 根据《OGG 安装、配置规范》搭建测试环境,创建目标库等 n 根据《OGG 数据复制详细方案》,配置OGG 的数据复制,验证复制工作正常 n 根据《数据比对方案》,执行测试,检查比对的效率等。 n 根据《应用性能测试方案》(可选),对目标端应用、数据库的性能进行测试。 n 根据《回退方案》(可选,如果需要使用OGG 实现回退),配置从新生产到旧生产的复制链路。
在测试阶段中,要针对每一个出现的问题,找到问题原因并和解决方法;对不正确的、和不满足需求的方案进行调整、补充和完善。
2.3 实施阶段 在所有方案通过测试后,进入到实施阶段,本阶段的主要工作是: n 根据客户计划,在割接前提前若干天配置好生产到准生产的数据复制,并不断比对数据。 n 在准生产投产的割接窗口中,停止应用,停止OGG 的复制,执行数据比对 n 在数据完全一致,并满足其他条件后,配置应用连接到新的生产库,割接结束。
