ORACLE用户、授权与同义词的应用示例

项目上经常会有这样的需求:与其他系统对接,需要提供某些数据给对方访问,对方不能访问到库中其他的表。碰到这样的情况,我们就可以通过用户授权、创建同义词来达到要求。

1、首先创建一个新的用户,并赋予用户链接数据库的权限:

SQL>create user 用户名 identified by 密码;

SQL>grant create session to 用户名;

2、以应用服务的用户连接数据库,并对某张表赋予权限给新的用户访问:

conn 应用服务用户/密码;

SQL>grant select on 表名/视图名 to 用户名;--查询权限

SQL>grant all on 表名 to 用户名;--所有权限

这里只给查询权限

3、连接新增的用户访问应用服务的表:

SQL>conn 用户名/密码;

SQL>select * from 应用服务用户.表名;

4、创建同义词:

首先要一管理员身份登录系统给新用户创建同义词的权限:

SQL>grant create synonym to 用户名;

再以新增的用户连接并创建同义词:

SQL>create synonym 名称 for 应用服务用户.表名;

备注:

创建同义词语法结构:

CREATE [OR REPLACE] [PUBLIC] SYSNONYM [当前用户.]synonym_name

FOR [其他用户.]object_name;

Oracle synonym 同义词按照访问权限分为私有同义词、公有同义词。

私有同义词:私有同义词只能当前用户可以访问,前提:当前用户具有create synonym 权限。

公有同义词:公有同义词只能具有DBA用户才能进行创建,所有用户都可以访问的。

同义词删除语法结构:

DROP [PUBLIC] SYNONYM [用户.]sysnonym_name;

同义词删除只能通过同义词拥有者的用户或者具有DBA权限的用户才能删除。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值