Oracle基础笔记十二

第十二章 用户控制权限


1.权限:

数据库安全性:系统安全性和数据安全性

系统权限: 对于数据库的权限

对象权限: 操作数据库对象的权限


2.系统权限

超过一百多种有效的权限

数据库管理员具有高级权限以完成管理任务,例如:

创建新用户

删除用户

删除表

备份表


2.1

DBA 使用 CREATE USER 语句创建用户

CREATE USER user                 

IDENTIFIED BY   password;


CREATE USER  scott

IDENTIFIED BY   tiger;


2.2

用户创建之后, DBA 会赋予用户一些系统权限

GRANT privilege [, privilege...]

TO user [, user| role, PUBLIC...];


以应用程序开发者为例, 一般具有下列系统权限:

CREATE SESSION(创建会话)

CREATE TABLE(创建表)

CREATE SEQUENCE(创建序列)

CREATE VIEW(创建视图)

CREATE PROCEDURE(创建过程)


DBA 可以赋予用户特定的权限

GRANT  create session, create table, 

       create sequence, create view

TO     scott;


2.3创建用户表空间,用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表

ALTER USER atguigu01 QUOTA UNLIMITED 

ON users


3.角色

创建角色

CREATE ROLE manager;

为角色赋予权限

GRANT create table, create view  

TO manager; 

将角色赋予用户

GRANT manager TO DEHAAN, KOCHHAR;     


修改密码:DBA 可以创建用户和修改密码,用户本人可以使用 ALTER USER 语句修改密码

ALTER USER scott              

IDENTIFIED BY lion;


4.对象权限

不同的对象具有不同的对象权限

对象的拥有者拥有所有权限

对象的拥有者可以向外分配权限

GRANT object_priv [(columns)]

 ON object

 TO {user|role|PUBLIC}

 [WITH GRANT OPTION];


4.1分配对象权限

分配表 EMPLOYEES 的查询权限

GRANT  select

ON     employees

TO     sue, rich;


分配表中各个列的更新权限

GRANT  update 

ON     scott.departments

TO     atguigu


WITH GRANT OPTION 使用户同样具有分配权限的权利

GRANT  select, insert

ON     departments

TO     scott

WITH   GRANT OPTION;


向数据库中所有用户分配权限

GRANT  select

ON  alice.departments

TO  PUBLIC;


数据字典视图 描述

ROLE_SYS_PRIVS 角色拥有的系统权限

ROLE_TAB_PRIVS 角色拥有的对象权限

USER_ROLE_PRIVS 用户拥有的角色

USER_TAB_PRIVS_MADE 用户分配的关于表对象权限

USER_TAB_PRIVS_RECD 用户拥有的关于表对象权限

USER_COL_PRIVS_MADE 用户分配的关于列的对象权限

USER_COL_PRIVS_RECD 用户拥有的关于列的对象权限

USER_SYS_PRIVS 用户拥有的系统权限


收回对象权限

使用 REVOKE 语句收回权限

使用 WITH GRANT OPTION 子句所分配的权限同样被收回

REVOKE  select, insert

ON      departments

FROM    scott;




本文出自 “阿成的博客” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。