博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

oracle命令-权限

Posted on 2007-06-20 10:29  徐正柱-  阅读(1741)  评论(1编辑  收藏  举报

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。