情况:1、远程表只读,远程用户名ABC密码ABC
      2、本地自建数据库OCL,无表
希望:1、根据远程表A的结构新建本地表A(与远程表同名)
      2、复制远程表A中所有内容到本地表A中
      3、定期把远程表A中的修改数据和新增内容更新到本地表A中
远程版本9i,本地版本g11
求助。

解决方案 »

  1.   

    这本地建个远程服务的dblink 如orcl
    开始的时候用
    create table a as select * from b@ORCL的方式创建一个相同的表其中还包还数据
    以后的话用merger函数
    这个函数可以做存在更新不存在插入的工作
    oracle11有这个函数的,自己网上查查,帖子很多.
      

  2.   

    1、在远程数据库9i操作
    --远程创建表abc
    create table abc(id number ,name varchar2(20));
    --创建物化视图日志
    create materialized view log  on abc with rowid;2、在本地11g数据库操作
    --创建dblink(db1为名称)
    create public database link dbk1 connect to test identified by test using '连接远程数据库连接串';
    --创建物化视图(next短语指定数据刷新间隔1分钟)
    create materialized view abc 
    refresh force on demand
    start with sysdate
    next trunc(sysdate,'mi')+1/1440
    with rowid
    as
    select * from abc@dbk1;
    --查询物化视图数据
    select * from abc;
      

  3.   

    create public database link <数据库链接名> connect to <远程用户名> identified by <密码> using '连接远程数据库连接串';