如题,最好能利用PL/SQL Developer,求详细步骤

解决方案 »

  1.   


    --举例:用户:U1,U2,U3
           表名:U1.T1,U2.T2,U3.T3
    --做法:创建一个新的用户U4
    CREATE USER U4 IDENTIFIED BY U4;
    GRANT CONNECT,RESOURCE TO U4;
    GRANT SELECT ANY TABLE TO U4;
    GRANT DELETE ANY TABLE TO U4;
    GRANT UPDATE ANY TABLE TO U4;
    GRANT INSERT ANY TABLE TO U4;--执行数据复制的话只需要登录到U4上
    ----假设同步数据 U1.T1到U2.T2,U3.T3
    INSERT INTO U2.T2 SELECT * FROM U1.T1;
    INSERT INTO U3.T3 SELECT * FROM U1.T1;
    COMMIT;---如果你没有权限建立用户,那就直接把权限付给U1,然后在U1上登录执行操作也可以。
    --如果硬要用plsqldev的话
    --那就先导出数据为sql,然后再倒入,不过需要切换用户。
      

  2.   


    是这样的,两个用户的模版是一样的,但各用一部分表,比如有a,b,c,d四张表,user1用a,b,user2用才c,d
      

  3.   


    --在user1下执行
    grant select on a to 同步的用户;
    grant select on b to 同步的用户;
    --在user2下执行
    grant select on b to 同步的用户;
    grant select on c to 同步的用户;--在同步用户下执行
    insert a select * from user1.a;
    insert b select * from user1.b;
    insert c select * from user2.c;
    insert d select * from user2.d;
    commit;--打完收工。。
      

  4.   


    --1、一起执行没问题 下面这句话的意思是将user1下的a表数据插入到执行用户中
    ----有几条插入几条,没有记录插入0条,不会影响insert 后面的那个表的数据。
    insert a select * from user1.a;--2、另外如果你user1下和user2下表很多的话,一个一个赋权是必须的。
    ---或者如果你权限够大,直接付给要同步的用户下面的权限,这样以后user1或者user2下新增表也能正常查到。
    grant select any table to 要同步的用户;
      

  5.   

    7楼的意思是让你将表的增删改查权限付出去,赋权方法我已经给出了。
    然后让你在你需要同步的用户中 直接用 用户名.表名的形式对数据进行处理。如查询:
    select * from user1.a;
    delete from user1.a;
    insert into user1.a values(....);
    update user1.a set ......;
    相应的,如果你的前台业务逻辑层(假设都是用java写的)操作数据的时候都需要增加[用户名.]
    我觉得不符合你的需求。
    你自己考虑。