日期:2014-05-16  浏览次数:20470 次

Oracle11g权限--对象权限
对象权限: 是指某一个用户对其它用户中表、视图等等数据库模式对象操作的权限。

授予对象权限使用grant 语句
	grant object_provilege[,...]|all [privileges]on
	<schema.> object_name
	to{user_name[,..]|role_name[,...]|public}
	[with grant option]
	a. object_privilege 表示对象权限。
	b. all[privileges]使用all关键字,可以授予对象上的所有权限
	c. schema 用户模式
	d. object_name 对象名称
	e.with grant option 允许用户将该对象权限授予其他用户。

	create user user2 identified by 123456
	grant creat session, creat table, create view to user2;
	grant select on scott.dept to user2; 将scott用户中的dept表的select权限授予user2;

查看权限 对应的数据字典视图如下:

	dba_col_privs  包含db中所有授予表列上的对象那个权限信息。

	all_col_privs_made  包含当前用户作为对象权限的授予者,在所有列上对象昂的权限信息。

	all_col_privs_recd  包含当前用户啊作为对此昂权限接收者,在所有列上的对象权限信息。

	dba_tab_privs  包含db所有的对象权限信息。

	session_privs  包含当前数据库用户可以使用的权限信息。

撤消系统权限:需要使用revoke语句,语法如下:
revoke system_privilege[,...]
from {user_name[;...]|role_name[,..]|public};

撤消对象权限:需要使用revoke语句,语法如下:
	revoke object_privilege[,...]|all[privileges]
	on <schema.>object_name
	from {username[,...]|role_name[,...]|public}
和撤消系统权限不同的是,在撤消某用户的对象权限时,如果该用户将权限授予了其它用户,则其它用户的相应权限也被撤销。