Oracle的用户权限有哪些
系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等(对用户而言)
对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等(是针对表或视图而言的)
1.系统权限
超过一百多种有效的权限(SELECT * FROM SYSTEM_PRIVILEGE_MAP查)
数据库管理员具有高级权限以完成管理任务,例如:
- 
	
–创建新用户
 - 
	
–删除用户
 - 
	
–删除表
 - 
	
–备份表
 
系统权限分类:
- 
	
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
 - 
	
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
 - 
	
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
 - 
	
对于普通用户:授予connect, resource权限。
 - 
	
对于DBA管理用户:授予connect,resource, dba权限。
 
a.常用的系统权限:
- 
	
CREATE SESSION 创建会话
 - 
	
CREATE SEQUENCE 创建序列
 - 
	
CREATE SYNONYM 创建同名对象
 - 
	
CREATE TABLE 在用户模式中创建表
 - 
	
CREATE ANY TABLE 在任何模式中创建表
 - 
	
DROP TABLE 在用户模式中删除表
 - 
	
DROP ANY TABLE 在任何模式中删除表
 - 
	
CREATE PROCEDURE 创建存储过程
 - 
	
EXECUTE ANY PROCEDURE 执行任何模式的存储过程
 - 
	
CREATE USER 创建用户
 - 
	
DROP USER 删除用户
 - 
	
CREATE VIEW 创建视图
 
2.对象权限
不同的对象具有不同的对象权限
对象的拥有者拥有所有权限
对象的拥有者可以向外分配权限
ORACLE一共有种对象权限
对象权限 表 视图 序列 过程
- 
	
修改(alter)
 - 
	
删除(delete)
 - 
	
执行(execute)
 - 
	
索引(index)
 - 
	
插入(insert)
 - 
	
关联(references)
 - 
	
选择(select)
 - 
	
更新(update)
 
另外,connect和resource的权限如下所示
CONNECT角色:仅具有创建SESSION的权限
RESOURCE角色:仅具有创建CLUSTER,INDEXTYPE,OPERATOR,PROCEDEURE,SEQUENCE,TABLE,TRIGGER,TYPE的权限。
同时,当把ORACLE resource角色授予一个user的时候,不但会授予ORACLE resource角色本身的权限,而且还有unlimited tablespace权限,但是,当把resource授予一个role时,就不会授予unlimited tablespace权限。
确实没有创建视图的权限,由此看来如果需要创建视图权限,只能单独授权:
GRANT CREATE VIEW TO 用户;

