dblink涉及的表的赋权

  

  一个上面用户user_a有访问B的DBLINK, B_dblink,在一个库的用户user_a上执行如下授权,授权DBLINK的表给一个库的user_b   

  

  格兰特选择table1@B_dblink user_b;   

  

  报错ora - 02021:不允许对远程数据库进行DDL操作   

  

  
  

  

     

  

  
  

  

  
  

  

  老MES服务器上用户通过DBLINK访问ERP,在ERP中的用户是erpsr,实际数据存在ERP中的erpmes用户   

  

  1,在ERP中建立erpsr用户   

  

  2,在ERP中的erpmes用户下授权erpsr可以选择erpmes下的表,只授权选择   

  

  3,在ERP的erpsr用户下建立erpmes下表的同义词   

  

  4、在MES库中老的用户下建立dblink, dblink的连接使用erpsr   

  

  
  

  

  ——控制权限再MES服务器上控制,不是在ERP服务器上控制,如下第4步建立dblink使用erpsr用户,不能使用erpmes用户,一旦使用erpmes用户,那么MES库上的老用户实际是使用erpmes用户的权限   

  

  
  

  

  
  

  

  
  

  

  先在ERP中做如下   

  

  1.系统用户执行如下   

  

  创建用户erpsr被123456;   

  

  格兰特erpsr连接;   

  

  
  

  

  2.系统用户执行如下   

  

  格兰特erpmes选择。table_name, erpsr   

  

  
  

  

  3. erpsr用户执行如下   

  

  为erpmes.table_name创建同义词table_name   

dblink涉及的表的赋权