XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx

上传人:b****6 文档编号:8745954 上传时间:2023-02-01 格式:DOCX 页数:65 大小:38.88KB
下载 相关 举报
XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx_第1页
第1页 / 共65页
XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx_第2页
第2页 / 共65页
XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx_第3页
第3页 / 共65页
XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx_第4页
第4页 / 共65页
XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx

《XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx》由会员分享,可在线阅读,更多相关《XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx(65页珍藏版)》请在冰豆网上搜索。

XX银行机房搬迁oracle 数据库迁移方案和操作流程.docx

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或schedule

altersystemsetjob_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小时以内。

数据库

总耗时

备注

tranrac

8小时

去掉1亿以上的数据后统计时长可以控制在5小时以内

Mgrrac

1小时

Hrxjrac

3小时

Ecssdb

0.5小时

Gltxdb

1.5小时

cmis

0.5小时

hxvmdbb

20分钟

Hxvmdba

10分钟

Gapsdb32

10分钟

Cifdb

0.5小时

Cif1db

1小时

 

第三方同步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.52

Cifdb

168.0.0.16

168.0.0.17

Cifdb

A组

172.18.1.51

Cif1db

Cif1db

172.18.1.117

Hxvmdbb

168.0.0.21

168.0.0.22

Txqddb

A组

172.18.1.116

Hxmvdba

Gapsdb32

172.18.110.46

Cmis

168.0.0.11

168.0.0.12

Xdxtdb

B组

172.18.110.47

Ecssdb

Ngxtdb

Glxtdb

Glxtdb

172.18.1.129

172.18.1.130

Tranrac

168.0.0.26

168.0.0.27

Tranrac

B组

Mgrrac

Mgrrac

Hrxjrac

Hrxjrac

机动组

C组

数据库:

hrxjrac

此数据库主要承载我行二代支付、超级网银、ESB、轻型柜台和集中作业等12套关键业务系统,9月15日详细切换流程和命令如下:

(1)源端/目标端确定复制关系是状态,并锁定用户状态

用以下命令确认第三方同步软件复制关系当前状态,如果以下命令没有出来任何文件说明复制关系正常。

su-fzs1

ls-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..txt

expdpparfile=par_payment.txt

expdpparfile=par_sotpguomi.txt

2、数据导出后通过以下命令将数据上传至目标端(B城市新数据中心)的数据库服务器对应目录下。

scp*.txtfzs1@168.0.0.26:

/fzs_de/dzqdpt/fzs1/

3、在B城市新数据中心数据库服务器中运行以下导入命令,将187个暂不支持的数据库对象导入B城市数据库中。

impdp\'/assysdba\'directory=dumpdirdumpfile=ibps.dmptable_exists_action=replace

impdp\'/assysdba\'directory=dumpdirdumpfile=payment.dmptable_exists_action=replace

impdp\'/assysdba\'directory=dumpdirdumpfile=sotpguomi.dmptable_exists_action=replace

(3)B城市和A城市两数据中心数据库的sequence和directory核对

1、核对两数据中心的sequence(序列),保证B城市数据中心序列的当前值必须大于等于A城市数据中心序列的当前值。

shswitch.sh

catseqrc.log

2、核对两数据中心的directory(路径),保证两数据中心的directory一致,同时检查directory对应的操作系统目录是否存在,且读写权限正常。

(4)按数据库用户名和对象类型统计数据库对象

第三方同步软件完成数据同步后,用以下命令核实两端的数据库对象个数是否一致。

selectt.owner,t.object_type,count

(1)

fromdba_objectst,dba_usersa

wherea.account_status='OPEN'

andregexp_like(t.object_name,'^[A-Z]')

andt.object_namenotlike'%$%'

anda.username=t.owner

anda.usernamenotin('SYS','SYSMAN','DBSNMP','SYSTEM')

groupbyt.owner,t.object_type

orderbyt.owner,t.object_type;

(5)核对两数据中心数据库记录数

数据库同步完成后通过两种方法进行数据比对:

1、通过第三方同步软件提供的WEB界面完成数据记录数核对工作

2、通过运行脚本调用SQL语句,然后比较两端数据库system.qianyi_count表中的数据,具体步骤见《数据量核对详细步骤》章节。

(6)编译无效对象并检查两端数据库对象状态

编译B城市新数据中心数据库的存储过程和函数,并检查除了有效状态以外的数据库对象,确保B城市和A城市两数据中心数据库对象状态必须一致。

sqlplus/assysdba

SQL>@?

/rdbms/admin/utlrp.sql

验证索引、约束、存储过程等状态,以及当前无效对象

--验证无效对象

SELECTt.owner,t.object_name,t.object_type,t.status

FROMdba_objectsT

whereT.STATUS<>'VALID'

andT.Temporary<>'Y'

andt.ownernotin('SYS','SYSMAN','DBSNMP','SYSTEM')

andregexp_like(t.object_name,'^[A-Z]')

andt.object_namenotlike'%$%';

--验证无效约束

selectowner,table_name,constraint_name,status

fromdba_constraintst

wheret.status<>'ENABLED'

andt.ownernotin('SYS','SYSMAN','DBSNMP','SYSTEM','OLAPSYS');

--重建无效索引

select'ALTERINDEX'||owner||'.'||index_name||'REBUILD;'fromdba_indexeswherestatus='INVALID';

(7)停止B城市和A城市两端数据库的第三方同步软件

源端数据库停止同步软件

su-fzs1

cd$FZS_DATA

fzsstop

目标端数据库停止同步软件

su-fzs1

cd$FZS_DATA

vshmt-c

fzsstop

(8)启用触发器

sh../tools/trigger.shfzs2/fzs2

sqlplus/assysdba

SQL>@entri.sql

cattrigger.log

