oracle中有没有赋予一个用户查询另一个用户所有表的权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中有没有赋予一个用户查询另一个用户所有表的权限相关的知识,希望对你有一定的参考价值。
本身没有,不过组合语句能够比较简单的实现
select 'alter select ' ||owner||'.'||table_name||' to AAA;' FROM dba_tables where owner='BBB';
然后把这些查询结果复制出来执行就行了。字段名称我可能写错了,很久没这么写了。 参考技术A 方法一: 给这个用户dba权限就可以查询其他所有用户的表
grant dba to scott;
select * from a.tables;
方法二:
1 通过select语句得到授权所有表的脚本
select 'GRANT SELECT ON A.'||object_name||' to B;' from dba_objects where owner='A' and object_type='TABLE';
2 执行脚本
grant select on a.t1 to b;
grant select on a.t2 to b;
......................................
grant select on a.tn to b;本回答被提问者和网友采纳 参考技术B grant select on a.table to b
oracle赋予一个用户具有查询另一个用户所有表数据
一 以需要被查询的用户登录oracle(假如为A) B为要查询A用户下的表的用户
二 执行查询语句: select ‘grant select on A.‘|| tname ||‘ to B;‘ from tab;
以下为模拟结果:
- grant select on A.DEPT to B;
- grant select on A.EMP to B;
- grant select on A.BONUS to B;
- grant select on A.SALGRADE to B;
- grant select on A.AVGSAL to B;
- grant select on A.BOOK to B;
- grant select on A.TEST_INDEX to B;
- grant select on A.TB_EMPLOYEES to B;
...
三 将结果复制
四 登录system用户
五 打开sqlwindow ,粘贴,运行。
可以将select换成all就是这些表的所有权限都赋予给B
以上是关于oracle中有没有赋予一个用户查询另一个用户所有表的权限的主要内容,如果未能解决你的问题,请参考以下文章