情况是这样的。
现在有两个oracle 数据库部署在不同的机器上,这2 台机器在一个网络中。这2 个数据库我们分别叫做 db1 db2
想完成从db1 到 db2 表的同步,对部分表(30-40 table)每天同步一次。
查找过网络上的一些关于同步的资料,也了解了一下“oracle高级复制”功能,现在有个问题,就是db1 库是另外一个公司给上级公司开发的系统,我们需要读取其中表的信息,他们最多会给一个只读的帐号,这个种帐号的权限很低(select any table)无法做过多的操作,而且我们也不可能到db1 上取做 oracle高级复制的 一些配置操作。
这种情况下采用何种方案完成以上工作?难道每天做delete 和 insert 的操作这样是否效率会很低。求解~~~~

解决方案 »

  1.   


    http://www.builder.com.cn/2007/1004/535406.shtml
    这个是我参考的文章,需要在db1 中做配置这个估计不太可行。
      

  2.   

    dblink 需要分配dba身份
    楼上能够具体点吗?
      

  3.   

    stream (用户,表空间或者表的同步) -----就是配置麻烦
    dataguard 由于你要同步的库只要考虑只读没有写操作,推荐用物理standby吧
      

  4.   

    既然不能对主库做任何操做
    那就只有dblink更新表的数据了
    就是工作量太大了
    你可以写个脚本
    然后job定时在夜间更新
      

  5.   

    我最初的想法和楼上的一样,也是考虑效率低了点。
    还有 dblink好像要用 dba 的 权限吧。
      

  6.   

    dba 应该是可以修改表的,有什么办法可以不让dblink 用户有修改权限又可以建立 dblink 呢 ?
      

  7.   

    如果是整库同步,如果不是跨平台,那么推荐使用data guard如果是某些表同步,如果不是跨平台,可以使用物化视图或者streams如果涉及到结构会有变化,可以使用streams说明:
    如果是10G以下版本,尽量不要用stream,用ar.