应用和数据迁移方案文档格式.docx
《应用和数据迁移方案文档格式.docx》由会员分享,可在线阅读,更多相关《应用和数据迁移方案文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
1)2)3)
在新主机上安装Oracle9i数据库软件
在新主机上配置Dataguard数据库(物理standby)
利用DataGuard技术,主数据库不断的将新产生的数据库归档日志传输到新主机并将这些归档日志应用到standby数据库,实现主备数据库之间的数据同步4)
系统割接期间只需将新主机上的standby数据库切换为主数据库即可5)
一旦新系统上数据库运行出现问题只需将数据库切换回原来主机上即可,不会丢失任何数据
数据库升级的解决思路
数据库升级的基本出发点
保证企业生产及业务系统运行的安全性、连续性克服原有系统缺陷吸收适用的系统新特性
迁移工作必然涉及到数据库系统的扰动,所以减少对于正常业务系统的冲击,保证它的连续性和安全性是第一个出发点,数据库系统是业务系统的基础,认真准备和设计数据库迁移是开始的第一步。
迁移到更新版本的工作也是纠正原有系统内含的错误的良好机会,这个原则同样也适合于任何软件系统和硬件设备。
数据库迁移方式
从Oracle9i到Oracle10G的迁移有三种方式:
1.使用export和import
优点:
通过导出和导入方式对数据库存储结构进行重整有助于减少数据库碎块
缺点:
对于超过150G以上的数据库,采用exp/imp方式的停机时间很长
2.使用Migrate脚本
速度快,一般在30分钟内能完成脚本升级 缺点:
一旦升级后就无法回退3.使用Migrate向导工具
一旦升级后就无法回退,容错性较差
我们综合考虑了数据库规模、停机时间、升级风险和以往的成功案例后,我们建议采用数据库升级脚本方式直接升级迁移后的数据库,
项目实施计划实施步骤
为了降低项目实施的风险,我们建议将整个系统迁移和升级项目拆分为五个阶段:
准备阶段
准备阶段需要完成搭建新系统环境,是整个系统迁移项目成功的基石,主要工作包括安装操作系统、系统参数调整、存储及LVM设计和规划、MS/SG规划和实施等
测试阶段
于数据库升级采用脚本直接在生产库上实施,因此完备细致的测试工作是整个项目成功与否的关键,在测试阶段我们需要达到以下目的:
验证迁移方案的可行性解决迁移测试过程中遇到的错误根据测试的结果调整迁移过程对整个系统迁移过程做进一步的优化数据库迁移阶段
为了尽可能的减少系统停机时间数据库的迁移工作,我们计划采用Oracle9iDataguard技术:
将数据库热备份恢复到新主机,配置主备节点的数据库归档日志同步,系统割接的时候只需做switchover操作将新节点上备用数据库角色切换为主数据库即可。
数据库迁移到新节点后将应用系统也切换到新数据库,在新系统上运行一段时间,如果发现新节点上数据库或主机出现问题,可以方便的回切到原来的数据库,不丢失任何数据。
数据库升级阶段
数据库升级于直接在生产数据库上执行升级脚本,一旦升级失败对业务影响较大,因此其实施的前提是:
1)测试阶段数据库升级测试成功2)对升级风险有预判和应急措施
3)整个数据库升级时间在用户可接受的范围内
4)在数据库升级前必须有个最新的、可用的数据库全备份数据库迁移升级后的工作
数据库迁移升级后的工作包括数据库全备份、主机和数据库性能监控等
实施计划
根据以上步骤整理的该项目实施计划表格如下:
时间准备阶段 测试阶段 实施Dataguard数据库迁移应用测试HPMC/SG双机切换测试实施数据库升级测试应用测试HPMC/SG双机切换测试数据库全备份天玑科技天玑科技天玑科技天玑科技天玑科技 系统环境调研新主机系统盘做mirror安装HPDP备份软件双机HPMC/SG规划及配置主机系统参数、卷组、文件系统及数据库配置参数检查天玑科技天玑科技天玑科技天玑科技天玑科技xxx 工作内容负责单位配合单位数据库迁移阶段在新主机上创建dataguardphysicalstandby天玑科技db配置datagurad使得主备数据库之间归档日志同步停应用生产数据库切换为physicalstandbydb天玑科技xxx天玑科技在新主机的原physicalstandbydb切换为主数天玑科技据库应用系统测试及相关应用连接数据库配置修改MC/SG切换测试DataProtector数据库备份配置系统上线Oracle9i数据库全备份及数据库软件备份天玑科技天玑科技天玑科技天玑科技天玑科技数据库升级阶段 数据库升级前的检查数据库参数调整停应用运行数据库升级脚本编译数据库无效对象重启数据库,应用系统测试DataProtector数据库备份配置HPMC/SG切换测试系统上线主机性能监控数据库性能监控Oracle10g数据库全备份天玑科技天玑科技xxx天玑科技天玑科技天玑科技天玑科技天玑科技天玑科技天玑科技天玑科技天玑科技 数据库升级后的工作系统迁移应急策略系统迁移实施前的异常
如果在规划的时间点之前没有完成实施准备阶段的任务,实施时间顺延,在确保准备工作就绪的前提下才进行实施工作。
天玑科技将在该项目开始实施前进行全面性的系统软、硬件健康检查,确保在项目实施前系统完好。
系统迁移实施过程中的异常
本次系统迁移实施的原则是确保系统在规划的实施时间段之外可以正常运行。
为确保系统在发生硬件或软件故障时能够及时得到技术响应,需要协调各相关人员到位。
在实施过程中操作步骤具有可逆性,确保以外发生的时候可将系统迅速回退到最初状态。
系统和数据在实施前都做最新的备份。
于在正式数据库迁移之前,已经做过测试迁移的工作,应该能够估算出迁移大概所需的时间。
如果于一些不可测原因导致迁移过程异常缓慢或终止,数据库升级所需时间超过原定时间,我们可以迅速将数据库系统恢复到最初状态。
系统迁移实施后的异常
于该项目实施过程中,只有在确认了Oracle数据库迁移成功并且Oracle9i成功升级到10G成功后,才打开对数据库数据的增加、删除、修改等数据库变更操作,否则所有表空间均设置为readonly状态,因此,系统迁移实施后的异常情况下,于迁移前后均不涉及到数据库数据的变更,严格来说可以简单通过恢复原环境节点承担中间件连接即可恢复为原有环境。
另一方面,前期的充分测试也是对该应急措施的保障性测试。
风险分析及对策分析
通过天玑科技多年以来专业服务项目实施的经验,我们建议xxx在该项目的实施过程中应把风险管理贯穿整个项目,天玑科技充分考虑了可能造成项目失败的所有因素和预防措施,以及发生时的管理办法,以此作为该项目的风险规避方案。
风险种类
不可控制的风险
(1)重大政策出台,影响公司发展;
(2)重大社会事件发生
(3)自然灾难导致机房,机器在升级过程中受损可控制的风险
(1)随意变更项目目标、范围、时间;
(2)随意调用项目人员,使其没有足够的参与时间;
(3)不能及时决策、及时确认项目阶段报告;
(4)不遵守项目大纲的要求。
可能的风险
(1)数据库版本升级带来的与应用不兼容,包括性能方面和功能方面
(2)数据库版本升级带来的现有硬件不兼容,比如带库
(3)数据库版本升级带来的现有软件不兼容,比如备份软件,监控软件(4)数据库版本升级带来的管理人员培训需要
以上从系统的各个方面简单描述了各种类型的风险,具体风险及防范措施将通过下面依据升级工作生命周期的阶段性分析来详细描述,将涵盖可能产生的各方面风险。
风险分析及防范措施
我们根据以往数据库Oracle9i到Oracle10G的升级的成功经验,对于xxx改造项目实施过程中可能出现的以下风险点及提出了对应的应对措施:
风险一:
直接在生产库上升级
使用脚本升级方式,也就意味着最终的正式升级只能是在产品库上直接进行,那么无论之前做过何种测试,都可能于意外风险原因导致升级失败,升级失败就可能意味着生产库的不可用。
稳妥的备份策略是升级工作的后备军。
只要有有效的数据库防范措施备份,就能够胆大心细地进行升级工作。
而目前帐务数据库在无锡新区有异地备份的容灾库,这更是一种有力的保证,让升级工作无后顾之忧。
风险二:
生产库恢复时间
如果升级失败,那么可能需要恢复生产库以应对第二天的业务,因为移动的数据量很大,即使是使用增量备份的方法也需要风险至少恢复一天的归档日志,那么如果万一升级出现问题,能否在升级窗口期内完成数据库恢复是一个风险。
稳妥的备份策略不仅仅包含备份的效率,同样也包含恢复的防范措施效率,一个只能备份而无法在规定时间内恢复的备份策略是不合格的,也是没有意义的。
因此同样,制定有效的备份策略同时进行同比数据量的恢复测试是必要的风险防范措施。
风险三:
数据库服务器之间版本不一致
在一段时间内,Oracle9i和Oracle10g将同时存在于数据库风险系统中,各个系统之间存在着不同版本数据库数据交互的现象,可能产生数据不兼容的情况。
详细考虑升级的先后顺序,哪套系统先升级,哪套系统后升防范措施级。
尽量使有数据交互的系统在同一时刻进行升级。
如果无法做到同一时刻升级,那么需要进行升级测试和升级预演,确保在测试环境中不同版本的数据库之间交互是没有问题的。
风险四:
客户端和服务端版本不一致
客户端和服务端同风险样在一段时间内存在着版本不一致的现象,服务端可能无法正常处理客户端请求,而客户端也可能无法正常接收服务端数据。
对于可能存在的客户端和服务器端版本问题,在升级之前必须有测试环境进行全面测试,将普通的功能问题在测试环境中就防范措予以解决,尽量减少产品环境中的升级风险。
施对于已知故障,可以按照天机科技对应的故障解决方法,通过Patch和设置Event来避免产生CoreDump。
风险五:
Failover
对于网卡不支持单机多网卡之间的Failover,以往的网卡风险Failover设置需要改动。
防范措施
风险六:
升级Pro*C程序版本
在新版本数据库下可能无法正常编译;
如果无法正常编译,需要原开发人员的技术支持,但风险是原开发人员可能因为人员变动而无法找到;
如果需要其它开发人员修改,需要确保源代码还存在,并且同时要考虑现任人员的修改能力。
对于这样的情况