重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8120|回复: 1
打印 上一主题 下一主题

如何查看oracle指定表都有哪些人可以访问?

[复制链接]
跳转到指定楼层
楼主
发表于 2012-6-17 19:57:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

这个问题,经常遇到有人问,我的表被人修改了,那么哪些人可以访问这个表呢,能否进行查询,答案是肯定的,我们可以使用数据字典来进行查询:

比如,我们想查看哪些人有权访问departments表:

1.创建用户

sql>conn / as sysdba;

sql> create user zq identified by zq;

sql> grant connect to zq;

sql> create user sztech identified by sztech;
sql> grant connect to sztech;
2.授权给zq带grant option

sql>conn hr/hr;

sql>grant select on departments to zq with grant option;

 

3.zq授权给sztech

sql>conn zq/zq

sql> grant select on departments to sztech;

 

4.检查departments表哪些用户可以访问

sql>conn hr/hr;

sql>

select lpad(grantee,length(grantee)+2*(level-1),'_')  as grantee
from user_tab_privs_made
where table_name='DEPARTMENTS'
start with grantor='HR'
CONNECT BY PRIOR grantee=grantor;

 

以上语句,我们使用了分层查询语句,把传递授权都可以直观的显示出来.

 

GRANTEE
--------------------------------------------------------------------------------
OE
R_AUTH
ZQ
__SZTECH

 

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
发表于 2012-6-19 11:45:27 | 只看该作者
呵呵  收藏了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-6-28 23:57 , Processed in 0.089484 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表