oracle 创建只有查询表权限的用户

本文详细介绍了两种方法在Oracle数据库中创建只具有查询权限的用户。方法一是直接为用户授予连接、特定表和所有表的查询权限,并创建同义词。方法二是通过创建只读角色,然后将该角色分配给用户,同样可以实现用户只拥有查询权限。在每个步骤中,还提供了权限查询和回收的示例代码。
摘要由CSDN通过智能技术生成

方法1:

创建只读用户

select * from user_tablespaces

第一步、创建用户。使用有管理员权限的用户创建一个新的用户:
create user 用户名 identified by 密码 default tablespace 表空间;
 
 第二步、赋连接权限:
grant connect to 用户名;
  
第三步、赋表权限 
owner  主用户
grant select on owner.表名 to 用户名;
 
如果有多表,可以用selece转换批量执行语句:
select 'grant select on '||owner||'.'||object_name||' to 用户名;'
from dba_objects
where owner in ('owner')
and object_type='TABLE';

如果想赋予所有表

grant select any table to 用户名;
   
第四步、创建同义词:创建同义词后,可以不用加 owner. 直接访问表
create or replace SYNONYM 用户名.表名 FOR owner.表名;
  
如果有多表,可以用selece转换批量执行语句:
SELECT 'create or replace SYNONYM  用户名.'||object_name||' FOR '||owner||'.'||object_name||';'  from dba_objects 
where owner in ('owner')
and object_ty

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值