oracle11g下创建只读用户
2014年11月04日 15:07:24 阅读数:6369
目的:创建一个用户(t1),可以访问其他用户(t2)下的表,但只能查询,不能增、删改。
1、用管理员用户创建一个新用户:t1,密码:t1 ,默认表空间:T
create user t1 identified by t1 default tablespace T;
2、给 t1 用户付权限
grant connect to t1 ; grant create synonym to t1;
3、给t1用户付查询表的权限,可以查询t2下的所有表,下面是批量执行语句。
select 'grant select on '||owner||'.'||object_name||' to t1;'
from dba_objects where owner in ('t2') and object_type='TABLE'; 4、为t1创建同义词,可以在管理员下,也可在t1用户下执行。 SELECT 'create or replace SYNONYM t1. ' || object_name|| ' FOR ' || owner || '.' || object_name|| ';' from dba_objects where owner in ('t2') and object_type='TABLE';5、测试
在t1下,select表即可,可在同义词下看到很多创建成功的同义词。