一个成功的增量SNAPSHOT 例子
发表于:2007-07-02来源:作者:点击数:
标签:
Case: 上海有一个 数据库 ,北京有另一个数据库,都是 oracle 9i 标准版. 在上海的数据库里,需要复制北京的一个表. 每天定时复制一次.由于数据量 较大,不能采用全备份恢复的方法. 故采用增量snapshot Procedure: Step1: 在上海市 服务器 端,建立 网络 服务名Be
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://www.ltesting.net