oracle中的权限privilege

前两天工作的时候,突然有了一个很具体需求,想查询当前登录用户A对表B是否有查询权限。然后就在网上找到了一些相关的文章,前面问题的答案也出来了。

查询两个数据字典就可以知道:

1. select * from user_sys_privs;

2. select * from user_tab_privs;


在此总结一下oracle中的权限授予。

用户权限分为system privilege(用于访问数据库)和object privilege(用于操作数据库对象)。

典型的一些system privilege:

create user, drop user, select any table, create any table, drop any table, backup any table, update any table.

CREATE USER user1
IDENTIFIED BY password1;

创建完user之后,就可以给user赋权了

典型的user system privilege:

create session, create table, create sequence, create view, create procedure.

GRANT create session, create table
TO user1;


权限可以赋给user用户,也可以赋给role角色,角色是指一组命名的权限,当然也可以将角色赋给用户。

CREATE ROLE role1;

GRANT create table, create view
TO role1;

GRANT role1 TO user1;

Object privilege用于操作特定的table, view, sequence和procedure.

一些典型的权限select, update, alter, delete, insert, execute, index, references

GRANT update (column1, column2)
ON object1
TO user1, role1
[WITH GRANT OPTION];
也可以赋权给PUBLIC,表示赋权给所有用户,WITH GRANT OPTION表示被授权者可以将权限赋给其他用户和角色。

将权限收回:

REVOKE privilege1|ALL
ON object1 
FROM user1, role1


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值