oracle如何给某个用户设定它只能访问指定的表?
我的操作过程如下:1.createusernew_useridentifiedbynew_pwd;2.grantconnect,resourcetonew_user;3....
我的操作过程如下:
1.create user new_user identified by new_pwd;
2.grant connect,resource to new_user;
3.grant select tb_group to new_user;
三步都能执行成功,但是我用new_user用户登录上去,在table里面找不到tb_group 这张表,我哪里出问题了?
第三条敲错了,应该是【grant select on tb_group to new_user;】 展开
1.create user new_user identified by new_pwd;
2.grant connect,resource to new_user;
3.grant select tb_group to new_user;
三步都能执行成功,但是我用new_user用户登录上去,在table里面找不到tb_group 这张表,我哪里出问题了?
第三条敲错了,应该是【grant select on tb_group to new_user;】 展开
1个回答
展开全部
没有出问题 而是tb_group这个表不是属于new_user这个新建用户的
所以select的时候要带上用户名 或者新建同义词也可以
比如这个tb_group是abc用户下的
select * from abc.tb_group
所以select的时候要带上用户名 或者新建同义词也可以
比如这个tb_group是abc用户下的
select * from abc.tb_group
追问
非常感谢,可以访问了,那我需要如何操作,才能使创建的这个用户在登录上面后,在table里面能显示可以访问的这几个表呢?
另外,通过abc.tb_group 可以访问了,但是,也可以通过abc.tb_other访问其它的表
追答
如果在表下面看到 那只能是在用户下创建同样的表 用new_user登陆
create table tb_group as select * from abc.tb_group
其实你可以建一个同义词
create or replace synonym tb_group
for abc.tb_group;
这样在new_user下直接就可以用select * from tb_group了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询