Oracle创建只读账户

发布于 2020-08-06  2804 次阅读


/** 创建用户 reader **/
create user rwzw_read_only identified by rwzw;

/** 连接权限 */
grant connect to rwzw_read_only;

/** 创建同义词权限 */
grant create synonym to rwzw_read_only;

/*给用户赋予只读权限/
grant select_catalog_role,create session to rwzw_read_only;

/** 为查询所有表赋权 **/
-- 下面的sql语句是用来生成批量执行语句的,生成的语句全部执行后即可完成对reader进行所有表查询权限的赋权
select 'grant select on '||owner||'.'||object_name||' to rwzw_read_only;'
from dba_objects
where owner in ('RWZW') and object_type='TABLE';

/** 为所有表创建同义词 **/
-- 下面的sql语句是用来生成批量执行语句的,生成的语句全部执行后即可完成对所有表创建同义词,由于这里用到管理员权限才能查询到的内容,因此执行这个需要管理员权限
select 'create or replace synonym rwzw_read_only.'||object_name||' for '||owner||'.'||object_name||';'
from dba_objects
where owner in ('RWZW') and object_type='TABLE';


个人博客,用于记录工作日常的问题。