ORACLE 新建用户B ,将用户A下的表授权给用户B

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/spt_dream/article/details/89382640

给用户B授权使用用户A中的部分表;
1、system用户登录sql plus;

我用navicat登录查看不到效果,登录方法为cmd打开命令行 然后 输入SQLPLUS(注意没空格)回车 输入system  然后输入数据库密码,见下图

2、创建用户B

[sql] view plain copy

  1. create user 用户B identified by 密码  
  2. default tablespace 表空间;  

3、给用户B赋予登录权限

[sql] view plain copy

  1. grant create session to 用户B;  

4、登录用户A

[sql] view plain copy

  1. connect 用户A/密码;<  

5、给用户B授权使用用户A里面的某个表或者视图

[sql] view plain copy

  1. grant select on 表/视图 to 用户B;  

注意;如果表很多,可以用  下面的脚本快速生成;

select 'grant select on '||table_name||' to 你的用户;' from user_tables where tablespace_name='USERS' 

6、测试是否授权成功

[sql] view plain copy

  1. connect 用户B/密码;  
  2. select * from 用户A.表/视图;  

7、取消授权

[sql] view plain copy

  1. connect 用户A/密码;  
  2. revoke select on 表/视图 from 用户B;  

8、我们在做dblink的时候就可以使用刚刚创建的用户B来登录

9、在dblink中使用,就可以使用用户B来登录,这样连接做的权限只能访问上面授权的表或视图;

[sql] view plain copy

  1. select * from 用户A.表/视图@dblink name;  

好了,到此就结束了,记录一下,方便以后还会用到。

猜你喜欢

转载自blog.csdn.net/spt_dream/article/details/89382640