如何检索用户具有SELECT权限(直接授予或通过指定角色授予)的所有表的列表?

===============>>#1 票数:2

select owner||'.'||table_name from user_tab_privs where privilege='SELECT'
union 
select rtp.owner||'.'||rtp.table_name from user_role_privs urp, role_tab_privs rtp
  where urp.granted_role = rtp.role and rtp.privilege='SELECT'
union
select user||'.'||table_name from user_tables;

===============>>#2 票数:1 已采纳

select table_name from TABLE_PRIVILEGES where grantee='USER' and select_priv='Y'
union
select table_name from  user_tables

  ask by ivan translate from so

未解决问题?本站智能推荐:

2回复

ORACLE查询以查找数据库中所有用户的所有权限/访问

我正在寻找列出所有有权访问特定数据库的用户的查询。 希望与此类似,但要查询Oracle数据库。 SQL Server查询以查找数据库中所有用户的所有权限/访问权限
2回复

我无法使用sqlplus在Oracle数据库中创建视图(权限不足)

我正在运行此SQL: 当我尝试创建视图时,出现以下错误: 第1行发生错误: ORA-01031:权限不足 这是为什么? 我使用sysman登录到sqlplus
3回复

Oracle DBA Privilege是否包含“创建任何表”角色?

我只需要创建一个从用户到同一数据库下任何用户的表。 letz考虑3个模式。 Schema_1,Schema_2和Schema_3。 模式1具有DBA特权。 是否可以从Schema_1中以SChema_2或Schema_3表形式? 还是我们也需要赋予这个角色“ CREAT
2回复

无法在Oracle模式之间交换分区。 ALTER TABLE EXCHANGE受细粒度安全性的限制。 违反领域…豁免访问政策

我有一个执行以下操作的Oracle过程: 从源表中选择一个分区 将记录从该分区插入到交换表中。 (交换表的设计/结构与源匹配) 修改交换表中的记录。 执行“交换分区”以将记录从交换表交换回源。 当过程和所有表都在同一模式中时,这将完美工作:(INBOU
3回复

Oracle SQL Developer使用其他架构访问SYS软件包

我正在使用Oracle SQL Developer尝试访问由SYS创建的给定包,其中FOO模式具有EXECUTE和DEBUG权限,实际上,执行desc会产生以下输出: 问题是该软件包在“ 连接” >“ 我的连接” >“ 软件包”下不可见。 任何反馈将由衷的感谢。 在此
1回复

如何正确管理Web / PL / SQL环境中的用户/权限?

我的团队将开发一个内部(已知用户)应用程序,该应用程序具有基于Java的前端架构和PL / SQL的后端架构。 因此,当前我们正在考虑一种更好的解决方案来管理用户/权限,并且我们有两种选择: 每个用户都有自己的数据库帐户,并被授予权限。 当前,遗留系统使用这种方法,我不喜欢它,因为
1回复

如何检查哪个模式已被授予Oracle对象的EXECUTE权限?

我需要找出哪个模式已经被授予Oracle 10g数据库中某个对象的执行权限(在本例中是一个包)。 这对我来说最简单的方法是什么? 是否有内置函数来提供此信息?
1回复

如何在我刚刚在另一个模式中创建的包中执行过程?

设置:我有两个在Oracle 11g上运行的脚本树 - 一个集合确保正确的实例配置,并且所有DBA代理帐户都在那里连接到dbadmin帐户,另一个集合构建和修改我们的数据库环境。 问题:进入DBADMIN帐户,第二组脚本运行得很好, 除了一个:数据预填充。 允许加载数据的过程在适当的模式
1回复

仅允许更新触发器中的另一个架构

我正在使用Oracle 11gR2,并且有两个模式A和B ,每个模式都有一个相似的CUSTOMER表。 当B.CUSTOMER更新时,我希望A.CUSTOMER发生相同的更新。 模式A具有对模式B的完全特权,但是我希望模式B对模式A拥有尽可能少的特权。 我在模式A中编写了一个过程A
1回复

通过定义角色权限在PL / SQL过程中执行动态DDL

我想在管理员用户拥有的过程中执行一些动态DDL。 我想与具有定义权限的技术操作用户执行此过程(操作用户没有create table角色)。 问题是通过使用角色授予管理员用户“创建表”权限,这不允许我执行DDL,因为似乎角色不计入命名的pl / sql块。 我尝试了什么: