您的位置:首页 > 数据库 > Oracle

Oracle权限详解

2010-11-28 07:41 211 查看
oracle的权限 oracle的权限

一、权限概述

  权限是用户对一项功能的执行权力。在Oracle中,根据系统管理方式不同,将权限分为系统权限与实体权限两类。系统权限是指是否被授权用户可以连接到数据库上,在数据库中可以进行哪些系统操作。而实体权限是指用户对具体的模式实体(schema)所拥有的权限。这样讲可以有些模糊,举个例子来说:select any table是系统权限,它表示可以查看任何表。而select on table1是实体权限,表示对表table1的查询权限。

二、系统权限列表

  在这里我们列出所有的权限,并将它们分类。这里只列出权限名,有关权限的详细说明请参考oracle官方参考手册。

1.数据库管理员系统权限(数据库实体管理部分)

ADUIT ANY

CREATE ANY CLUSTER

ALTER ANY CLUSTER

DROP ANY CLUSTER

CREATE ANY INDEX

ALTER ANY INDEX

DROP ANY INDEX

GRANT ANY PRIVILEGE

CREATE ANY PROCEDURE

ALTER ANY PROCEDURE

DROP ANY PROCEDURE

EXECUTE ANY PROCEDURE

ALTER ANY ROLE

DROP ANY ROLE

GRANT ANY ROLE

CREATE ANY SEQUENCE

ALTER ANY SEQUENCE

DROP ANY SEQUENCE

SELECT ANY SEQUENCE

CREATE ANY SNAPSHOT

ALTER ANY SNAPSHOT

DROP ANY SNAPSHOT

CREATE ANY SYSNONYM

DROP ANY SYSNONYM

CREATE ANY TABLE

ALTER ANY TABLE

DROP ANY TABLE

LOCK ANY TABLE

COMMENT ANY TABLE

SELECT ANY TABLE

INSERT ANY TABLE

UPDATE ANY TABLE

DELETE ANY TABLE

CREATE ANY TRIGGER

ALTER ANY TRIGGER

DROP ANY TRIGGER

CREATE ANY VIEW

DROP ANY VIEW

CREATE ANY TYPE

DROP ANY TYPE

CREATE ANY LIBRARY

DROP ANY LIBRARY

2.数据库管理系统权限(数据库维护部分)

ALTER DATABASE

CREATE PROFILE

ALTER PROFILE

DROP PROFILE

ALTER RESOURCE COST

CREATE PUBLIC DATABASE LINK

DROP PUBLIC DATABASE LINK

CREATE ROLE

CREATE ROLLBACK SEGMENT

ALTER ROLLBACK SEGMENT

DROP ROLLBACK SEGMENT

ALTER SYSTEM

CREATE TABLESPACE

ALTER TABLESPACE

MANAGE TABLESPACE

ALTER USER

DROP USER

CREATE SESSION

CREATE PUBLIC SYNONYM

DROP PUBLIC SYNONYM

UNLIMITED TABLESPACE

CREATE ROLE

DROP ROLE

3.数据库开发用户系统权限表

CREATE CLUSTER

DROP CLUSTER

CREATE PROCEDURE

DROP PROCEDURE

CREATE DATABASE LINK

CREATE SYSNONYM

DROP SYNONYM

CREATE SEQUENCE

CREATE SNAPSHOTP

CREATE TABLE

CREATE VIEW

UNLIMITED TABLESPACE

CREATE TYPE

CREATE LIBRARY

三、系统权限授权命令的使用

  语法:

GRANT 权限名 TO 用户|角色|PUBLIC

其中,PUBLIC表示将权限赋给数据库中所有的用户

例:赋给用户USER1权限CREATE TABLE的授权命令如下:

SQL>GRANT CREATE TABLE TO USER1;

授权语句还可以增加WITH ADMIN OPTION选项,表示被授权的用户可以将它所得权限赋给其它用户,如:

SQL>GRANT CREATE TABLE,CREATE VIEW TO USER1,USER2 WITH ADMIN OPTION;

若要了解各用户所拥有的系统权限,可以查询数据字典USER_SYS_PRIVS、ROLE_SYS_PRIVS。

若要回收权限,则使用REVOKE命令,如:

SQL>REVOKE CREATE TABLE FROM USER1;

四、实体权限管理

  实体权限是指某一用户对某一特定schema对象的操作权限。

1.实体权限分类

  不同的实体类型有不同的实体权限,如下表

2.实体权限的授命令

  语法如下:

GRANT 实体权限名|ALL TO 用户|角色|PUBLIC

其中,ALL表示实体的所有实体权限。

如:

SQL>GRANT SELECT ON BOOKS_QUTHORS TO USER1;

以下语句用来查询表的实体权限的授权信息:

SQL>SELECT * FROM USER_TAB_PRIVES

若要回收实体权限,使用REVOKE,其语法如下:

REVOKE 实体权限名|ALL ON 实体名 FROM 用户名|角色名|PUBLIC。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: