XXX数据迁移方案

XXX数据迁移方案
XXX数据迁移方案

正本

招标人:XXXX

项目名称:电信机房迁移项目

(数据库升级部分)

投标方全称:XXXX股份有限公司

2012年02月20日

前言

首先,非常感谢各位领导及专家给予XXXX参与“XXXX数据库迁移项目”的机会,我们凭借自身综合实力及多年系统集成,提交本方案,望能采用。

XXXX集团(原青鸟软件股份有限公司)起源于北京大学,是一家专业从事软件与信息技术服务的大型企业集团(以下简称“XXXX”),XXXX集团以XXXX股份有限公司为核心企业, XXXX活跃在新经济下企业转型服务领域,并在咨询服务、软件开发、系统集成以及运维服务四个核心业务领域积累了世界领先的专业技术和服务经验,与50多家国际著名管理咨询公司和软硬件厂商结成战略合作联盟,与3000多家国内集成商紧密合作,为数万家客户提供信息技术服务和应用软件解决方案及相关服务,在金融、能源、政府及企业领域建立起了卓越的声誉和品牌,是客户最佳的信息技术发展战略合作伙伴。

针对本项目,XXXX具有如下优势:

集成优势

XXXX作为一级系统集成商,对系统集成有着深刻的认识;同时设计和实施过在众多数据中心、大型业务系统的软硬件平台,有着丰富的建设经验;针对应用的高可用性和业务的连续性有着深入的研究,结合用户的具体需求,我们将提供全面、合理的解决方案。

产品优势

XXXX是IBM、HP、SUN小型机;ORACLE、SYBASE数据库;IBM、ORACLE中间件及试测软件;EMC、HDS存储;CISCO、AVAYA网络设备;APC机房设备等高级别代理商,对各类产品有深入细致的了解,能为贵校提供最优的解决方案。

完善的质量保证体系

ISO9001质量保证体系是质量管理标准和质量保证标准。XXXX为了进一步提高公司的管理水平,确立了以客户为中心的质量体系,并将其定义到整个系统集成的设计/开发、供应、安装和服务领域。

本地化服务能力

上海XXX员工逾200人,技术人员50余名,其中包括小型机、中型机、存储、数据库、智

能化、软件、项目经理人及网络工程师若干名,具备较强的技术力量和集成能力。

公司特为此项目成立豪华项目小组,由公司销售总监担当项目组长,监控整个项目的实施过程,并组建15人的技术服务团队(有厂商资格认证的工程师)配合厂商为用户提供全方位的技术服务。

优惠政策

公司根据本实验室的建设目标、主要任务和功能定位,特免费赠送对改实验室建设有帮助的一款系统软件数据统计软件,希望能够充分的帮助学校更好的建设此实验室。

科研合作

近期,国家加大了对“产学研”过程的扶持与引导力度,而XXXX也一直致力于出身高校(前北大系)服务于高校的准则,大力与高校进行校企合作。充分利用高校的人力资源与科研能力,在金融、电力、能源、高教等领域共同开发出适合市场需求的产品,并树立良好的品牌。因此,希望通过此次参与上海交通大学项目,能够有机会更进一步与贵校在内容安全领域有更多的科研合作,通过XXXX现有的用户群来做市场推广。

本着与XXXX建立全面、持久、稳定、良好的业务合作关系,我们郑重承诺:

以丰富的项目实施能力、雄厚的资金实力,以方便、快捷的本地化服务特点为保障,确保XXXX数据库升级项目的顺利实施。

目录

第一章技术方案 (3)

1项目方案 (3)

1.1生产中心硬件平台 (3)

1.1.1系统拓扑结构 (3)

1.1.2服务器硬件平台选择 (4)

1.1.3存储部分 (5)

1.1.4存储交换机 (6)

1.2数据迁移方案 (7)

1.2.1RMAN Backup/Restore迁移 (7)

1.2.2Oracle DataGuard迁移 (8)

1.2.3借助第三方工具(Quest SharePlex)迁移 (9)

1.2.4迁移方案对比 (12)

1.2.5迁移数据校验 (13)

2服务协议 (15)

2.1服务内容 (15)

2.2项目实施工作小组 (15)

2.3项目进度计划 (16)

2.4项目分工界面 (17)

2.5项目验收方案 (20)

2.6售后服务承诺 (22)

第一章技术方案

1项目方案

1.1生产中心硬件平台

1.1.1系统拓扑结构

XXXX现有数据中心和新建设的数据中心服务器配置的简单拓扑图如下图所示:

