Oracle将指定表分配给一个新用户进行查看数据

有两个用户,一个是A,一个是B
现在在A用户下有很多表,将来也会增加一些表,
我如何通过权限设置,让B拥有查询(仅仅查询)A用户下所有表的权限。

1,执行下面这个查询语句
select 'grant select on A.'||t.table_name||' to B;' from dba_tables t where t.owner='A';
2,执行上面查询出来的结果

这种访问只能对已知表赋给select权限,但是如果这个用户有新加表的话,我还是不能访问。

或者

conn user1
spool grant.sql
select  'grant select on '|| table_name|| ' to user2 ;' from user_tables;

 

 

 

最近在使用oracle的时候,为了安全,需要将指定表分配给一个新用户进行查看数据,看了很多例子,都不是很好,说的很模糊,后来经过实践,找出来了一个比较适当的方法,下面给大家分享。


system:数据库管理账户 ,  myoracle:被访问用户 ,  youroracle:访问用户  , 密码:password  ,testtable 被分配查询的表名


1.首先使用myoracle进行登录oracle: 使用命令窗口输入以下sql语句创建youroracle用户: create user youroracle identified by password;


2.使用system账户登录 :使用命令窗口创建session条件:grant create session to youroracle;


3.使用myoracle登录oracle:使用命令窗口分配访问权限 :grant select on testtable to youroracle;


4.使用youroracle账户 密码是:password 进行登录,在查看自己的tables中就会看到  myoracle.testtable的表了。


使用以上步骤就可以完成Oracle中一个用户访问另一个用户的表了,如果想访问说有的表,但都是select权限的话 可以使用 grant select on any tables to youroracle;即可。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值