第一步:利用管理员权限登陆sqlplus,创建用户
create user 新用户 identified by 密码;
第二步:为新用户赋予权限
/** 连接权限 */
grant connect to 新用户;
/** 创建同义词权限 */
grant create synonym to 新用户;
第三步:为reader用户赋查询表权限
①为指定表赋予权限
grant select on 原用户.表名 to 新用户;
②如想为所有表赋值可查权限,先执行下面语句产生sql,然后依次执行
//注意此时原用户必须大写,否则获得结果为空
select 'grant select on '||owner||'.'||object_name||' to 新用户;'
from dba_objects
where owner in ('原用户') and object_type='TABLE';
如下图:
第四步、创建同义词:
①创建一个表的同义词
create or replace synonym 新用户.表名 for 原用户.表名;
②如果想创建所有表的同义词,运行如下语句,获得所有表的同义词并依次执行
select 'create or replace synonym 新用户.'||object_name||' for '||owner||'.'||object_name||';'
from dba_objects
where owner in ('原用户') and object_type='TABLE';
如下图:
select * from tablename
因篇幅问题不能全部显示,请点此查看更多更全内容