利用oracle快照实现两台数据库服务器表同步。
举例,如源数据库A,目标数据库B,数据库B需要同步数据库A的表CROSS,具体步骤如下:
1、首先在数据库B中创建DBLINK;
-- Create database link
create database link DB_LINK_TEST
2、在数据库A中创建需要被同步的表,如表CROSS,语句就不写了,在数据库B中无需创建表,用快照即可,第5步说明;
3、在数据库B中测试DBLINK
4、在数据库A中创建快照日志(当快照的刷新方式为 fast
5、在数据库B中创建相应的快照
6、设置快照刷新时间,可定时触发
至此快照同步创建完毕,当数据库A的表CROSS发生数据变化,则相应的数据库B的快照CROSS也会相应的发生变化,时间延期为1分钟。
以上测试环境为oracle 10g。
相关:
1、手动刷新快照,在没有自动刷新的情况下,可以手动刷新快照.
2、查看快照最后一次刷新时间
3、查看快照下次执行时间
说明:
1,ORACLE的快照刷新方式refresh有三种:
fast
complete
force
快照技术提供给我们三种刷新机制,分别是:
1) Complete 完全刷新机制,即对表的所有数据进行刷新,如果表的数据量十分庞大的,此法会消耗相当的时间;
2) Fast 快速刷新,即只对数据增量进行刷新;
3) Force 强制刷新,首先判断是否能用快速刷新机制,如不行则用完全刷新机制。
2,若在数据库B上创建快速刷新,则要在数据库A上创建快照日志对象,否则没这个必要,即第4步。