实际应用中,会遇到在某个用户下需要查询另一个用户下的表数据或视图的情况,然而在没有授权时,会提示无权限操作的错误。那就需要通过授权处理后,再能进行查询操作,下面我们来看看是怎么处理的。
一、系统权限说明:
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;
'GRANTSELECTONA.'||TNAME||'TOB;'
-----------------------------