主机A上有数据库用户A,现在想在主机B上新建数据库用户B,使其能访问主机A上数据库用户A的所有表,但不能修改这些表的数据,请各位帮忙提供方案,时间比较紧,谢谢各位!
我尝试的方案有:
1、在用户B上建DBLINK访问用户A的表。但这样无法限制用户B对用户A的表的修改权限;
2、在用户B上建DBLINK访问用户A的表,同时在用户B中建只读视图对这些表进行封装,以此限制用户B对用户A的表的修改权限。但这样当用户A的表结构发生变化时,用户B的视图不能自动同步更新。
我尝试的方案有:
1、在用户B上建DBLINK访问用户A的表。但这样无法限制用户B对用户A的表的修改权限;
2、在用户B上建DBLINK访问用户A的表,同时在用户B中建只读视图对这些表进行封装,以此限制用户B对用户A的表的修改权限。但这样当用户A的表结构发生变化时,用户B的视图不能自动同步更新。
2.在主机b上建dblink连接上用户c
2.在主机b上建dblink连接上用户c可以测试一下!
给用户授权访问需要访问的表,然后建公共同义词
grant select on a.aaaaa to c;
create public synonym aaaaa for w.aaaaa;
用户c即可通过
select * from aaaaa
查询到a.aaaaa表