现有生产中心数据库服务器硬件平台由两台Sun v890服务器构成,在Solaris 10操作系统上运行Oracle RAC数据库(10gR2),数据文件存放在共享的HP EVA8400磁盘阵列上。本次方案的主要目的是建设新的硬件平台,将数据库从现有平台平滑迁移至新的硬件平台。

本次方案根据招标文件中相关要求,参考当前系统运行状况,选择合适的硬件平台,支持核心数据库系统的稳定、高效运行。根据本节硬件平台的选择结果,在第2节中我们将会给出相应的数据迁移的几种方案。

1.1.2服务器硬件平台选择

当前数据库服务器采用了Sun v890服务器,我们的目标是根据现有的硬件配置推算出我们需要的新硬件平台服务器的处理器的配置需求。衡量OLTP类应用系统的处理器处理能力的指标有CPU2006,SPECjbb2005,TPC-C等指标。由于不同厂商的不同时期发布的产品在性能比较上不存在单一的标准,加上部分产品未参与某些指标的公开测试,所以在下面的讨论中我们选择同时发布了SPECjbb2005和CPU2006指标的v890(UltraSPARC IV+ 2.1GHz处理器)服务器作为基准,作为其他服务器处理器比较的依据。

从https://www.360docs.net/doc/ae12829199.html,和https://www.360docs.net/doc/ae12829199.html,可以分别获得主流服务器平台的TPC-C和CPU2006指标数据。各个型号服务器的SPECjbb2005和CPU2006的数据和相应配置如下表所示:

因为UltraSPARC IV+ 1500MHz的v890采用的是SPECjbb2005指标,我们只能从相关的参考指标来推算出当前Oracle在主流服务器中配置的SPARC64芯片性能比较参数。从上表中可以看出,单颗2.6GHz的SPARC64芯片性能大约是2.1GHz UltraSPARC IV+芯片的2.3倍,单颗2.1GHz UltraSPARC IV+处理器是同型号1.5GHz主频处理器的2倍。因此2.6GHz主频的SPARC64处理器性能是UltraSPARC 1.5GHz处理器性能的5倍左右。

根据标书要求,服务器满配置需要至少32核心处理器和64GB内存。根据这一要求,我们从主流的服务器厂商中选择了Oracle的M5000服务器作为推荐型号,满足本次方案建设要求。其性能参数如上表所示,可以看出,配置新型号的处理器,考虑到存储设备升级,I/O系统的优化,数据库参数和配置的调整及优化,有充分证据可以表明可以提升当前数据库系统的性能,使得系统的响应时间缩短5~10倍,系统的吞吐量提高5~10倍左右。从而系统总体性能上有了10倍左右的提升。

1.1.3存储部分

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,具有很高的并发性(大量的交互式用户),并且是更新密集型的,SQL语句主要以插入、更新和删除为主,要求具有较快的响应时间,以银行系统,订票系统为代表。

由于OLTP应用的业务特点,从性能角度出发,对磁盘子系统有一定的要求。

OLTP系统最容易出现瓶颈的地方除了CPU就是磁盘子系统。磁盘子系统在OLTP环境中,它的承载能力一般取决于它每秒处理I/O的数量。因为在OLTP环境中,磁盘物理读一般都是db file sequential read,也就是单块读,但是这个读的次数非常频繁。如果频繁到磁盘子系统都不能承载其IOPS的时候,就会出现大的性能问题。另外磁盘子系统的控制器的Cache大小对I/O系统的性能也至关重要,Cache决定了很多事务不需要从物理磁盘存取数据,从而大大缩短了事务处理的时间。

根据标书要求,存储设备的选择需要同时支持FC和iSCSI协议,IOPS至少达到18000,控制器缓存至少16GB,可用磁盘容量达到10TB,配置容量需要达到20TB左右。针对Oracle数据库,可以按照如下的方式进行RAID的设置:

本次方案我们根据标书要求选择HP EVA 8400存储设备作为推荐产品,满足本次建设要求。HP

EVA 8400控制器最大支持22GB Cache。支持FC、FATA和SSD磁盘。

为了满足随机IOPS 18000的要求,我们按照单块15000rpm的SAS磁盘可以提供300~400个IOPS计算,即我们至少需要配置50块左右的磁盘。按照容量计算,我们配置48块转速15000rpm、容量为450GB的FC磁盘,以满足性能要求。

1.1.4存储交换机

主机和存储设备通过FC SAN进行互联,根据标书要求采用两台Brocade 300E SAN交换机实现主机和存储设备的互联,保证连接性能的同时消除链路层的单点故障。每台交换机激活16端口,满足当前主机和存储链接需求。

