linux环境下oracle数据库创建一个只有查询权限的用户

一、Linux下登录oracle

1、切换至oracle用户   su - oracle

2、登录数据库

sqlplus /nolog

conn / as sysdba(sysdba为管理员)

查看当前登录数据库用户 show user

二、创建新用户

create user user1 identified by global
default tablespace ODPS
temporary tablespace temp profile default;

说明:我创建的新用户为user1   表空间是之前创建好的ODPS

赋于user1连接权限: grant connect to user1;

三、授权

1、以需要被查询的用户登录oracle(假如为user2)   user1为要查询user2用户下表的用户

2、执行查询语句: select 'grant select on user2.'|| tname ||' to  user1;' from tab;

以下为模拟结果:

  1. grant select on user2.DEPT to  user1; 
  2. grant select on user2.EMP to  user1; 
  3. grant select on user2.BONUS to  user1; 
  4. grant select on user2.SALGRADE to  user1; 
  5. grant select on user2.AVGSAL to  user1; 

3、将步骤2中的结构复制出来,使用user2用户登录oracle(conn user2/1234),将步骤2中的结果粘贴运行后就将select权限授权给了user1

四、使用管理员用户登录数据库

1、conn / as sysdba

2、将同义词权限授权给user1

grant create synonym to user1;

五、使用user2用户登录数据库

1、conn user2/1234

2、select 'create synonym '||table_name ||' for user2.'|| table_name ||';' fr
om user_tables;

模拟结果如下:

create synonym DEPT for user2.DEPT;
create synonym EMP for user2.EMP;
create synonym BONUS for user2.BONUS;

3、使用新用户登录数据库   conn user1/global

运行步骤2 中的同义词查询结果

SQL> create synonym DEPT for user2.DEPT;
同义词已创建。
SQL> create synonym EMP for user2.EMP;
同义词已创建。

六、在当前窗口或者登录pl/sql进行查询验证

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值