Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20934
  • 博文数量: 12
  • 博客积分: 455
  • 博客等级: 下士
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-02 11:31
文章分类

全部博文(12)

文章存档

2010年(12)

我的朋友

分类: Oracle

2010-06-03 13:11:45

GRANT命令是oracle用于授权的命令,授予的权限可分为两类:系统权限和对象权限。系统权限由DBA授予,而对象权限有对象所有者授予。与之对应的收回权限命令REVOKE。
1.系统权限授予
 GRANT命令很复杂涉及的权限很多,下面是一个简单的语法例子。
 
GRANT privilege[,privilege2,...] TO user[,user2,...] [WITH ADMIN OPTION];
  WITH ADMIN OPTION是一个可选项,表示是否可以级联授权,对于此参数来说REVOKE后不会发生级联收回。
 
2.用户权限授予

GRANT privilege,[privilege2,...] | ALL [(column[,column,...])] ON objectname TO user | role | PUBLIC [WITH GRANT OPTION];

    对象权限包括以下项目,ALL关键字为所有对象权限,与系统权限不同,使用REVOKE收回对象权限时发生级联删除。

对象权限
授予对象
SELECT
表、视图、序列
INSERT
表、视图
UPDATE
表、视图
ALTER
表、序列
INDEX
REFERENCES
EXECUTE
过程、函数、程序包
DELETE
表、视图

3.取消系统权限

 
REVOKE privilege [,privilege,...] FROM username [,username,...];
4.取消对象权限

REVOKE privilege,[privilege2,...] | ALL [(column[,column,...])] ON objectname FROM user | role | PUBLIC [CASCADE CONSTRAINTS];


5.新建用户的常用权限
新建用户可赋予两个角色来使用户完成日常的操作,但是RESOURCE角色里的UNLIMITED TABLESPACE权限对系统构成隐患,所以删除此权限。
 
GRANT CONNECT,RESOURCE TO user;
REVOKE UNLIMITED TABLESPACE FROM user;

6.在上述文字上有一PUBLIC关键字,如果讲某个权限赋予PUBLIC,那么所有用户都继承此权限。
阅读(552) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~