1.2数据迁移方案

本次系统迁移的目标是在4小时停机维护时间内完成数据在两个数据中心RAC环境内的迁移,两地数据中心之间通过1000Mbps的以太网链路互联。

我们在本方案中建议以下三种方式实现Oracle数据库的数据迁移:

●RMAN Backup/Restore

?通过全备份、增量备份实现数据迁移

?实现方式简单,迁移成本较低

?需要较长的停机维护时间

●Oracle DataGuard迁移

?通过建立Active-Standby的模式运行实现数据自动复制,通过switchover的方式

实现主备中心的切换,实现数据迁移

?需要主-备中心使用相同服务器硬件平台

●借助第三方工具(Quest SharePlex)迁移

?通过建立Active-Standby的模式运行实现数据自动复制,通过switchover的方式

实现主备中心的切换,实现数据迁移

?支持异构平台

?需要第三方工具支持,成本较高

1.2.1R MAN Backup/Restore迁移

正式迁移前使用RMAN全备份源数据库,通过1000Mbps网络将备份数据传输至目标数据中心,通过RMAN restore将数据库在目标端恢复。

每天增量备份数据库,将增量备份数据通过1000Mbps网络传输至目标数据中心,通过RMAN Restore将每天的增量数据恢复。

正式迁移开始时,中断源数据库的客户端访问连接,通过RMAN增量备份数据库,将增量备份

数据通过1000Mbps网络传输至目标数据中心,将源数据库最后的增量部分在目标数据库恢复。

该方法恢复数据库实现方式简单,不需要对源数据库进行设置变更,不影响源数据库的正常运行;但该方式迁移数据库需要较长的迁移周期,同时需要安排一定的停机时间,以保证数据的完整迁移。

1.2.2O racle DataGuard迁移

DataGuard方案是在新主机存储设备划分好、操作系统和数据库软件安装完毕之后,通过在新的磁盘阵列上创建与原有的数据库一样的卷组(VolumeGroup,简称VG),接着再在各个VG内创建与原有数据库完全一致的逻辑卷(LogicalVolulne,简称LV),归档日志所在目录以及oracle 的bdump、cdump和udump必须和原有的数据库相应目录设置成一致。

然后在原有数据库上做全库的RMAN备份,再在新的磁盘阵列上利用RMAN备份生成的文件做新的数据库的恢复,并且将新的数据库一直处于 managed recovery状态,在此状态下,原有数据库上生成的归档日志,可以在新的数据库上应用,以保证新的数据库与原有的数据库不断同步。在需要进行测试的时候,可以先将新的数据库做一次RMAN备份,然后将新的数据库至于open状态,新数据库就可以进行交易验证测试了。验证测试完成之后,将新的数据库再次恢复,此时恢复采用的文件为新数据库叩即前所做的RMAN备份的文件,然后再和迁移前的数据库通过应用归档日志保持不断同步。

当执行数据库正式切换时,将迁移前的数据库所在的应用全部正常关闭,保证不再有新的数据库记录产生,然后插入相应的验证数据,再连续切若干个归档日志,保证在线联机日志中不再保留任何数据,将生成的所有归档日志全部在新的磁盘阵列所在的数据库上进行应用,然后将新的数据库至于打开状态,这样新的数据库就能正常对外提供服务了。DataGuard的迁移流程如下图所示。

DataGuard方案所使用的软件、工具和命令均为安装了Oracle 10g企业版所自带,不再需要另行购买。流程的实施具有一定难度,尤其还要保证不影响现有的系统的正常运行。DataGuard 整个实施流程中涉及到的所有命令的学习和掌握都需要一定的时间,生产数据库和新数据库之间的归档日志如何自动传输以及归档日志如何自动在新数据库上进行应用,都需要认真考虑解决方案。

DataGuard方案不能对现有的数据库做表空间大小的优化调整,它只能保持新数据库所有的数据文件和现有的数据库数据文件完全一致。但由于采用该方案,之前的数据库信息可以提前同步,在正式切换时,需要同步的数据比较少,因而导致停业的时间比较短。在DataGuard的三种模式中选择最大性能模式,可以尽可能地减少对现有生产数据库的性能影响。

1.2.3借助第三方工具(Quest SharePlex)迁移

此方式和2.2节Oracle DataGuard的方法和原理是一样的。下图所示为SharePlex for Oracle的基本结构:

数据捕获

