XX银行机房搬迁oracle 数据库迁移方案和操作流程Word文档格式.docx
《XX银行机房搬迁oracle 数据库迁移方案和操作流程Word文档格式.docx》由会员分享,可在线阅读,更多相关《XX银行机房搬迁oracle 数据库迁移方案和操作流程Word文档格式.docx(65页珍藏版)》请在冰豆网上搜索。
备注
tranrac
8小时
去掉1亿以上的数据后统计时长可以控制在5小时以内
Mgrrac
1小时
Hrxjrac
3小时
Ecssdb
0.5小时
Gltxdb
1.5小时
cmis
hxvmdbb
20分钟
Hxvmdba
10分钟
Gapsdb32
Cifdb
Cif1db
第三方同步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
168.0.0.16
168.0.0.17
A组
172.18.1.51
172.18.1.117
Hxvmdbb
168.0.0.21
168.0.0.22
Txqddb
172.18.1.116
Hxmvdba
172.18.110.46
Cmis
168.0.0.11
168.0.0.12
Xdxtdb
B组
172.18.110.47
Ngxtdb
Glxtdb
172.18.1.129
172.18.1.130
Tranrac
168.0.0.26
168.0.0.27
机动组
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
directory=dumpdirdumpfile=payment.dmptable_exists_action=replace
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('
andregexp_like(t.object_name,'
andt.object_namenotlike'
;
--验证无效约束
selectowner,table_name,constraint_name,status
fromdba_constraintst
wheret.status<
ENABLED'
OLAPSYS'
);
--重建无效索引
select'
ALTERINDEX'
||owner||'
.'
||index_name||'
REBUILD;
'
fromdba_indexeswherestatus='
INVALID'
(7)停止B城市和A城市两端数据库的第三方同步软件
源端数据库停止同步软件
cd$FZS_DATA
fzsstop
目标端数据库停止同步软件
su-fzs1
vshmt-c
(8)启用触发器
sh../tools/trigger.shfzs2/fzs2
sqlplus/assysdba
SQL>
@entri.sql
cattrigger.log
(9)开启目标端数据库归档
目前数据库已开启归档,使用以下命令进行核实即可
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('
selectsid,job,last_datefromdba_jobs_runninga;
select*fromdba_scheduler_schedulesawherea.ownernotin('
此数据库主要承载我行电子渠道、银银平台和组合服务平台等关键业务系统,9月15日详细切换流程和命令如下:
su-fzs2
alteruserHXDXPTaccountlock;
alteruserPWBSaccountlock;
alteruserRADATAaccountlock;
alteruserEPAYaccountlock;
alteruserHXDXPTWHaccountlock;
alteruserPIBSaccountlock;
alteruserEIBSaccountlock;
alteruserODSUSERaccountlock;
alteruserECIFaccountlock;
alteruserGAPS4101accountlock;
alteruserLINK_01accountlock;
alteruserGAPS41accountlock;
alteruserPAPERLESSaccountlock;
alteruserEMBSaccountlock;
alteruserLINK_DZQDaccountlock;
alteruserNETPASSaccountlock;
alteruserRPTaccountlock;
alteruserMONITOR_DBaccountlock;
alteruserBOaccountlock;
alteruserEIPaccountlock;
alteruserWXUSERaccountlock;
alteruserPMOBILEaccountlock;
(2)B城市和A城市两数据中心数据库的sequence和directory核对
(3)按数据库用户名和对象类型统计数据库对象
andt.object_namenotlike'
anda.usernamenotin('
groupbyt.owner,t.object_type
orderbyt.owner,t.object_type;
(4)核对两数据中心数据库纪录数
1、通过第三方同步软件提供的WEB界面完成数据纪录数核对工作
(5)编译无效对象并检查两端数据库对象状态
andT.Te