oracle授权操作

1、给数据库用户授权(对象为用户表)

GRANT privilege[, ...] ON object[, ...] TO { PUBLIC | GROUP group| username}

详解:
privilege:
select:查询
insert:插入
update:更新
delete:删除
all:所有

--给所有用户授予查询、插入、更新tablename表的权限
grant select,insert,update on tablename to public;

--收回所有用户查询、插入、更新tablename表的权限
revoke select,insert,update on tablename from public;

详解:
object:
table:表
view:视图
sequence:序列
index:索引

举例说明:

grant select,insert,update on tablename,viewname,sequencename,indexname to public;  

public:对所有用户开放权限
GROUP groupname:对该组所有用户开放权限
username:对指定用户开放权限

2、给数据库用户授权(对象多为系统表,如dba可以查看

--创建用户语句:
create user[用户名] identified by password[密码];

--创建后一定要给用户授权:(这里给个登录授权)
grant connect to user[用户名];    

--撤销用户权限
revoke connect from user[用户名];

--查看指定用户有哪些系统权限
select * from dba_role_privs where grantee=upper('username');

--查看指定用户有哪些对象权限
select * from dba_tab_privs where grantee=upper('username');

可能遇到问题:
1、当在一个新建数据库用户上创建表失败时,可以查看系统权限
在当前用户执行select * from dba_role_privs where grantee=upper(‘username’);如果不能执行(提示表或视图不存在),说明没有dba权限
解决方法:可以登录sys账户赋予dba权限
登录sys:sqlplus / as sysdba
给username赋权限:grant dba to username;

权限相关的查询和赋予:
所有权限的赋予均是在有赋予权限的用户下进行,此处授权用户都是sys用户
1、select * from dba_role_privs where grantee=upper(‘luyongpeng’);
其中,admin_option是通过在授权时添加with admin option 选项定义
grant dba to luyongpeng with admin option;//admin_option为YES,如果不加with admin option 选项,则admin_option为NO
使用grant dba to luyongpeng;无法覆盖之前的权限
但grant dba to luyongpeng with admin option 可以覆盖grant dba to luyongpeng;的权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值