SharePlex for Oracle由捕获进程来收集发生变化的数据,捕获进程驻留在源系统上,自动读取Oracle的在线日志文件。这种读操作是从操作系统的角度来完成的,而不是通过数据库。通过将日志文件作为获取变化信息的源泉,Quest可以完成数据的复制而不会给生产系统带来额外的开销。由于Oracle将所有的事物变化记录到日志中并使用日志文件进行系统恢复,因此Shareplex for Oracle可以通过解析日志文件保障数据的一致性。

捕获进程连续监控日志文件用以捕捉变化信息。当日志文件中出现一条新记录时,SharePlex 判断其是否属于被复制对象,如果是,则SharePlex为该条记录加入用于决定此记录将被发向那个主机的地址信息并将包含地址信息的记录存放到自己的队列中,存储队列存在于数据库之外。发生改变的数据被立即处理并被发送到目标系统中而不等待提交或回滚动作的完成,因为等待提交或回滚完成将带来延迟。当提交或回滚信息被写入日志文件时,它们也将被发送到目标系统中,从而在目标系统中完成相对应的操作。

捕获进程具有如下特点:

捕获进程从Oracle 日志文件中读取信息,因此复制过程不会给生产数据库实例带来性

能问题;

●只有发生改变的数据被传输,而不是日志文件中的全部信息,因此SharePlex的网络负

载非常小;

●尽管需要在Oracle数据库中安装少量的对象用来存储有关复制的一些基本信息,但源

数据库不需要参与到数据捕获和传输过程中;

SharePlex的捕获进程不但可以读取在线的日志文件,而且可以读取归档日志,甚至当归档日志文件被移动到其它设备上时,SharePlex会发出提示信息。正是这种能力极大地增强了系统的冗余功能。例如,如果捕获进程由于某种原因被停止,当它重新启动后数据同步不会受到影响;数据传输

SharePlex for Oracle在基于TCP/IP协议的网络环境完成源和目标系统之间的数据传输。其相关的进程确保数据的正确接收和网络数据包的正确顺序,从而提供网络传输冗余,确保数据的完整。整个数据传输过程无需其它的中间件。

应用数据

应用进程将传送到目标系统中的信息转化为SQL语句,然后发送给Oracle执行。

SharePlex能够实现精确复制的一个重要原因就是其能保证从源数据库到目标数据库的Oracle读一致性,不但按顺序复制事务,而且也复制上下文信息,将源数据库中发生变化的全部事务信息都复制到目标数据库中。

尽管企业从规划设计良好的业务系统中收益,但也不得不面临数据库升级和平台迁移这一挑战。如从Oracle 9i升级到11G,从HP平台前移动AIX平台等等呢个。

SharePlex可确保在进行以上工作时正常的事务处理得以继续进行。源系统的功能不受到任何影响,SharePlex只捕捉迁移过程中发生变化的事务并将它们排队保存。当迁移工作结束后,这些被保存的事务将被应用到新系统中并进行数据同步工作。一旦数据同步后,用户活动会有非常短暂的停顿,在此瞬间将完成系统的切换动作。

方案收益

●异构平台的迁移及数据库升级

基于SharePlex对复制平台异构的支持,SharePlex的系统迁移方案,完全可以实现跨平台的数据库迁移或数据库版本的升级。例如:用户可以平滑的实现HP 平台下 Oracle 9i 到 AIX平台下 Oracle 11G的数据库升级,没有任何限制。

●极大地降低了停机时间

以往的数据库迁移或升级,大部分情况下只能使用EXP/IMP的方式完成,必然造成较多的停机时间,这对现今越来越要求高可用性的7*24小时系统来说,几乎是不可接受的。SharePlex通过使用中间机,及数据变化的即时复制等技术,使停机时间从几小时甚至几天,缩短到几分钟,最大程度的满足了用户的需求。

●建立了风险回退机制

通常的数据库升级或迁移都存在着一定的风险,如数据库与应用程序兼容问题等,如果升级后出现未预料到的问题,或升级失败,则需要能够迅速切换到原有的系统,以保证系统的正常运行。通过SharePlex设计方案,整个迁移过程都是可控的,原有生产环境保留,升级过程中失败直接启用原有生产系统即可。SharePlex完成系统的升级或迁移后,可以建立一条由新系统到旧系统的复制链路,将新系统上的数据变化复制回旧系统。此时,如果新系统出现意外情况,应用不仅可以迅速的切换到原有的系统,也避免了切换过程中的数据损失,保证了系统的平稳过渡。

1.2.4迁移方案对比

通过上述三种数据迁移方案的比较和本次系统迁移的要求,我们建议采用Oracle DataGuard 的方式来实现Oracle数据库的数据迁移。

