系统权限oracle,【oracle】系统权限、对象权限、角色

grant:授予权限

revoke:撤销权限

系统权限:允许用户执行影响数据字典操作

grant例子:

grant create session,create table to hxw1 with admin option;

revoke例子:

revoke create session,create table from hxw1;

对象权限:允许用户执行影响数据的操作

grant例子:

grant select on scott.emp to hxw1;

revoke例子:

revoke select on scott.emp from hxw1;

角色:是一组系统权限和/或对象权限,可以作为一个单元来授予或撤销。

角色不是模式对象,前面不能加用户名。

/*系统权限*/

/*创建会话:允许用户进行连接*/

CREATE SESSION

/*更改数据库:允许访问多个修改物理结构所需的命令*/

ALTER database

/*更改系统:允许控制实例参数和内存结构*/

ALTER system

/*创建表空间、管理表空间*/

create tablespace

ALTER tablespace

drop tablespace

/*创建表 允许被授权人在自己的模式中创建表,包括更改和删除表*/

CREATE table

/*创建任何表*/

create any table

drop any table

insert any table

update any table

delete any table

select any table

/*授予系统权限的语法*/

grant privilege[,privilege....] to username;

/*例子:*/

grant CREATE SESSION ,ALTER SESSION,CREATE table,CREATE view to username;

/* with admin option:表示huangxuewen也可以把create table权限给别的用户*/

grant create table to huangxuewen with admin option;

conn huangxuewen/zerostudy

/*hxw168可以在自己的模式下创建表*/

grant create table to hxw168;

/*测试*/

SQL> create user hxw1 identified by zerostudy;

User created

SQL> grant create session,create table to hxw1 with admin option;

Grant succeeded

conn hxw1/zerostudy

SQL> create table h1( id number(2),sex char(4),name varchar2(32));

SQL> insert into h1 values(1,'nan','huangxuewen')

2  ;

insert into h1 values(1,'nan','huangxuewen')

*

第 1 行出现错误:

ORA-01950: 对表空间 'MYBASE' 无权限

原因:用户没有resource权限

SQL> grant resource to hxw1;

Grant succeeded

新建用户one1,并用hxw1授权create session ,create table给one1用户

收回hxw1的权限

SQL> revoke create session,create table from hxw1;

Revoke succeeded

SQL>

经过测试one1还保留create session , create table两个系统权限

带with admin option 可以把权限授给别人,huangxuewen授给hxw1时,hxw1也带有session权限,当huangxuewen权限被收回,hxw1的权限还保留有

grant create session to huangxuewen with admin option;

注意:带有admin option 的权限,即使这个用户的系统权限被收回,他授予了权限的任何用户将保留权限

。系统权限的撤销不会级联(与撤销对象权限不同)

对象权限:允许针对表和相关对象执行select insert update delete 命令,这些权限不存在于用户自己模式

的对象中。

权限                授权对象

select              表、视图、序列和同义词

insert              表、视图和同义词

update              表、视图和同义词

delete              表、视图和同义词

ALTER               表和序列

execute             过程、函数、包和同义词

语法如下:

grant privilege on [schema.]object to username [with grant option];

grant select on scott.emp to hxw1;

grant all on scott.emp to one1;

对象权限传递,使用with grant option,可使用户将其对象权限传给第三方,oracle保留着谁将什么样的

权限授予谁的记录。

对象撤销会级联(与系统权限撤销不同)

撤销权限

revoke select on scott.emp from hxw1;

角色:

角色是一组系统权限和/或对象权限,可以作为一个单元来授予或撤销。角色不是模式对象,前面不能

加用户名。

创建角色方法:

create role rolename;

create role myname;

grant create session to myname;

grant select on scott.emp to myname;

create role myname1; /*创建myname1角色,并把myname角色授予给myname1 带with admin option表示也可以授予给别人*/

grant myname to myname1 with admin option;

grant insert on scott.emp to myname1;

角色授给用户:

grant myname to hxw1;

角色创建:

SQL> create role myrole;

Role created

SQL> grant create session to myrole;

Grant succeeded

SQL> grant myrole to hxw1;

Grant succeeded

SQL> select * from dba_role_privs where grantee='HXW1';

GRANTEE                        GRANTED_ROLE                   ADMIN_OPTION DEFAULT_ROLE

------------------------------ ------------------------------ ------------ ------------

HXW1                           RESOURCE                       NO           YES

HXW1                           MYROLE                         NO           YES

/*查看用户拥有什么角色*/

select * from dba_role_privs where grantee='HXW1';

/*查看角色包含的系统权限*/

SQL> select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege;

GRANTEE                        PRIVILEGE

------------------------------ ----------------------------------------

RESOURCE                       CREATE CLUSTER

RESOURCE                       CREATE INDEXTYPE

RESOURCE                       CREATE OPERATOR

RESOURCE                       CREATE PROCEDURE

RESOURCE                       CREATE SEQUENCE

RESOURCE                       CREATE TABLE

RESOURCE                       CREATE TRIGGER

RESOURCE                       CREATE TYPE

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值