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

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

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

 

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;  

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

相关文章:

  • 2021-04-30
  • 2021-04-21
  • 2022-02-05
  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-04
  • 2022-12-23
  • 2022-03-09
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
相关资源
相似解决方案