Oracle数据创建只读用户

第一步:利用管理员权限登陆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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值