系统权限和对象权限简析

本文详细介绍了SQL中系统权限和对象权限的授予、回收方法,包括如何创建用户、指定资源使用限制、以及如何通过系统和对象层级授予或收回各种权限。重点展示了如何灵活地在不同用户间分配权限,以及权限管理的最佳实践。

SQL> select * from v$version where  rownum=1;




BANNER
-------------------------------------------------------------------------------




Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
系统权限:
语法:grant privilege[,privilege....]TO<用户名>[with admin option];
创建一个用户:
CREATE USER 用户名称IDENTIFIED BY 密码  DEFAULT TABLESPACE 表空间名
TEMPORARY TABLESPACE temp;                                                                                              ==>create user diy  identified by diy default tablespace users quota 10m on users quota;这里延伸                                                                                                                                                                     下,我们创建用户时,可以指定用户可以使用的表空间的大小,这里指定是10m
                                                                                                                                                          当然我们也可以:create user wang identified by wang default tablespace users default temporary                                                                                                                                                                       tablespace temp1 password expired(密码过期)account lock(账户锁定)这里设定是每次登陆数据库                                                                                                                                                               时,都要设置密码,而且账户被锁定了。
SQL> create user diy identified by diy;


用户已创建。


授予用户的系统权限举例:
GRANT CONNECT, RESOURCE(用户可以使用表空间),DBA ,UNLIMITED TABLESPACE, CREATE VIEW,CREATE ANY PROCEDURE, DEBUG ANY PROCEDURE,DEBUG CONNECT SESSIONTO用户名称;


SQL> grant create table,resource,create session to diy;

授权成功。

收回权限:

revoke  create  session  from  diy;
我们可以通过with admin option,diy用户可以把权限授予给其他用户:
SQL> grant create session to diy with admin option;
授权成功。

SQL> show user;
USER 为 "DIY"
SQL> grant create session to hr;
授权成功。
这里说明一下:diy把create session 权限授予给了hr,此时dba收回了diy的create  session 权限,但是hr的create session不会被收回。
我们也可以给用户授予执行过程的权限:
GRANT EXECUTE ON  produrce_diy TO 用户名称;
select * from dba_sys_privs where grantee=' ';(系统权限)
select * from system_privilege_map;(系统具有的系统权限)


对象权限:

通过用户直接授予:

SQL> show user;

HR

SQL> grant select on w to diy


授权成功。

收回权限:revoke select on w from diy;

通过sys授予:

SQL> show user;

USER 为 "SYS"

SQL> grant select on hr.w to diy;

授权成功。

收回权限:

SQL> revoke select on hr.w from diy;

撤销成功。

注意:此时若diy把该权限授予给其他用户(给diy授权时已添加了with  admin  option参数),回收了diy了select权限后,那其他用户select    hr.w的权限也被回收了。

select * from dba_tab_privs where grantee=' ';(对象权限)
select * from user_sys_privs where grantee=' ';

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值