你也使用过这款产品吗?欢迎分享你的见解
与大家分享你的见解、观点、比较或使用心得
雷达评级
A
用户规模
-
产品上线
-
1 概述
DSG 公司致力于不断研究开发、改进数据库相关的管理软件和工具产品,我们许多研 发成果,都与响应客户的各项新需求有关。
我们响应了中国太平洋保险的需求,将 DSG 的高速数据库备份产品升级到了灾备一体 的 DBP;与中国的证券界合作,推出了 RealSync;与江苏移动、贵州移动、山东移动、 北京移动等的合作,升级了 Enhanced ETL…..
DSG 将珍视中国建设银行提出的需求、要求等,那是我们公司未来不断发展的方向之 一!
1.1 大型 Oracle 数据库的迁移需求和技术挑战
随着业务的不断拓展,我们经常需要对系统进行调整,比如:存储系统升级、服务器升 级、平台的迁移、数据库版本升级等等,这些情况我们都需要借助数据迁移工作来完成。
数据迁移种类,目前可分为如下 4 类不同技术需求:
同构迁移是在相同的操作系统平台、或相同的数据库平台之间做数据库的迁移;同 构迁移可支持:同品牌服务器升级或更换、磁盘阵列的升级、扩容、更换等。
异构迁移是在异构环境下做操作系统的升级或变更、数据库的升级、存储设备的升 级等等,但是,数据库的数据结构没有实质变化。此过程相对同构迁移,比较复杂。
比如:
1) 数据库版本异构升级
如 Oralce 8i 升级到 9i、甚至是 Oracle10g、Oracle11g,等等。
2) 操作系统升级
如 AIX 4.3 升级 5.3,甚至是 HP Unix 环境升级为 AIX 的不同环境,等等。
3) 磁盘阵列升级扩容 从老的磁盘升级到新的、其他不同厂家的高端磁盘中,等等。
异构数据迁移是在异构环境下进行数据迁移,支持操作系统升级、数据库版本异构 升级、存储设备升级扩容等,且迁移后的数据库数据结构发生改变,如:增加或删 除列、字段名称或长度改变、只迁移条件过滤后的数据等。
异种数据库迁移不仅支持操作系统异构、数据库版本异构,更可以支持两种不同的 数据库之间的数据迁移,如:从 HP-UX 的 Oracle 数据库迁移到 AIX 的 DB2 数据 库。
衡量好的迁移技术和过程,有以下 4 项重要的技术性能要求和挑战:
l 停机时间:如何缩短业务中断的时间
据业界估计,80%的停机时间都来源于计划的下线,其中包括硬件迁移等。即使是 有计划的业务中断也将会对企业造成巨大的损失,造成对外业务服务的中断,降低 客户服务质量和满意度等。
因此,如何保证在异构环境下的迁移,并且缩短迁移的时间和业务中断时间是衡量 迁移技术的最关键的环节。目前普遍要求停机不要超过 3-5 个小时内,而且尽量不 影响已经运行的业务系统。DSG 公司致力于停机在数分钟之内。
l 数据准确性:如何确保数据的准确性
l 低干扰:在迁移的前后准备期内、迁移过程中,大大减少对业务系统的影响,确保 迁移的过程可控
l 简易快速:如何简化迁移的操作步骤、支持大数据量下 TBIt/小时的快速迁移
1.2 数据库迁移方案的选择
大型数据迁移是一个非常复杂的问题,它需要利用一定的技术和经验。大型数据迁移方 法的选择是建立在对迁移需求、迁移环境的具体分析基础之上的,从目前的技术来看, 有多种方式能够实现数据迁移。
1. 同构迁移方案选择
可以通过:
l 逻辑卷数据镜像方式:对于服务器操作系统已经采用逻辑卷管理器的系统,可 以利用逻辑卷管理器的管理功能完成原有的数据到新存储的迁移。
逻辑卷数据镜像方式适用于存储系统之间的迁移,但其在迁移过程中需要长时 间停止生产端业务。由于其迁移速度比较慢且迁移时间久,仅适合于主机存储 的非经常性迁移。
l 存储虚拟化方式:在源端和目标端增加必要的存储虚拟化设备,通过网络(SAN 网络或 IP 网络),将数据从源端迁移到目标端。
存储虚拟化方式可以兼容现有的主流存储设备,支持不同厂商不同品牌存储设 备间的数据迁移,但其数据迁移需要通过代理端同步到目标端数据库中,数据 迁移实时性比较差,当数据需要恢复时,不能恢复到任意时间,且对业务系统 影响比较大,占用生产端服务器内存及网络。
l 数据库工具方式:采用数据库自身工具,如 Oracle 自带的 Data Guard 进行数 据迁移。Data Guard 通过传输日志将数据迁移到到目标端,在目标端解析成 SQL 语句执行。
Data Guard 进行数据迁移比较节约带宽,但迁移过程中必须中断业务,同时 数据迁移对主机的性能有一定影响。
l 备份/恢复方式:使用第三方数据备份/恢复工具,如:Rman、DBP,进行数 据迁移。
Rman 通过迁移数据表将数据传输到缓存区,等缓存区写满后再迁移到目标端 数据库中。 Rman 迁移方法比较复杂,需要先将数据同步到中间服务器,然 后再迁移到目标端,迁移速度比较慢,且影响生产系统。
DBP 的基本原理是:在首次全同步之后,DBP 通过对源端日志进行跟踪、分 析,从而获得发生改变的数据块信息,在发起增量备份时,无需数据库扫描即 可定位增量数据,直接抽取、复制,并采用不落地迁移方式,直接装在到目标 端。
DBP 为客户提供了:备份功能,支持备份期间的任意时间点恢复;提供了类 似 Data Guard 功能;提供应用仿真测试和增量定时覆盖同步更新功能,以便 提供持续测试环境;
DBP 的特点:迁移数据准确、迁移速度比 Rman 快、可达每小时 1T Bit 级别、 中断原系统业务的时间在数分钟内、对系统干扰低于与 5%。
2. 异构迁移方案选择
异构迁移可以通过 Oracle exp/imp 或数据复制软件实现,如:Golden Gate、 SharePlex 和 RealSync。
语句通过网络传输到迁移目标端中执行。
Golden Gate 和 SharePlex 迁移比较复杂,由于不支持首次全同步功能,在数 据迁移时需要将数据先同步到中间服务器中,再迁移到目标端中,对业务系统 人为影响比较大,且迁移速度比较慢。
l RealSync:是 DSG 推出的一款支持异构环境、高效、专业的迁移软件。
RealSync 在数据迁移过程中,生产系统的业务可以保持运行状态,无需中断 业务,RealSync 操作简单,只需要一条命令就可完成全同步,不需要过多的 人为干预,对系统影响降到最低。提供的迁移功能将源系统上的已有数据记录 从 datafile 中直接读取并解析成为 DXF 数据格式,在利用 XIMP 将 DXF 数据 批量快速装载到 Data target 系统上。
3. 异构数据迁移方案选择
异构数据迁移,在迁移过程中需要对数据库数据结构进行改变,因此其迁移过程比 较复杂,目前 DSG 的 Enhanced ETL 可以支持异构数据迁移。
Enhanced ETL 的首次迁移方式,不需要停止原系统业务,且对原系统的影响 很小。
4. 异种数据库迁移方案选择
异种数据迁移是将数据从一种数据库迁移到另外一种数据库中,迁移过程涉及到数 据转换,目前 DSG 的 Enhanced ETL 可以支持异种数据库迁移。
Enhanced ETL 可支持 Oracle 到 DB2、Teradata、神州通用等其他数据库迁 移,甚至支持 Oracle 向 Hadoop 中 HBASE 等迁移和实时增量更新等。并且, DSG 有能力将不断按照客户的需求,不断新增加可以支持的数据库类型。
2 同构迁移
同构迁移是在相同的操作系统平台、或相同的数据库平台之间做数据库的迁移。DSG 的 DBP 通过数据准实时同步实现高速的同构迁移。
2.1 迁移场景
DBP 支持的迁移场景有:
l 更换磁盘阵列
l 硬件升级、更换主机,且更换后的主机操作系统与原生产主机操作系统版本一致
l 更换磁盘阵列并更换升级相同品牌主机
l 帮助用户搭建仿真测试环境
(有时候,用户升级了应用软件,在正式用于生产环境之前,需要测试升级后的应 用软件的可用性、稳定性等等,此时,特别需要与目标生产环境一致的仿真测试系 统。DBP 具有生产环境仿真的功能,比如 DBP 可以如下设定:DBP 备份源生产库 并且恢复到应用仿真测试平台后,即可用于应用仿真测试。在每天的应用测试结束 后,DBP 可以将白天测试的数据回退、并用源端数据库的实时变化的数据更新覆 盖,为下一个工作日的应用测试提供最新时间点的数据库状态。)
2.2 DBP 数据库迁移特点
1. 支持大型数据库同平台迁移
DBP 可以支持 TB 级以上大型数据库迁移,提供同构操作系统环境下的数据迁移, 尤其适用于在更换存储系统环境下的迁移需求。DBP 支持的平台有 AIX、HP-UX、 Linux、Solaris、Windows。
2. 迁移效率高、迁移速度快
DBP 支持 1Tbit/小时的数据库首次同步速度,可以在几小时内完成大型数据库增量 同步,比传统的数据迁移方案快 5-10 倍。
同时,DSG 专有数据块增量备份技术,对数据库日志进行跟踪、分析,从而获得 发生改变的数据块信息,在发起增量备份时,无需数据库扫描即可定位增量数据, 直接抽取、复制,速度快。
3. 降低原系统干扰
DBP 的首次全同步技术,不需要对原系统业务进行限制、甚至停止原系统,从而 减少在长时间迁移过程中对原系统的影响,保证原系统干扰低于与 5%。
4. 操作简单,无需目标端数据库初始化
DBP 只需一次 restore,将自动恢复全备份版本及所有增量版本,操作简单,且迁 移的目标端仅需要安装与源端相同版本的操作系统和数据库版本,不需要对目标端 额外进行环境配置。
2.3 数据库迁移工作原理
DBP 采用的是物理复制技术,是对数据库底层的存储数据块进行复制。
l DBP 首次全同步
代理程序 Agent 将源数据库的所有数据块复制到目标端中。
l 增量数据同步
代理程序 Agent 对源数据库的归档日志进行分析得到变化数据块位置信息,并将数 据块位置信息保存到 Agent 程序的块映射文件中。当同步发起时,Agent 先读取块 映射文件,并根据该信息将变化数据块同步到目标数据库中覆盖原位置数据,生成 增量同步版本。
当源数据库数据发生归档日志切换时,Agent 抓取已经切换的归档日志,将其存储 到目标数据库中。
2.4 DBP 数据库迁移流程
DBP 数据库迁移流程如图 1 所示,具体流程介绍请参见表 1。
图 1 DBP 迁移流程
表 1 DBP 迁移流程介绍
步骤 |
说明 |
前期调研 |
根据用户需求,对用户使用的源端及目标端环境进行调查,包 括: l 用户需求分析 l 需要迁移的软硬件环境调查 l 需要迁移的数据文件个数,数据文件大小的调查 |
确定迁移方案 |
根据前期的调研工作,确定 DBP 数据库迁移方案,方案中包括: l 迁移时间和关键步骤 l 迁移过程和相关软件的配合 l 迁移过程中生产系统的配合 l 迁移回退策略 |
迁移环境部署 |
在源端和目标端安装并配置 DBP 软件。 |
迁移测试 |
对 DBP 软件迁移功能进行测试,包括:
l 按照预先制定的迁移方案进行测试,对迁移方案进行验证, 并且对不完善的地方进行补充。
l 获取真实的性能数据,包括数据全量数据迁移性能、增量 数据迁移性能、日志迁移性能、数据库应用日志性能等。 |
迁移模拟演练 |
进行正式迁移之前的真实模拟,要求在将来要迁移的老系统和 新系统上进行。通过模拟演练,对迁移方案进行最后的修改和 定稿。 |
正式迁移 |
对数据库进行真实迁移操作。 |
全量数据首次迁移 |
在原系统业务不中断的情况下,通过 DBP 的首次同步功能,将 源系统中的数据块复制到目标系统中。 |
增量数据迁移/日志 迁移 |
在数据首次迁移后,将增量数据不定期迁移到新系统上,进行 数据库恢复和打开,验证迁移数据的可恢复性和恢复性能。 日志实时迁移到目标库,作为全量和增量数据恢复到任意时间 点的保障。
在正式割接前,仅需做一次增量数据迁移或几个日志的应用, 停机时间即为增量数据迁移时间或日志应用时间。 |
数据验证 |
目标端数据库在恢复和打开的过程中,Oracle 引擎已经对所有 数据文件、日志文件、控制文件进行物理校验;同时 DSG 提供 逻辑验证工具,进行逻辑数据的校验。 |
步骤 |
说明 |
迁移切换 |
数据库迁移成功后,需要将源端业务停止,将业务应用系统连 接指向目标端。 |
回退 |
如果数据验证不一致,则数据迁移失败,需对迁移进行回退。 |
2.5 DBP 迁移注意事项
DBP 迁移过程中需要注意以下事项:
1. 源端和目标端操作系统大版本一致,即源端操作系统为 AIX5.3,则目标端必须为 AIX5.*。
2. 源端和目标端 Oracle 版本一致。
2.6 DBP 迁移成功案例
目前为止,DBP 已迁移成功的案例有十几家以上,典型案例:
用户 |
迁移描述 |
重庆联通 |
计费和 CRM 迁移: 从 HPUX +Oracle 9i 迁移到 HPUX +Oracle9i 平台上,更换磁盘阵列 数据量大小:1.8TB,2TB 中断业务时间:0.5 小时 |
海南电信 |
Bill 和 acct 系统的迁移: 从 SUN +oracle 10g 迁移到 SUN +oracle10g 平台上,磁盘阵列由 HDS 更换为华为磁盘阵列 数据量大小:4TB,3TB 中断业务时间:0.5 小时 |
新疆电信 |
IT 服务管理系统的迁移:
从 HPUX +Oracle 10g 迁移到 HPUX +Oracle 10g 平台上,更换磁盘 阵列 数据量大小:1TB 中断业务时间:0.5 小时 |
3 异构迁移
异构迁移是在异构环境下做操作系统的升级或变更、数据库的升级、存储设备的升级等 等,但数据库的数据结构没有实质变化,异构迁移的过程比较复杂。DSG 的 RealSync 支持异构迁移。
3.1 迁移场景
RealSync 支持的数据结构未改变的异构数据库迁移场景有:
l 操作系统升级或变更,即源端、目标端数据库操作系统不同,例如生产系统由 HP-UX
变更为浪潮 K1 服务器。
l 数据库升级,即源端、目标端数据库版本不同。
l 迁移停机时间窗口比较短,短时间内需要恢复系统运行的数据迁移。
l 迁移完成后,需要做回退切换保障的数据迁移。
1. 无中断的数据迁移
RealSync 对迁移的点和日志分析的点自动匹配,无需人为干预,直接实现首次全 同步和增量匹配同步的功能。不需要对原系统业务进行限制、甚至停止原系统,从 而减少在长时间迁移过程中对原系统的影响。
2. 并发导出与装载,提高迁移速度
RealSync 支持分配多个任务对多个表进行并发导出和装载,且边导出、边传输、 边装载,三个任务并行进行。因此三个时间不是相加的,而是获取装载的耗时
你也使用过这款产品吗?欢迎分享你的见解
与大家分享你的见解、观点、比较或使用心得