Expandmenu Shrunk


  • Category Archives oracle_mig
  • XX支付平台数据库迁移方案(计划)

     

     

    XXX支付平台ORCLE RAC数据库

    迁移实施手册(未评审)

      

    基本要求:支付平台正常业务,保证数据的安全、一致性、业务的连续性

     

    一、            时间安排

    方案一

    正常操作

    时间(2012-0x-28) 操作步骤

    详细描述

    消耗时间(估算,根据实际调节)
    0:00 停止业务 停止所有与数据库交互的业务,保证数据一致性 30分钟
    0:30 导出数据 导出PEP打头的业务用户(9) 2小时
    2:30 传输数据导新库 传输所有的备份集到目标库 30分钟
    3:00 导入数据 导入所有的PEPP打头的数据 2小时
    5:00 数据库验证 验证用户、数据的完整性,故障排查 1小时
    6:00 启动业务 修改业务相关配置,启动业务 30分钟
    6:30 后续测试    

    回退操作

    2012-0x-28

    2012-0x-29

    业务测试

    具体操作

    时间待定

    任意时间点

    测试不成功回退

     

     

     

     

    开启peppdb到生产的ogg

     

     

     

    peppdb为主,生产为备

     

     

     

    需要intial数据数据

     

     

     

    切换业务连接

     

     

     

    测试验证数据同步

     

    优点

    可以随时同步数据,不需要事先配置

    缺点

    测试失败需要初始化数据后,才能同步

      

    方案二(推荐)

    正常操作

    时间(2012-0x-28) 操作步骤

    详细描述

    消耗时间(估算,根据实际调节)
    0:00 停止业务 停止所有与数据库交互的业务,保证数据一致性 30分钟
    0:30 导出数据 导出PEP打头的业务用户(9个) 2小时
    2:30 传输数据导新库 传输所有的备份集到目标库 30分钟
    3:00 导入数据 导入所有的PEPP打头的数据 2小时
    5:00 数据库验证 验证用户、数据的完整性,故障排查 1小时
    5:30 启动OGG 启动Peppdb为主,生产为slave的ogg,b并验证,同步是否正常(需要先配置),不需要initial数据 30分钟
    5:30 启动业务 修改业务相关配置,启动业务 30分钟
    6:00 后续测试    

    回退操作

    2012-0x-28

    2012-0x-29

    业务测试

     

    较快

    任意时间点

    测试不成功回退

     

     

     

     

    开启PEPPDB到生产的ogg

     

     

     

    启动mgr,extract进程

     

     

     

    peppdb为主,生产为备

     

     

     

    需要intial数据

     

     

     

    切换业务连接

     

     

     

    测试验证数据同步

     

    优点

    不需要初始化数据,可以从测试到回退的平滑过渡

    缺点

    需要事先配置

      

     

    二、      迁移准备(System)

    初始化:

    ——Source源端(192.168.xx.44)

      要求: EXPDP出来的文件格式:USERNAME.dmp,PEPP_PE.dmp

       (其中USERNAME为所有PEPP打头的大写)

    ——Targe目标端(192.168.131.129/130)

    由于数据库用户目前已经创建,需要先更改密码

       执行alter_user_pass.sql更改当前所有用户的密码(第一次执行)

       执行create_ep_resource.sql创建role :ep_resource(第一次执行)

       创建名称为44的到44的连接串(第一次执行)

       创建/oracle/script/checksum目录存放校验日志(第一次执行)

       Mkdir –p /oracle/script/checksum

       Mkdir –p /oracle/script/checksum/obj

       Mkdir –p /oracle/script/checksum/priv

       Mkdir –p /oracle/script/checksum/seq

     

    创建目录存放expdpdump文件(可能需要调节日期为20120×28)

    Create directory  exp_dir as ‘/oracle/archive/arch1/20120×23’ ;

       Grant read,write on directory exp_dir to public;

       执行grant_user_privs.sql授权

       执行create_db_link.sql创建所有的db link;

     

     

     

     

     

     

    异常处理

    ——–删除用户

       由于错误信息,或者设置不当需要重新创建user

       执行drop_user.sql中特定段,删除该特定用户

       执行create_user.sql中特定段,创建该特定用户

       执行grant_user_privs.sql,可执行所有,忽略错误

       执行create_database_link.sql,可执行所有,忽略错误

     

     

     

     

     

     

     

     

    三、正式迁移步骤(System)

    1. 1.       导入对象obejects

    imp_all_objs.sql,根据用户,细分步骤执行

    查询下状态:

     Cd  /oracle/script/obj

    Checksum_all_objs.sql

     

    1. 2.       禁用FK,PK,triggers(运行前必须建立名称为44的连接串)

    Dis_all_trigger.sh

    Dis_all_pk.sh(pk disable ,fk自动disable)

    1. 3.       导入数据

    Imp_all_data.sql,根据用户,细分步骤执行

    1. 4.       启动trigger,启用PK,FK

    Emb_all_trig.sh

    Enb_all_pk.sh(消耗一定时间)

    Enb_all_fk.sh(消耗时间较长)

     

     

     

     

     

     

     

     

     

     

     

     

    查询FK,PK,所有状态为VALID为正常

    select s.owner,s.table_name,s.constraint_name,s.constraint_type,s.status from dba_constraints s

     where s.constraint_type in(‘P’,’R’)

     and s.owner in(

    ‘PEPP_COMMON   ‘, 

    ‘PEPP_TAPS     ‘, 

    ‘PEPP_PE       ‘, 

    ‘PEPP_CUSTSVC  ‘, 

    ‘PEPP_BMS      ‘, 

    ‘PEPP_STT      ‘, 

    ‘PEPP_RISKMAN  ‘, 

    ‘PEPP_B2B      ‘, 

    ‘PEPP_WP       ‘  

    ) order by status

     

    返回0行则表明状态正常

    查询triggers

     

    select tr.owner,trigger_name,tr.trigger_name,tr.status from dba_triggers tr where tr.owner in(

    ‘PEPP_COMMON   ‘, 

    ‘PEPP_TAPS     ‘, 

    ‘PEPP_PE       ‘, 

    ‘PEPP_CUSTSVC  ‘, 

    ‘PEPP_BMS      ‘, 

    ‘PEPP_STT      ‘, 

    ‘PEPP_RISKMAN  ‘, 

    ‘PEPP_B2B      ‘, 

    ‘PEPP_WP       ‘  

    ) order by status

     

    返回0行则表明状态正常

     

     

     

     

     

     

     

     

     

    四、校验比对

     

    1.校验对比(更改9个用户)的所有对象,所有用户的对象权限,所有对象的Sequence,产生比对文件,每个用户一个单独的记录

    1)校验所有对象

    Cd /oracle/script/checksum/obj

    执行checksum_all_objects.sql
     

    2)校验所有的权限(tab,col)

    权限(系统权限,对象权限,对象权限在exp/imp的时候不会出问题)

      Cd /oracle/script/checksum/priv

        执行Checksum_all_tab_privs.sql

    3)校验所有的Sequence.last_number

       Cd /oracle/script/checksum/seq

        执行Checksum_all_sequences.sql

    保证Sequence(目标的sequence大于源),对于不大于source,需要触发几次

     Select seqxx.last_number from dual;

     

    2.删除Databaselink

    Drop_all_dblink.sql

    附录:对于任意用户失败,可以使用

    drop_user.sql;

    create_user.sql;

    grant.sql;

    create_database_link.sql;

    忽略错误重建用户

     

     

    五、配置OGGServer,用于捕捉增量,使得能够在回退的时候,同步与Source源库

     

     

    配置OGG(Server端口),导入数据正常后启动ogg

    1. 1.       配置mgr

     

    GGSCI (master) 1> info all

    Program     Status      Group       Lag           Time Since Chkpt

    MANAGER     STOPPED

     

    GGSCI (master) 2> edit params mgr

    PORT 7809

    –Dynamic port

    dynamicportlist 7800-8000

    –Auto start extract

    –autostart extract *

    –Auto Restart,retries 2 times

    autorestart extract *,waitminutes 2,resetminutes 5

    –Purge old extracts

    –purgeoldextracts /usr/local/ggate/dirdat/*,usecheckpoints,minkeepdays 3

    –Can not Puerge Extract

    –Large report hours

    lagreporthours 1

    laginfominutes 3

    lagcriticalminutes 45

     

     

    1. 2.       配置Extract进程,配置如下参考

    GGSCI (querydb1) 2> view param EXTPEP1

     

    extract extpep1

    userid ggs, password ggs

    BR BROFF

    tranlogoptions rawdeviceoffset 0

    TRANLOGOPTIONS CONVERTUCS2CLOBS

    warnlongtrans 2h, checkinterval 3m

    fetchoptions nousesnapshot

    THREADOPTIONS MAXCOMMITPROPAGATIONDELAY  30000 IOLATENCY 30000

    tranlogoptions altarchivelogdest primary instance peppdb1 /oracle/archive/arch1, altarchivelogdest instance peppdb2  /oracle/archive/arch2

    discardfile  ./dirrpt/extpep1.dsc,append,megabytes 10

    getupdatebefores

    ignorereplicates

    exttrail /ggstrail/exttrail/pepp/e1

    numfiles 4000

    dynamicresolution

    GETTRUNCATES

    DDL INCLUDE MAPPED

    table PEPP_B2B.*;

    table PEPP_BMS.*;

    table PEPP_COMMON.*;

    table PEPP_CUSTSVC.*;

    table PEPP_PE.*;

    table PEPP_RISKMAN.*;

    table PEPP_STT.*;

    table PEPP_TAPS.*;

    table pepp_wp.*;




香港马会开奖记录|香港马会开奖资料|香港马会开奖现场|香港马会走势图|香港马会开奖结果直播|香港马会n730|