在开发环境,为了防止误操作数据,我想建立一个oralce的只读用户,提供给别人使用。
使用system用户登录
1) 新建一个用户, create user testread identified by restread default tablespace test;
2) 授予此用户connect权限
grant connect to testread ;
grant create view ,create procedure to testread;
3) 授予用户select on 权限
select 'grant select on '||owner||'.'||object_name||' to readest;'
from dba_objects
where owner in ('OA','..','...')
and object_type='TABLE';
4) 建立同义词或者视图
SELECT 'CREATE SYNONYM "' || a.object_name|| '" FOR "' || a.owner || '"."' || a.object_name|| ';" from dba_objects
where owner in ('OA','..','...')
and object_type='TABLE';
5 ) readtest用户就可以开放给别人使用啦,别人只能看,不能改。