Oracle11g权限--系统权限

用户权限
1.权限:数据库中执行某种操作的权力,是预先定义好的,执行某种SQL语句或访问其他用户模式对象的能力。
  创建一个用户,表示该用户具有了连接和操作数据库的资格,但是要对数据库进行实际操作,则该用户还需要具有相应的操作权限。
  权限的分类(按照系统管理方式的不同,权限分为两类:系统权限和对象权限)

系统权限: 在系统级控制数据库的存取和使用机制。系统级控制决定是否可以连接到数据库,在数据库中可以进行哪些操作等。
如:创建会话,创建表,创建视图和创建用户等。DBA在创建一个用户时,可以将其中的一些权限授予用户。
    系统权限是针对用户来设置的,用户必须被授予相应的系统权限,才可以连接到数据库中进行相应的操作。
    在Oracle数据库中,用户system和sys 都是数据库管理员,具有DBA所有系统权限,包括select any dictionary权限。所以system和sys可以查询数据字典中以DBA_开头的数据字典。

系统权限部分如下:
	create session 连接数据库
	create tablespace 创建表空间
	alter tablespace 修改表空间
	drop tablespace	删除表空间
	create user	创建用户
	drop user	删除用户
	create table 创建表
	create any table 在任何用户模式中创建表
	drop any table	删除任何用户模式中的表

	alter any table 修改任何用户模式中的表
	select any table 查询任何用户模式中的基本表记录
	insert any table 向任何用户模式中的表插入记录
	update any table 修改任何用户模式中的表
	delete any table 删除任何用户模式中表

	create view 创建视图
	create any view 在任何用户模式中创建视图
	drop any view 删除任何用户模式中的视图
	
	create role 创建角色
	alterany role 修改任何角色
	grant any role 将任何角色授予其他用户

	alter database 修改数据库结构
	create procedure 创建存储过程
	create any procedure 在任何用户模式中创建存储过程
	alter any procedure  修改任何用户模式中的存储过程
	drop any procedure 删除任何用户模式中的存储过程

	create profile  创建配置文件
	alter profile 修改该配置文件
	drop profile 删除配置文件

b. 向用户授予系统权限(使用grant语句)
grant system_privilege [,...] to
{user_name [,...]|role_name [,...]|public}
[with admin option];
1> system_privilege表示系统权限,如create table。中间用逗号分开
2> user_name 被授予权限的用户,可以是多个用户;
3> role_name 也可以将系统权限授予某些角色
4> public 表示Oracle系统所有用户
5> with admin option 如果指定,则被授予权限的用户可以将该权限再授予其他用户。

c. 查询用户所具有的系统权限
   可以通过视图user_sys_privs来了解。
1> username 当前用户的用户名
2> privilege 当前也难怪乎拥有的系统权限
3> admin_option 当前用户是否有权力将该权限授予其他用户。

grant dba to user_name;

猜你喜欢

转载自wkf41068.iteye.com/blog/1924710