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