数据库权限

1.数据库权限有几类?连接?read?写?

 

Oracle数据库权限分为:系统权限和对象权限。

系统权限:指SESSION权限、USER权限等,也就是说对数据库的系统级的操都可以称为系统权限。

对象权限:指表对象、序列、触发器等操作的权限。

1.1查看所有的系统权限

通过语句:SELECT * FROM SYSTEM_PRIVILEGE_MAP ;查看oracle11g有208种系统权限

1.2查询某个用户拥有的权限

查询用户拥有的系统权限(直接赋值给用户的系统权限)

select * from user_sys_privs;

 

查询通过角色赋值给用户的系统权限

1)查询用户所拥有的角色

select * from user_role_privs;

2)查询角色所拥有的系统权限

select * from role_sys_privs  where role='角色名';

查询用户所拥有的对象权限(直接赋值给用户的对象权限)

select * from user_tab_privs;

 

查询通过角色赋值给用户的对象权限

1) 查询用户所拥有的角色

select * from user_role_privs;

2)查询角色所拥有的对象权限

select * from role_tab_privs  where role='角色名'

---------------------------------------------------------------------------------------------------------

1.select any table 系统权限

给普通用户授予select any table 权限,可以查看所有用户的表,但是查不到部分sys用户的表或视图,比如 dba_segments

2.select_catalog_role 角色权限(查询数据字典)

select_catalog_role 是一种角色(a role),select_catalog_role可以查看一些数据字典的视图·(可以看role的定义),如dba_之类的

给普通用户授予select_catalog_role角色,可以查看一些sys用户可以看到的表和视图,比如dba_segments,dba_tables但不是所有的表

角色的话需要重新登录或者显式的set role 来生效,而赋予系统权限是立即生效的。(P.S. 同样revoke权限也是立即生效)

 -------------------------------------------------------------------------------------------------------

 

 

参考资料:

1.select any dictionary与select_catalog_role区别

 

 

转载于:https://www.cnblogs.com/jycjy/p/8082446.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值