版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XX银行数据库迁移方案和步骤
我行数据中心迁移与重构之际,从提升我行业务系统运行效率和
连续性的角度动身,于B城市新数据中心先期部署4套oracle11grac
集群数据库平台,优化我行A城市生产数据中心现有数据库部署结构。
A城市和B城市两地数据中心的oracle数据库,采纳第三方同步软
件,将A城市生产数据实时同步至B城市新数据中心,此次迁移共包
含11个数据库,11个数据库具体对应的业务系统详见《9月15日切
换B城市数据中心4套RAC集群环境相关系统表.xlsxk
为了保证我行业务系统能够顺当迁移至B城市新数据中心,我行
定于2023年8月21日至2023年9月10为业务系统打算和测试时间
段,截止2023年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=both
sid=,*';
四、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小时
Cifldb1小时
第三方同步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.52Cifdb.16Cifdb
A组
172.18.1.51Cifldb.17Cifldb
172.18.1.117Hxvmdbb
.21
HxmvdbaTxqddbA组
172.18.1.116.22
Gapsdb32
172.18.110.46CmisXdxtdb
.11
EcssdbNgxtdbB组
172.18.110.47.12
GlxtdbGlxtdb
TranracTranrac
172.18.1.129.26
MgrracMgrracB组
172.18.1.130.27
HrxjracHrxjrac
机动组C组
数据库:hrxjrac
此数据库主要承载我行二代支付、超级网银、ESB、轻型柜台和
集中作业等12套关键业务系统,9月15日具体切换流程和吩咐如下:
(1)源端/目标端确定复制关系是状态,并锁定用户状态
用以下吩咐确认第三方同步软件复制关系当前状态,假如以下吩
咐没有出来任何文件说明复制关系正常。
SU-fzsl
Is-1$FZS_DATA/msg.err(查看报错日志)
Is-1$FZS_DATA/msg.index_err(查看创建失败的索引)
Is-1$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*.txtfzsl@.26:/fzs_de/dzqdpt/fzsl/
3、在B城市新数据中心数据库服务器中运行以下导入吩咐,将187
个暂不支持的数据库对象导入B城市数据库中。
impdp\'/assysdba\'directory=dumpdir
dumpfile=ibps.dmptable_exists_action=replace
impdp\'/assysdba\'directory=dumpdir
dumpfile=payment.dmptable_exists_action=replace
impdp\'/assysdba\'directory=dumpdir
dumpfile=sotpguomi.dmptab1e_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_typezcount(1)
fromdba_objectst,dba_usersa
wherea.account_status=1OPEN,
1A
andregexp_like(t.object_namez[A-Z]*)
andt.object_namenotlike1%$%*
anda.username=t.owner
anda.usernamenotin('SYS','SYSMAN','DBSNMP','SYSTEM')
groupbyt.owner,t.object_type
orderbyt.owner,t.objecttype;
(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[A-Z]')
andt.object_namenotlike'%$%';
一验证无效约束
selectowner,table_name,constraint_name,status
fromdba_constraintst
wheret.status<>'ENABLED'
andt.ownernotin('SYS','SYSMAN','DBSNMP','SYSTEM,,
'OLAPSYS');
一重建无效索引
select1ALTERINDEX1||owner||*.||Iindex_name||1REBUILD;!
fromdbaindexeswherestatus=1INVALID1;
(7)停止B城市和A城市两端数据库的第三方同步软件
源端数据库停止同步软件
SU-fzsl
cd$FZS_DATA
fzsstop
目标端数据库停止同步软件
SU-fzsl
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_jobsa
wherea.L0G_USERnotin('SYS');
selectsid,job,last_datefromdba_jobs_runninga;
select*fromdba_scheduler_schedulesawherea.ownernotin('SYS');
数据库:tranrac
此数据库主要承载我行电子渠道、银银平台和组合服务平台等关
键业务系统,9月15日具体切换流程和吩咐如下:
(1)源端/目标端确定复制关系是状态,并锁定用户状态
用以下吩咐确认第三方同步软件复制关系当前状态,假如以下吩
咐没有出来任何文件说明复制关系正常。
su-fzs2
Is-1$FZS_DATA/msg.err(查看报错日志)
Is-1$FZS_DATA/msg.index_err(查看创建失败的索引)
Is-1$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;
alteruserM0NIT0R_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_typezcount(1)
fromdba_objectst,dba_usersa
wherea.account_status=1OPEN,
andregexp_like(t.object_name,*A[A-Z]*)
andt.object_namenotlike1%$%,
anda.username=t.owner
anda.usernamenotin('SYS','SYSMAN','DBSNMP','SYSTEM1)
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/utIrp.sql
验证索引、约束、存储过程等状态,以及当前无效对象
一验证无效对象
SELECTt.owner,t.object_name,t.object_type,t.status
FROMdba_objectsT
whereT.STATUS<>WALID*
andT.Temporary<>1Y*
andt.ownernotin('SYS1,'SYSMAN','DBSNMP','SYSTEM')
A
andregexp_like(t.object_namer*[A-Z]1)
andt.object_namenotlike'%$%';
一验证无效约束
selectowner,table_name,constraint_namezstatus
fromdba_constraintst
wheret.status<>1ENABLED1
andt.ownernotin(1SYS1,'SYSMAN','DBSNMP','SYSTEM',
'OLAPSYS');
一重建无效索引
select1ALTERINDEX1|(owner|I-I|index_name||1REBUILD;
fromdbaindexeswherestatus=1INVALID1;
(6)停止B城市和A城市两端数据库的第三方同步软件
源端数据库停止同步软件
su-fzs2
cd$FZS_DATA
fzsstop
目标端数据库停止同步软件
su-fzs2
cd$FZS_DATA
vshmt-c
fzsstop
(7)启用触发器
sh../tools/trigger,shfzs2/fzs2
sqlplus/assysdba
SQL>@entri.sql
cattrigger,log
(8)开启目标端数据库归档
目前数据库已开启归档,运用以下吩咐进行核实即可
sqlplus/assysdba
SQL>archiveloglist;
(9)解除目标端数据库用户锁状态
解除B城市端新数据中心数据库用户锁状态,并确保A城市数据
中心数据库用户为锁定状态。
alteruserORAYWJKaccountunlock;
alteruserHXDXPTaccountunlock;
alteruserPWBSaccountunlock;
alteruserRADATAaccountunlock;
alteruserEPAYaccountunlock;
alteruserBACKUPaccountunlock;
alteruserHXDXPTWHaccountunlock;
alteruserMONITORaccountunlock;
alteruserPIBSaccountunlock;
alteruserEIBSaccountunlock;
alteruserODSUSERaccountunlock;
alteruserECIFaccountunlock;
alteruserGAPS4101accountunlock;
alteruserLINK_01accountunlock;
alteruserGAPS41accountunlock;
alteruserODSaccountunlock;
alteruserPAPERLESSaccountunlock;
alteruserEMBSaccountunlock;
alteruserLINK_DZQDaccountunlock;
alteruserNETPASSaccountunlock;
alteruserRPTaccountunlock;
alteruserMONITOR_DBaccountunlock;
alteruserB0accountunlock;
alteruserEIPaccountunlock;
alteruserWXUSERaccountunlock;
alteruserPMOBILEaccountunlock;
(10)启用定时任务
启用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_jobsa
wherea.L0G_USERnotin('SYS');
selectsid,job,last_datefromdba_jobs_runninga;
select*fromdba_scheduler_schedulesawherea.ownernotin('SYS');
数据库:mgrrac
此数据库主要承载我行集中作业柜面、身份核查、直销银行、大
额存单和新国密等10套关键业务系统,9月15日具体切换流程和吩
咐如下:
(1)源端/目标端确定复制关系是状态,并锁定用户状态
用以下吩咐确认第三方同步软件复制关系当前状态,假如以下吩
咐没有出来任何文件说明复制关系正常。
su-fzs3
Is-1$FZS_DATA/msg.err(查看报错日志)
Is-1$FZS_DATA/msg.index_err(查看创建失败的索引)
Is-1$FZS_DATA/msg.tab(查看坏表文件)
在各业务系统软件都关闭并没有任何会话访问数据库的前提下,
等待5分钟,然后锁定B城市和A城市两地数据库业务系统相关的数
据库用户的状态,避开数据核对期间数据发生变更。
alteruserAMFEUSRaccountlock;
alteruserORAYWJKaccountlock;
alteruserSUNFTMaccountlock;
alteruserSDSESaccountlock;
alteruserCSIIBANKaccountlock;
alteruserCOUNTERaccountlock;
alteruserCBSLNaccountlock;
alteruserASSPaccountlock;
alteruserECDSaccountlock;
alteruserHRXJPBMGaccountlock;
alteruserDSFUSERaccountlock;
alteruserKMSDBaccountlock;
alteruserDSFHUSERaccountlock;
alteruserPOWERPAYaccountlock;
alteruserTKMSDBaccountlock;
alteruserDECD10accountlock;
alteruserAUTEKaccountlock;
alteruserSUNYARD।accountlock;
alteruserOTPSDBaccountlock;
alteruserCSSPMDB,accountlock;
alteruserDSUSERaccountlock;
alteruserUASCDBaccountlock;
(2)同步软件暂不支持的特别对象处理
由于此库有少量特别类型的数据库对象(如索引组织表和队列
等),这类特别的数据库对象同步软件暂不支持,须要通过导出/导入
方式将数据迁移至B城市数据中心,这部分对象数量为187,但是基
本上没什么数据,导出和导入特别快,各须要8分钟就可以完成。
1、目前导出txt文件已经上传到源服务器相应书目下,源端(A城市
数据中心)对象导出只须要执行以下吩咐即可:
expdp\'/assysdba\'dumpfile=dumpdir:mgrrac.dmp
tables=HRXJPBMG.GAP_REPORT_ROLE,HRXJPBMG.GAP_ROLE_MENU
reuse_dumpfiles=y
expdp\'/assysdba\'dumpfile=dumpdir:javasrc.dmp
schemas=counterinclude=java_source
expdp\'/assysdba\'dumpfile=dumpdir:javacla.dmp
schemas=counterinclude=java_class
2、数据导出后通过以下吩咐将数据上传至目标端(B城市新数据中
心)的数据库服务器对应书目下。
scp*.dmpfzs3@.26:/fzs_de/dzqdpt/fzs3/
3、在B城市新数据中心数据库服务器中运行以下导入吩咐,将187
个暂不支持的数据库对象导入B城市数据库中。
impdp\'/assysdba\'dumpfile=dumpdir:mgrrac.dmp
table_exists_action=replace
impdp\'/assysdba\'dumpfile=dumpdir:javasrc.dmp
impdp\'/assysdba\'dumpfile=dumpdir:javacla.dmp
(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=1OPEN,
andregexp_like(t.object_name,,人[A-Z]*)
andt.object_namenotlike1%$%1
anda.username=t.owner
111
anda.usernamenotin(SYSz»SYSMAN,'DBSNMP','SYSTEM')
groupbyt.owner,t,object_type
orderbyt.owner,t.objecttype;
(5)核对两数据中心数据库记录数
数据库同步完成后通过两种方法进行数据比对:
1、通过第三方同步软件供应的WEB界面完成数据记录数核对工作
2、通过运行脚本调用SQL语句,然后比较两端数据库
system.qianyi_count表中的数据,具体步骤见《数据量核对具体步骤》
章节。
(6)编译无效对象并检查两端数据库对象状态
编译B城市新数据中心数据库的存储过程和函数,并检查除了有
效状态以外的数据库对象,确保B城市和A城市两数据中心数据库对
象状态必需一样。
sqlplus/assysdba
SQL>@?/rdbms/admin/utlrp.sql
验证索引、约束、存储过程等状态,以及当前无效对象
一验证无效对象
SELECTt.owner,t.object_namezt.object_type,t.status
FROMdba_objectsT
whereT.STATUS<>WALID,
andT.Temporary<>fY1
f111
andt.ownernotin(SYS',SYSMAN,*DBSNMPz*SYSTEM*)
andregexp_like(t.object_name,*A[A-Z]!)
andt.object_namenotlike'%$%';
一验证无效约束
selectowner,table_name,constraint_name,status
fromdba_constraintst
wheret.status<>,ENABLED,
1
andt.ownernotin('SYS','SYSMAN','DBSNMP,*SYSTEM*z
'OLAPSYS');
一重建无效索引
select*ALTERINDEX!||owner||*.|||index_name||1REBUILD;!
fromdbaindexeswherestatus=1INVALID,;
(7)停止B城市和A城市两端数据库的第三方同步软件
源端数据库停止同步软件
su-fzs3
cd$FZS_DATA
fzsstop
目标端数据库停止同步软件
su-fzs3
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城市数据
中心数据库用户为锁定状态。
alteruserAMFEUSRaccountunlock;
alteruserORAYWJKaccountunlock;
alteruserSUNFTMaccountunlock;
alteruserSDSESaccountunlock;
alteruserCSIIBANKaccountunlock;
alteruserCOUNTERaccountunlock;
alteruserCBSLNaccountunlock;
alteruserASSPaccountunlock;
alteruserECDSaccountunlock;
alteruserHRXJPBMGaccountunlock;
alteruserDSFUSERaccountunlock;
alteruserKMSDBaccountunlock;
alteruserDSFHUSERaccountunlock;
alteruserPOWERPAYaccountunlock;
alteruserTKMSDBaccountunlock;
alteruserDECD10accountunlock;
alteruserAUTEKaccountunlock;
alteruserSUNYARD'accountunlock;
alteruserOTPSDBaccountunlock;
alteruserCSSPMDB,accountunlock;
alteruserDSUSERaccountunlock;
alteruserUASCDBaccountunlock;
(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_jobsa
wherea.L0G_USERnotin('SYS');
selectsid,job,last_datefromdba_jobs_runninga;
select*fromdba_scheduler_schedulesawherea.ownernotin('SYS');
数据库:cifdb
主要承载我行CIF当前数据,9月15日具体切换流程和吩咐如
下:
(1)源端/目标端确定复制关系是状杰,并锁定用户状态
用以下吩咐确认第三方同步软件复制关系当前状态,假如以下吩
咐没有出来任何文件说明复制关系正常。
SU-fzs2
1s-1$FZS_DATA/msg.err(查看报错日志)
1s-1$FZS_DATA/msg.index_err(查看创建失败的索弓I)
Is-1$FZS_DATA/msg.tab(查看坏表文件)
在各业务系统软件都关闭并没有任何会话访问数据库的前提下,
等待5分钟,然后锁定B城市和A城市两地数据库业务系统相关的数
据库用户的状态,避开数据核对期间数据发生变更。
alteruserCIFPUBaccountlock;
alteruserCIFNORaccountlock;
alteruserMONITOR_DBaccountlock;
alteruserMONITOR_CIFDBaccountlock;
(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=1OPEN,
andregexp_like(t.object_name,1A[A-Z]*)
andt.object_namenotlike1%$%,
anda.username=t.owner
anda.usernamenotin('SYS',fSYSMAN1,'DBSNMP',1SYSTEM')
groupbyt.owner,t,object_type
orderbyt.owner,t.objecttype;
(4)核对两数据中心数据库记录数
数据库同步完成后通过两种方法进行数据比对:
1、通过第三方同步软件供应的WEB界面完成数据记录数核对工作
2、通过运行脚本调用SQL语句,然后比较两端数据库
system.qianyi_count表中的数据,具体步骤见《数据量核对具体步骤》章节。
(5)编译无效对象并检查两端数据库对象状态
编译B城市新数据中心数据库的存储过程和函数,并检查除了有
效状态以外的数据库对象,确保B城市和A城市两数据中心数据库对
象状态必需一样。
sqlplus/assysdba
SQL>@?/rdbms/admin/utIrp.sql
验证索引、约束、存储过程等状态,以及当前无效对象
一验证无效对象
SELECTt.owner,t.object_name,t.object__type,t.status
FROMdba_objectsT
whereT.STATUS<>WALID*
andT,Temporary<>1Y,
andt.ownernotin「SYS','SYSMANl'DBSNMP','SYSTEM')
A1
andregexp_like'(t.object_namet*[A-Z])
andt.object_namenotlike'%$%';
一验证无效约束
selectowner,table_name,constraint_namezstatus
fromdba_constraintst
wheret.status<>,ENABLED,
andt.ownernotin(1SYS1,'SYSMAN1,'DBSNMP','SYSTEM',
'OLAPSYSD;
一重建无效索引
select'ALTERINDEX'||ownerII'.'IIindex_name||'REBUILD;'
fromdbaindexeswherestatus='INVALID';
(6)停止B城市和A城市两端数据库的第三方同步软件
源端数据库停止同步软件
su-fzs2
cd$FZS_DATA
fzsstop
目标端数据库停止同步软件
su-fzs2
cd$FZS_DATA
vshmt-c
fzsstop
(7)启用触发器
sh../tools/trigger.shfzs2/fzs2
sqlplus/assysdba
SQL>@entri.sql
cattrigger,log
(8)开启目标端数据库归档
目前数据库已开启归档,运用以下吩咐进行核实即可
sqlplus/assysdba
SQL>archiveloglist;
(9)解除目标端数据库用户锁状态
解除B城市端新数据中心数据库用户锁状态,并确保A城市数据
中心数据库用户为锁定状态。
alteruserCIFPUBaccountunlock;
alteruserCIFNORaccountunlock;
alteruserMONITOR_DBaccountunlock;
alteruserMONITOR_CIFDBaccountunlock;
(10)启用定时任务
启用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_jobsa
wherea.L0G_USERnotin('SYS');
selectsid,job,last_datefromdba_jobs_runninga;
select*fromdba_scheduler_schedulesawherea.ownernotin('SYS');
数据库:cifldb
主要承载我行CIF历史数据,9月15日具体切换流程和吩咐如
下:
(1)源端/目标端确定复制关系是状态,并锁定用户状态
用以下吩咐确认第三方同步软件复制关系当前状态,假如以下吩
咐没有出来任何文件说明复制关系正常。
SU-fzsl
Is-1$FZS_DATA/msg.err(查看报错日志)
Is-1$FZS_DATA/msg.index_err(查看创建失败的索引)
Is-1$FZS_DATA/msg.tab(查看坏表文件)
在各业务系统软件都关闭并没有任何会话访问数据库的前提下,
等待5分钟,然后锁定B城市和A城市两地数据库业务系统相关的数
据库用户的状态,避开数据核对期间数据发生变更。
alteruserCIFDATAaccountlock;
alteruserMONITOR_CIF1DBaccountlock;
alteruserMONITOR_DBaccountlock;
(2)B城市和A城市两数据中心数据库的sequence和directory核
对
1、核对两数据中心的sequence(序列),保证B城市数据中心序列
的当前值必需大于等于A城市数据中心序列的当前值。
shswitch,sh
catseqrc.log
2、核对两数据中心的directory(路径),保证两数据中心的
directory一样,同时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 平原人民医院考试题目及答案
- 新疆音乐考试题库及答案
- 心理学视力测试题及答案
- 2026年乌鲁木齐市第126中学招聘模拟试卷含答案详解(新)
- 2026年合肥高新区机关事业单位公开招募就业见习人员86名模拟试卷附完整答案详解【历年真题】
- 2026中国地质调查局局属单位(第二批)补充招聘4人笔试题库含完整答案详解(夺冠系列)
- 第一章单元复习课-人教A版高一上学期物理必修一课件
- 孵化自主可控工业软件应用软件链
- 新型储能材料与dortyucte
- 全球供应链风险管理
- 《乒乓变奏曲》课件2025-2026学年苏少版一年级下册音乐
- CSCO乳腺癌诊疗指南(2026版)
- 八年级化学上学期期中知识清单:沪科版·五四学制
- 2026年广东省东莞市八校联考中考二模化学试卷(含答案)
- Q-CR 9230-2025 铁路工程沉降变形观测与评估技术规程
- 卫生院财务管理制度
- 2026年广西壮族自治区防城港市初二地理生物会考考试题库(含答案)
- 广东深圳市鲲鹏股权投资管理有限公司招聘笔试题库2026
- 2026年专利代理师《相关法律》冲刺押题(附答案)
- 2026春外研版(新教材)初中英语七年级下册(全册)各单元知识点复习要点梳理
- 2025年7月黑龙江高中学业水平合格性考试历史试题(试卷+解析)
评论
0/150
提交评论