1.2.5迁移数据校验

1.2.5.1业务验证方案

业务验证方式是数据迁移验证的核心,由于迁移流程中从小到大、从易到难会经历内部测试、预演和正式切换三个实施阶段,而这三个阶段分别需要业务的验证。由于系统业务交易的数量太多,而业务验证时间和参与验证机构的数量各有不同,业务验证不可能面面俱到,不可能涵盖每一笔交易,因此需要根据每个阶段的测试目的,根据业务系统的交易类别和交易重要性,在不同的测试阶段,选择不同的测试机构和机构数量,制定每个阶段可行的业务验证案例。

在内部测试阶段,业务验证主要是测试数据迁移后应用能否正常交易,因此该阶段的测试侧重的是业务交易的可用性和核心交易的正确性,由于中间业务测试环境已经搭建,所以在内部测试阶段增加中间业务类的测试。

预演阶段是正式切换的预先演习。由于内部测试已经测试了较为完整的交易流程,预演的目的主要是验证实际生产前台环境的可用性,另外预演测试还能起到对新主机数据库一个压力测试作用。

在正式切换阶段,所有的验证交易均为真实的操作,之前两个阶段的交易只在测试环境有效,在生产环境中是不存在的,而正是切换后,迁移后的数据库就转为了新的生产数据库,此时的交易验证要尽可能的详细,必须包含所有核心交易,尤其是与外围系统有业务交易往来的交易,能测的都需要尽可能得测到。

1.2.5.2外围系统验证

如果存在以订票系统为核心的外围系统,并且这些外围系统有些是需要通过业务交易与核心系统的应用和数据库打交道,有些是不需要通过业务交易直接在数据库层面或者其他层面与核心系统进行交互,基于此,可以对所有外围系统进行分析,将不需要通过业务交易验证就可以验证新

旧数据库数据迁移是否正常的系统进行筛选,列出各外围系统与核心系统的关联性,并提供可行的外围系统验证方法,从而提高数据迁移验证的准确性,减少业务交易验证的工作量。

1.2.5.3技术验证方案

Oracle数据库迁移的技术特性是在通过RMAN恢复数据库后,不断应用迁移,前数据库生成的归档日志而这些归档日志记录的就是使得原有数据库的数据内容进行改变的每一条语句。再由于归档白志记录的每条语句的顺序,就是每条语句被执行的顺序,换句话说,就是执行每条语句的时间顺序。根据以上分析,技术验证的方法可以考虑通过在特定的时间在原有的数据库中插入特定的内容,当数据迁移完成后,在新的数据库中查找插入的特定内容是否存在,如果不存在,迁移肯定有问题,如果存在,则在一定程度上可以证明数据的一致性。

基于以上的分析,再加上现有生产数据库的备份方式,,备份前,必须将应用和数据库正常关闭,因此在技术验证的时间点,考虑在生产数据库上建立一张验证表,表明为verify--tab,该表字段为日期和时间字段,每天备份数据库之前,在verify--tab中插入一条记录,该记录的内容为插入该条记录的日期和时间,具体精确到年、月、日、小时、分钟、秒。由于该验证记录是在数据库关闭前产生的最后一条记录,如果新的数据库上同步结束后正常打开后,能在新的数据库的验证表verify--tab中查找到同样的当日插入验证记录,并且新数据库的告警日志altertSID.log 文件中没有任何出错信息,则可以肯定迁移前后新旧数据库的内容是保持完全一致的。

为了进一步验证迁移前后数据的一致性,还可以考虑将数据库中与应用相关的、重要的数据库表的记录数和某些字段的求和进行统计。我们可以通过执行相应的SQL命令获得整个数据库中一共有多少记录。当然,这个数据的获得应该在应用正常关闭后数据库正常关闭前获得,然后将这两个数据记录下来。在数据迁移完成后,在新的数据库中同样执行相同的命令,也能得到两个数据,将前后两次所得到的活期账户数和活期账户余额求和两个数进行对比,如果两个数都分别完全一致,则从另一个角度也能说明迁移前后新旧数据库数据的一致性。

完整性和可用性验证相对比较简单,只要迁移后的新数据库能正常打开,并且架构在数据库之上的应用能正常启动,不会报由于数据库的问题导致应用不可用,并且新数据库的告警日志altertSID.log文件中没有任何出错信息,那就可以肯定迁移后的新数据库是完整的、可用的。

数据迁移的验证是一个非常重要的内容,通过验证可以确定新旧数据库内容是否一致,可以确定新的数据库的完整性和有效性。

相关主题
相关文档
最新文档