Oracle用户、角色权限管理上的几个误区

 我来答
懂视生活
2023-07-27 · 百度认证:湖南福仁科技有限公司官方账号
懂视生活
向TA提问
展开全部

Oracle目前没有提供查看某个用户所有角色或所有权限的视图。要查看这类信息,一般通过如下SQL语句:



如果你想查看数据库中哪些用户具有修改SCOTT.DEPT表的权限,你会怎么查?

答:select * from dba_tab_privs where OWNER='SCOTT' and TABLE_NAME='DEPT';

这个语句结果是错误的.......如果角色A,有修改此表的权限,所有具有角色A的用户都被漏掉了。

如果你想查看哪些用户具有DBA权限,你会怎么查?你确定查询结果是正确的?

答:select grantee,granted_role from dba_role_privs where granted_role='DBA';

这个语句结果是错误的......,具体在第三部分测试。

如果你将CONNECT、RESOURCE角色授予某个用户,同时授予SELECT ON SCOTT.DEPT的权限,该如何查看这个用户拥有的权限明细?

答:不好查。

如何对比两个用户的表级权限有无差异?

答:select * from dba_tab_privs where grantee='A' ; select * from dba_tab_privs where grantee='B' ;一看就出来了。

这个语句结果是错误的,如果将角色C授予A,角色D授予B。dba_tab_privs中都不会有记录。如果角色C、D权限不一致,问题就出来了。

看完本文,你就明白为什么了。呵,相信本文可以让您对Oracle的权限管理更加得心应手。

一、通用查询

Oracle目前没有提供查看某个用户所有角色或所有权限的视图。要查看这类信息,,一般通过如下SQL语句:

SQL> select count(*) from session_privs;COUNT(*)---------- 202 SQL> select count(*) from session_roles;COUNT(*)---------- 20 SQL>

这两个视图,只能查看当前连接用户拥有的权限和角色。

DBA如果需要查看其它用户的权限、角色,必须切换用户登入,再执行上述SQL。

慧咨环球
2024-02-09 广告
选择一个适合自己公司的仓库管理系统需要考虑以下几个因素:1. 公司的业务需求:不同公司的业务需求不同,需要选择适合自己业务需求的仓库管理系统。例如,有些公司需要管理多个仓库,有些公司需要管理拣货和打包等操作,有些公司需要管理库存和采购等环节... 点击进入详情页
本回答由慧咨环球提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式