您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > XX银行机房搬迁oracle 数据库迁移方案和操作流程
XX银行数据库迁移方案和步骤我行数据中心迁移与重构之际,从提升我行业务系统运行效率和连续性的角度出发,于B城市新数据中心先期部署4套oracle11grac集群数据库平台,优化我行A城市生产数据中心现有数据库部署结构。A城市和B城市两地数据中心的oracle数据库,采用第三方同步软件,将A城市生产数据实时同步至B城市新数据中心,此次迁移共包含11个数据库,11个数据库具体对应的业务系统详见《9月15日切换B城市数据中心4套RAC集群环境相关系统表.xlsx》。为了保证我行业务系统能够顺利迁移至B城市新数据中心,我行定于2017年8月21日至2017年9月10为业务系统准备和测试时间段,截止2017年8月20日第三方同步软件已部署完成A城市和B城市两地数据中心的复制关系,将11个数据库的数据全部同步至B城市新数据中心9个数据库中,用于业务验证测试,并停止A城市至B城市两地数据中心数据复制关系,待9月10完成业务验证测试后重新开启数据库实时同步关系,直至9月15日数据库切换时停止同步关系。9月10日至9月15日第三方数据库同步软件实施和切换方案及步骤如下:一、9月10日孤岛环境测试完成后,关闭各业务系统程序同时停止相关业务系统虚拟机,避免数据同步期间业务系统软件访问B城市新数据中心数据库。二、9月11日开启A城市至B城市新数据中心的数据复制关系,把A城市生产数据中心的数据全同步至B城市新数据中心,总数据量约3T估计需要2天时间完成全同步的过程,全同步完成后即开始增量实时同步。三、9月11日停止B城市新数据中心数据库服务器上操作系统的定时任务crontable和数据库的定时任务jobs或schedule。关闭目标端数据库级别的定时任务jobs或schedulealtersystemsetjob_queue_processes=0scope=bothsid=’*’;四、9月15日切换之前确保复制关系正常,在各业务系统软件都关闭并没有任何会话访问数据库的前提下,等待5分钟后,锁定B城市和A城市两地数据库业务系统相关的数据库用户的状态,避免数据核对期间数据发生变更。五、将第三方同步软件不支持的少部分对象及数据,通过导入/导出命令从A城市生产数据中心导入至B城市新数据中心,11个数据库合计耗时需要1个小时。六、核实B城市新数据中心sequence(序列)和directory(路径)是否跟A城市生产数据中心一致。七、按数据库用户名和对象类型统计,确保B城市与A城市两地数据库的对象一致。八、统计B城市和A城市两数据中心oracle数据库的每个表的数据记录数,确保每张表记录数一致,由于我行部分业务表的数据量非常大,预计需要5小时完成数据记录数核对工作。九、编译B城市新数据中心11套数据库的存储过程和函数,并检查数据库对象状态,确保两数据库对象状态一致。十、数据库对象和记录数核实无误后,停止B城市和A城市两端数据库的第三方同步软件,11个数据库的同步复制软件全部停止合计需要0.5小时。十一、启用数据库用户的触发器。十二、重启B城市新数据中心的所有数据库,使数据库归档生效。十三、解除B城市新数据中心业务系统相关数据库用户的锁定状态,并确保A城市数据中心的数据库用户为锁定状态。十四、启用B城市新数据中心数据库服务器上操作系统的定时任务crontable和数据库的定时任务jobs或schedule。十五、收集B城市新数据中心数据库的统计信息。十六、启动各业务系统软件,确保各业务系统访问数据库正常。十七、DBLINK和tnsnames.ora核对数据比对耗时统计表如下,由于tranrac全部统计时间过长接近8小时,因此需要对此库中的业务表数据分类对待,分类后有10张大表在数据迁移前一天完成数据总量核对,迁移完成后当天只核对除这10张大表之外的表数据纪录,经测试时间可以控制在3小时以内。数据库总耗时备注tranrac8小时去掉1亿以上的数据后统计时长可以控制在5小时以内Mgrrac1小时Hrxjrac3小时Ecssdb0.5小时Gltxdb1.5小时cmis0.5小时hxvmdbb20分钟Hxvmdba10分钟Gapsdb3210分钟Cifdb0.5小时Cif1db1小时第三方同步11个数据库切换的详细操作此次迁移A城市数据中心源端共有11个数据库,全部通过第三方同步软件实时同步至B城市新数据中心目标端9个数据库中,第三方同步软件目前有3个数据库(ecssdb,mgrrac,hrxjrac)有很少一部分数据库对象暂时不支持,必须通过数据库导入/导出命令进行迁移。9月15号迁移当天共有5人,A组操作和复核各1人、B组操作和复核各1人,C组机动组1人,以下是每个组的具体分工:A城市数据库IP库名B城市数据库IP库名责任人172.18.1.52Cifdb168.0.0.16168.0.0.17CifdbA组172.18.1.51Cif1dbCif1db172.18.1.117Hxvmdbb168.0.0.21168.0.0.22TxqddbA组172.18.1.116HxmvdbaGapsdb32172.18.110.46Cmis168.0.0.11168.0.0.12XdxtdbB组172.18.110.47EcssdbNgxtdbGlxtdbGlxtdb172.18.1.129172.18.1.130Tranrac168.0.0.26168.0.0.27TranracB组MgrracMgrracHrxjracHrxjrac机动组C组数据库:hrxjrac此数据库主要承载我行二代支付、超级网银、ESB、轻型柜台和集中作业等12套关键业务系统,9月15日详细切换流程和命令如下:(1)源端/目标端确定复制关系是状态,并锁定用户状态用以下命令确认第三方同步软件复制关系当前状态,如果以下命令没有出来任何文件说明复制关系正常。su-fzs1ls-l$FZS_DATA/msg.err(查看报错日志)ls-l$FZS_DATA/msg.index_err(查看创建失败的索引)ls-l$FZS_DATA/msg.tab(查看坏表文件)在各业务系统软件都关闭并没有任何会话访问数据库的前提下,等待5分钟,然后锁定B城市和A城市两地数据库业务系统相关的数据库用户的状态,避免数据核对期间数据发生变更。alteruserMANAGERaccountlock;alteruserVTSODSaccountlock;alteruserORAYWJKaccountlock;alteruserSOTPGUOMIaccountlock;alteruserIBPSaccountlock;alteruserBACKUPaccountlock;alteruserMONITORaccountlock;alteruserBUSINESSaccountlock;alteruserIBPSWHaccountlock;alteruserODSaccountlock;alteruserINFAaccountlock;alteruserSUNCPSaccountlock;alteruserMMSBOaccountlock;alteruserMMSECIFaccountlock;alteruserMMSPIBSaccountlock;alteruserVTSAPPaccountlock;alteruserSUNDSaccountlock;alteruserRECOGaccountlock;alteruserHCEaccountlock;alteruserVTSIMGaccountlock;alteruserPAYMENTaccountlock;alteruserQUERYPTSaccountlock;alteruserMMSEIPaccountlock;alteruserSUNFLOWaccountlock;alteruserESBDATAaccountlock;(2)同步软件暂不支持的特殊对象处理由于此库有少量特殊类型的数据库对象(如索引组织表和队列等),这类特殊的数据库对象同步软件暂不支持,需要通过导出/导入方式将数据迁移至B城市数据中心,这部分对象数量为187,但是基本上没什么数据,导出和导入非常快,各需要8分钟就可以完成。1、目前导出txt文件已经上传到源服务器相应目录下,源端(A城市数据中心)对象导出只需要执行以下命令即可:expdpparfile=par_ibps..txtexpdpparfile=par_payment.txtexpdpparfile=par_sotpguomi.txt2、数据导出后通过以下命令将数据上传至目标端(B城市新数据中心)的数据库服务器对应目录下。scp*.txtfzs1@168.0.0.26:/fzs_de/dzqdpt/fzs1/3、在B城市新数据中心数据库服务器中运行以下导入命令,将187个暂不支持的数据库对象导入B城市数据库中。impdp\'/assysdba\'directory=dumpdirdumpfile=ibps.dmptable_exists_action=replaceimpdp\'/assysdba\'directory=dumpdirdumpfile=payment.dmptable_exists_action=replaceimpdp\'/assysdba\'directory=dumpdirdumpfile=sotpguomi.dmptable_exists_action=replace(3)B城市和A城市两数据中心数据库的sequence和directory核对1、核对两数据中心的sequence(序列),保证B城市数据中心序列的当前值必须大于等于A城市数据中心序列的当前值。shswitch.shcatseqrc.log2、核对两数据中心的directory(路径),保证两数据中心的directory一致,同时检查directory对应的操作系统目录是否存在,且读写权限正常。(4)按数据库用户名和对象类型统计数据库对象第三方同步软件完成数据同步后,用以下命令核实两端的数据库对象个数是否一致。selectt.owner,t.object_type,count(1)fromdba_objectst,dba_usersawherea.account_status='OPEN'andregexp_like(t.object_name,'^[A-Z]')andt.object_namenotlike'%$%'anda.username=t.owneranda.usernamenotin('SYS','SYSMAN','DBSNMP','SYSTEM')groupbyt.owner,t.object_typeorderbyt.owner,t.object_type;(5)核对两数据中心数据库记录数数据库同步完成后通过两种方法进行数据比对:1、通过第三方同步软件提供的WEB界面完成数据记录数核对工作2、通过运行脚本调用SQL语句,然后比较两端数据库system.qianyi_count表中的数据,具体步骤见《数据量核对详细步骤》章节。(6)编译无效对象并检查两端数据库对象状态编译B城市新数据中心数据库的存储过程和函数,并检查除了有效状态以外的数据库对象,确保B城市和A城市两数据中心数据库对象状态必须一致。sqlplus/assysdbaSQL@?/rdbms/admin/utlrp.sql验证索引、约束、存储过程等状态,以及当前无效对象--验证无效对象SELECTt.owner,t.object_name,t.object_type,t.statusFROMdba_objectsTwhereT.STATUS'VALID'andT.Temporary'Y'andt.ownernotin('SYS','SYSMAN','DBSNMP','SYSTEM')andregexp_like(t.object_name,'^[A-Z]')andt.o
本文标题:XX银行机房搬迁oracle 数据库迁移方案和操作流程
链接地址:https://www.777doc.com/doc-3651061 .html