一个成功的增量SNAPSHOT 例子

类别:数据库 点击:0 评论:0 推荐:

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企业版的高级复制,也能实行基本的简单复制,满足一般业务要求

本文地址:http://com.8s8s.com/it/it20874.htm