归档逐步应用辅助数据库迁移(适用大数据库)

系统 1347 0

  很多时候你可能要从一个大型数据库平台,迁移至同版本、同平台异地异机,但是停机时间很少,则可以通过备份热备份,然后手工不断应用归档日志,最后在停机时间应用剩余日志来解决,操作如下:

  1. 确定源数据库信息,主要是查询源数据库归档情况,确认归档日志;

    select name from v$archived_log;

    NAME

    --------------------------------------------------------------------------------

    +FLASH/orcl/onlinelog/group_1.257.856384971

    +DATA/orcl/onlinelog/group_2.262.856384971

    +FLASH/orcl/onlinelog/group_2.258.856384971

    +DATA/orcl/onlinelog/group_3.263.856384971

    +FLASH/orcl/onlinelog/group_3.259.856384973

    +FLASH/orcl/archivelog/2014_08_25/thread_1_seq_5.276.856492209

    +FLASH/orcl/archivelog/2014_08_25/thread_1_seq_3.286.856492209

    +FLASH/orcl/archivelog/2014_08_25/thread_1_seq_4.287.856492209

    41 rows selected.

    SQL> alter system switch logfile;

  2. 备份数据库,对源数据库进行热备份,脚本如下:

    alter tablespace system begin backup;

    host copy E:\ORACLE\ORADATA\MARK\SYSTEM01.DBF

    alter tablespace system end backup;

    .....

  3. 更改数据并归档部分日志,未测试目的,修改部分数据,并继续归档,数据库继续对外提供服务。

    begin

    for i in 1 .. 4 loop

    insert into mark values(i,sysdate,dbms_flashback.get_system_change_number);

    execute immediate 'alter system switch logfile';

    dbms_lock.sleep(15);

    end loop;

    end;

    /

    Commit;

  4. 执行恢复,在迁移过程中,可以将备份文件传输至目标主机,在目标主机恢复备份的数据文件,启动数据库。

    sql>startup mount;

    sql>recover database using backup controlfile until cancel;

    应用了所有的归档日志文件之后,可以将数据库只读打开;

    sql>alter database open read only;

    因为原数据库的修改还在继续,关闭数据库,启动到mount状态,然后从源数据库拷贝归档日志,继续应用归档。通过不断应用归档日志,建议数据库和源数据库就处于同步状态。当到达迁移指定的时间时,将源数据库归档,然后停机,拷贝在线日志。然后再迁移数据库应用日志。

    这种方法和DAGAGUARD类似,但是更为可控。

归档逐步应用辅助数据库迁移(适用大数据库)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论