数据库A 为主数据库,负责数据的创建。
数据库B 为数据库A的同步库,主要负责数据查询和统计。1、B库与A库实时同步或 准实时(要求20秒内)
2、数据库A的数据TB级别 ,每日数据更新较多
3、主要因为A库的压力太大,无法承担查询和统计工作请哪位专家给推荐下方案。谢谢
数据库B 为数据库A的同步库,主要负责数据查询和统计。1、B库与A库实时同步或 准实时(要求20秒内)
2、数据库A的数据TB级别 ,每日数据更新较多
3、主要因为A库的压力太大,无法承担查询和统计工作请哪位专家给推荐下方案。谢谢
http://www.oracle.com.cn/viewthread.php?tid=8500
251 =
(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.251)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = mychoice)))
把它存到你的TNSNAMES.ORA文件里。
2,然后就可以定义DB Link了:
create public database link TEST2.US.ORACLE.COM
connect to 用户名identified by "密码"using '251';
3,建立synonym(同义) create or replace synonym TEST01for [email protected];
建立完了以后,你可以通过:select * from test01 上面的语句相当于在B服务器上执行:select * from testable 4,封建触发器:当A中的testable表变化时(这里只考虑插入操作),就会触发向远程的B库的testable也插入相应的数据:
create or replace trigger rtest
after insert on testablefor each rowbegin insert into test01 (something) values (:new.something);end;
ok,现在我们可以测试一下,你在A库中往testable表中插入一条记录,看看B库中是不是也相应的增加了
摘录于此 ,写的好
哪么触发器就不能使用了啊,那样会把数据库托死哦,考虑一下高级复制和物化视图!
大家可以访问他们的网站--www.woxintech.com