实际应用中,会遇到在某个用户下需要查询另一个用户下的表数据或视图的情况,然而在没有授权时,会提示无权限操作的错误。那就需要通过授权处理后,再能进行查询操作,下面我们来看看是怎么处理的。


一、系统权限说明:

1、用户权限

CREATE SESSIOIN 连接到数据库

CREATE TABLE    在用户的方案中创建表

CREATE SEQUENCE 在用户的方案中创建序列

CREATE VIEW     在用户的方案中创视图

CREATE PROCEDURE在用户的方案中创建存储过程,函数或包


1.1、例子:授予系统权限

DBA能够授予用户指定的系统权限

GRANT create session,create table,

       create sequence,create view

 TO scott;


二、创建用户只用于查询其它用户库的表和视图

1、创建用户

create user 用户名 identified by 密码;
grant connect,select any table to 用户名;
这样创建的用户就可以连接数据库和只有对任何表有查询权限了

grant connect to 用户名  //只有连接权限

2、授权查询表与视图权限

2.1、a用户下授权查询所有表给b用户(a用户登录执行下面语句)

select 'grant select on a.' || tname || ' to b;' from tab;
'