(9)开启目标端数据库归档

目前数据库已开启归档,使用以下命令进行核实即可

sqlplus/assysdba

SQL>archiveloglist;

(10)解除目标端数据库用户锁状态

解除B城市端新数据中心数据库用户锁状态,并确保A城市数据中心数据库用户为锁定状态。

alteruserMANAGERaccountunlock;

alteruserVTSODSaccountunlock;

alteruserORAYWJKaccountunlock;

alteruserSOTPGUOMIaccountunlock;

alteruserIBPSaccountunlock;

alteruserBACKUPaccountunlock;

alteruserMONITORaccountunlock;

alteruserBUSINESSaccountunlock;

alteruserIBPSWHaccountunlock;

alteruserODSaccountunlock;

alteruserINFAaccountunlock;

alteruserSUNCPSaccountunlock;

alteruserMMSBOaccountunlock;

alteruserMMSECIFaccountunlock;

alteruserMMSPIBSaccountunlock;

alteruserVTSAPPaccountunlock;

alteruserSUNDSaccountunlock;

alteruserRECOGaccountunlock;

alteruserHCEaccountunlock;

alteruserVTSIMGaccountunlock;

alteruserPAYMENTaccountunlock;

alteruserQUERYPTSaccountunlock;

alteruserMMSEIPaccountunlock;

alteruserSUNFLOWaccountunlock;

alteruserESBDATAaccountunlock;

(11)启用定时任务

启用B城市新数据中心数据库服务器上操作系统的定时任务crontable和数据库的定时任务jobs或schedule。

job_queue_processes参数值修改为1000,即启用目标端数据库的job/schedule定时任务,然后用以下SQL语句进行查询,确保B城市和A城市两端数据库的定时任务数量和状态一致。

altersystemsetjob_queue_processes=1000scope=bothsid='*'’;

selectclient_name,statusfromdba_autotask_clienta;

selectjob,log_user,schema_user,last_date,intervalfromdba_jobsawherea.LOG_USERnotin('SYS');

selectsid,job,last_datefromdba_jobs_runninga;

select*fromdba_scheduler_schedulesawherea.ownernotin('SYS');

数据库:

tranrac

此数据库主要承载我行电子渠道、银银平台和组合服务平台等关键业务系统,9月15日详细切换流程和命令如下:

(1)源端/目标端确定复制关系是状态,并锁定用户状态

用以下命令确认第三方同步软件复制关系当前状态,如果以下命令没有出来任何文件说明复制关系正常。

su-fzs2

ls-l$FZS_DATA/msg.err(查看报错日志)

ls-l$FZS_DATA/msg.index_err(查看创建失败的索引)

ls-l$FZS_DATA/msg.tab(查看坏表文件)

在各业务系统软件都关闭并没有任何会话访问数据库的前提下,等待5分钟,然后锁定B城市和A城市两地数据库业务系统相关的数据库用户的状态,避免数据核对期间数据发生变更。

alteruserORAYWJKaccountlock;

alteruserHXDXPTaccountlock;

alteruserPWBSaccountlock;

alteruserRADATAaccountlock;

alteruserEPAYaccountlock;

alteruserBACKUPaccountlock;

alteruserHXDXPTWHaccountlock;

alteruserMONITORaccountlock;

alteruserPIBSaccountlock;

alteruserEIBSaccountlock;

alteruserODSUSERaccountlock;

alteruserECIFaccountlock;

alteruserGAPS4101accountlock;

alteruserLINK_01accountlock;

alteruserGAPS41accountlock;

alteruserODSaccountlock;

alteruserPAPERLESSaccountlock;

alteruserEMBSaccountlock;

alteruserLINK_DZQDaccountlock;

alteruserNETPASSaccountlock;

alteruserRPTaccountlock;

alteruserMONITOR_DBaccountlock;

alteruserBOaccountlock;

alteruserEIPaccountlock;

alteruserWXUSERaccountlock;

alteruserPMOBILEaccountlock;

(2)B城市和A城市两数据中心数据库的sequence和directory核对

1、核对两数据中心的sequence(序列),保证B城市数据中心序列的当前值必须大于等于A城市数据中心序列的当前值。

shswitch.sh

catseqrc.log

2、核对两数据中心的directory(路径),保证两数据中心的directory一致,同时检查directory对应的操作系统目录是否存在,且读写权限正常。

(3)按数据库用户名和对象类型统计数据库对象

第三方同步软件完成数据同步后,用以下命令核实两端的数据库对象个数是否一致。

selectt.owner,t.object_type,count

(1)

fromdba_objectst,dba_usersa

wherea.account_status='OPEN'

andregexp_like(t.object_name,'^[A-Z]')

andt.object_namenotlike'%$%'

anda.username=t.owner

anda.usernamenotin('SYS','SYSMAN','DBSNMP','SYSTEM')

groupbyt.owner,t.object_type

orderbyt.owner,t.object_type;

(4)核对两数据中心数据库纪录数

数据库同步完成后通过两种方法进行数据比对:

1、通过第三方同步软件提供的WEB界面完成数据纪录数核对工作

2、通过运行脚本调用SQL语句,然后比较两端数据库system.qianyi_count表中的数据,具体步骤见《数据量核对详细步骤》章节。

(5)编译无效对象并检查两端数据库对象状态

编译B城市新数据中心数据库的存储过程和函数,并检查除了有效状态以外的数据库对象,确保B城市和A城市两数据中心数据库对象状态必须一致。

sqlplus/assysdba

SQL>@?

/rdbms/admin/utlrp.sql

验证索引、约束、存储过程等状态,以及当前无效对象

--验证无效对象

SELECTt.owner,t.object_name,t.object_type,t.status

FROMdba_objectsT

whereT.STATUS<>'VALID'

andT.Te

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1