模式级权限
语法格式
授予模式级权限
sql
GrantStmt::=
GRANT sys_privilege [,sys_privilege] IN SCHEMA name TO grantee_list [WITH GRANT OPTION]
回收模式级权限
sql
RevokeStmt::=
REVOKE GRANT OPTION FOR sys_privilege [,sys_privilege] IN SCHEMA name FROM grantee_list
| REVOKE sys_privilege [,sys_privilege] IN SCHEMA name FROM grantee_list
权限信息
sql
sys_privilege::=
{DBA | SSO | AUDITOR | BACKUP DATABASE | BACKUP | RESTORE | RESTORE DATABASE | sys_operation obj_type}
sys_operation::=
{CREATE | CREATE ANY | ALTER ANY | DROP ANY | SELECT ANY | INSERT ANY | UPDATE ANY | DELETE ANY | EXECUTE ANY | REFERENCES ANY | VACUUM ANY | ENCRYPT ANY}
obj_type::=
{DATABASE | SCHEMA | TABLE | SEQUENCE | INDEX | VIEW | PROCEDURE | PACKAGE | TRIGGER | DATABASE LINK | REPLICATION | SYNONYM | PUBLIC SYNONYM | USER | ROLE | JOB}
grantee_list::=
{ROLE UserId | UserId} [{,} {ROLE UserId | UserId}]...
参数说明
sys_privilege
:库级权限。grantee_list
:被授予/回收权限角色组或用户组,可同时授予/回收多个用户或角色,若角色权限授予/回收则角色下的所有用户均自动授予/回收该权限。WITH GRANT OPTION
:权限可转授,权限的赋予和回收是关联的,如将WITH GRANT OPTION用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,权限回收时转授的权限会一同被收回,WITH GRANT OPTION只能在授予对象级和列级权限时使用。REVOKE GRANT OPTION FOR
:回收GRANT语句中指定的WITH GRANT OPTION
的转授权限,用户仍然具有该权限,但是不能将该权限转授予其他用户。sys_operation
:操作类型,包含 DDL、DML 类型,如:CREATE
、ALTER
、DROP
、INSERT
、DELETE
、UPDATE
、SELECT
等,若选择ANY参数则表示被授权对象可跨模式进行操作,否则只能在其所有模式进行相应操作。obj_type
:表示操作对象类型,包含TABLE
、VIEW
、PROCEDURE
等。(SYNONYM
为私有同义词、PUBLIC SYNONYM
为全局同义词 )
示例
授予角色role_1在模式SYSDBA下的创表权限。
sql
GRANT CREATE ANY TABLE IN SCHEMA SYSDBA TO role_1;