oracle中有没有赋予一个用户查询另一个用户所有表的权限
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中有没有赋予一个用户查询另一个用户所有表的权限相关的知识,希望对你有一定的参考价值。
你好:下面语句中有你需要的这个权限:selectany
table(如果针对单个用户的表话,这个没有,只能一个表一个表的授权)
创建用户并授权
上接第一步。
在SQL>后面输入创建用户的语句:
create
user
vpetl
identified
by
vpetl
default
tablespace
TBS_ETL_DATA;
回车,出现“User
created.”表示用户创建成功。
在SQL>后面输入给用户授权的语句:
grant
connect,resource,alter
system,debug
connect
session,select
any
table,delete
any
table,drop
any
table,alter
any
table
to
vpetl;
回车,出现“Grant
succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant
execute
on
DBMS_LOCK
to
vpetl;
回车,出现“Grant
succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant
select
on
v_$session
to
vpetl;
回车,出现“Grant
succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant
select
on
v_$ACCESS
to
vpetl;
回车,出现“Grant
succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant
alter
system
to
vpetl;
回车,出现“Grant
succeeded.”表示给用户授权成功。
在SQL>后面输入给用户授权的语句:
grant
insert
any
table,update
any
table
to
vpetl;
回车,出现“Grant
succeeded.”表示给用户授权成功。 参考技术A 可以将查询系统所有表的权限赋给另外一个用户。这个权限很大(使用sysdba授予),被授予的用户可以访问系统内的任意表。
grant
select
any
table
to
test(用户名需要查询表的用户);
使用用户test去访问别的用户下(如test2)的t表的时候
select
*
from
test2.t(表名);
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中有没有赋予一个用户查询另一个用户所有表的权限的主要内容,如果未能解决你的问题,请参考以下文章