首页 > 开发 > 综合 > 正文

一个成功的增量SNAPSHOT 例子

2024-07-21 02:08:09
字体:
来源:转载
供稿:网友

case:
        上海有一个数据库,北京有另一个数据库,都是oracle9i 标准版.
    在上海的数据库里,需要复制北京的一个表. 每天定时复制一次.由于数据量
    较大,不能采用全备份恢复的方法.
        故采用增量snapshot
   procedure:

   step1:
        在上海市服务器端,建立网络服务名beijing

   $host$=
      (description=
         (address_list=
           (address=(protocol=tcp)(host=$beijing_server$)(port=1521))
      )
      (connect_data=(server_name=$bjora$))
      )
    此步骤可以用oracle的网络配制,也可以直接修改tnsnames.ora在上海市服务器
端.
    (提问?在unix下,哪种方式比较普遍, 直接修改tnsnames.ora?)

   step2:
      上海市服务器,建立连接北京的dblink
      create public database link
      $dblink$
      connect to $username$ identified by $password$ using '$host$'

   step3.
      在北京的服务器上建立snapshot log
      create snapshot log on $tab$ with primary key;
   
   step4
      在上海的服务器上建立snapshot
      create snapshot $tab$ build immediate refresh
      fast next sysdate + $x$/24 as
      select * from $tab$@$dblist$

   step5
      如果手工刷新
      exec dbms_snapshot.refresh('$tab$');

   以上经过验证,master 数据的增删改都能快速通过.

   如果不用oracle企业版的高级复制,也能实行基本的简单复制,满足一般业务要求

最大的网站源码资源下载站,

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表