#系统特权管理
# 系统特权的作用
系统特权是一类可支持执行某种系统级操作的权限,可能作用于对象,也可能作用于数据库级别的操作。
通过DBA_SYS_PRIVS视图可查看当前系统中所有授权的系统特权信息。
系统特权的功能十分广泛,请慎重授权。通常仅由管理员授予系统特权,保证被授权者是可信的用户或角色。
# 系统管理类系统特权
| 权限名称 | 描述 |
|---|---|
| ALL PRIVILEGES | 具备所有的系统特权 |
| 数据库与会话: | |
| ALTER SYSTEM | 具备更改system级别参数及设置的权限 |
| ALTER DATABASE | 具备更改database级别参数及设置的权限 |
| ALTER SESSION | 具备更改session级别参数及设置的权限 |
| CREATE SESSION | 具备用户登录的权限 |
| AUDIT SYSTEM | 具备创建、修改、使能、去使能、删除审计策略的权限 |
| 表空间: | |
| CREATE TABLESPACE | 具备创建表空间的权限 |
| ALTER TABLESPACE | 具备修改表空间属性的权限 |
| DROP TABLESPACE | 具备删除表空间的权限 |
| UNLIMITED TABLESPACE | 具备在保证表空间为其他用户预留空间足够的前提下, 该权限的拥有者在任意表空间上分配空间无限制,该权限不能授权给角色 |
# 安全管理类系统特权
| 权限名称 | 描述 |
|---|---|
| 权限管理: | |
| GRANT ANY PRIVILEGE | 具备GRANT任意系统特权的权限 |
| GRANT ANY OBJECT PRIVILEGE | * 可以GRANT任意对象特权,以代替对象owner的形式 * 可以代替对象owner,发起revoke对象特权操作 |
| GRANT ANY ROLE | 具备GRANT任意角色的权限 |
| 用户与角色: | |
| CREATE USER | 具备创建用户的权限 |
| ALTER USER | 具备更改用户各类属性的权限 |
| DROP USER | 具备删除用户的权限 |
| CREATE ROLE | 具备创建用户自定义角色的权限 |
| DROP ANY ROLE | 具备删除用户自定义角色的权限 |
# 对象操作类系统特权
| 权限名称 | 描述 |
|---|---|
| 表: | |
| INSERT ANY TABLE | 具备对数据库中(sys schema除外)任意表插入数据的权限 |
| SELECT ANY TABLE | 具备对数据库中(sys schema除外)任意表、视图、动态视图、物化视图发起查询的权限;动态视图暂不受限 |
| UPDATE ANY TABLE | 具备对数据库中(sys schema除外)任意表更新数据的权限 |
| DELETE ANY TABLE | 具备对数据库中(sys schema除外)任意表进行删除数据的权限 |
| READ ANY TABLE | 具备对数据库中(sys schema除外)任意表进行查询的权限,但不能加锁查询 |
| CREATE TABLE | 具备在用户自己的schema下创建表的权限 |
| CREATE ANY TABLE | 具备在任意schema下创建表(sys schema除外)的权限 |
| ALTER ANY TABLE | 具备对数据库中任意表发起ALTER操作(sys schema除外)的权限 |
| DROP ANY TABLE | 具备删除数据库中任意表定义(sys schema除外)的权限 |
| FLASHBACK ANY TABLE | 具备对数据库中任意表发起闪回查询(sys schema除外)的权限 |
| COMMENT ANY TABLE | 具备对数据库中任意表进行注释(sys schema除外)的权限 |
| 索引: | |
| CREATE ANY INDEX | 具备对数据库中任意表创建索引(sys schema除外)的权限 |
| ALTER ANY INDEX | 具备对数据库中任意索引修改属性(sys schema除外)的权限 |
| DROP ANY INDEX | 具备删除数据库中任意索引(sys schema除外)的权限 |
| 序列: | |
| CREATE SEQUENCE | 具备在用户自己的schema下创建sequence的权限 |
| CREATE ANY SEQUENCE | 具备在任意schema下创建sequence(sys schema除外)的权限 |
| ALTER ANY SEQUENCE | 具备对数据库中任意sequence修改属性(sys schema除外)的权限 |
| DROP ANY SEQUENCE | 具备删除数据库中任意sequence(sys schema除外)的权限 |
| SELECT ANY SEQUENCE | 具备对数据库中任意sequence发起查询(sys schema除外)的权限 |
| 同义词: | |
| CREATE SYNONYM | 具备在用户自己的schema下创建私有synonym的权限 |
| CREATE ANY SYNONYM | 具备在任意schema下创建私有synonym(sys schema除外)的权限 |
| CREATE PUBLIC SYNONYM | 具备创建public synonym的权限 |
| DROP ANY SYNONYM | 具备删除任意私有synonym(sys schema除外)的权限 |
| DROP PUBLIC SYNONYM | 具备删除public synonym的权限 |
| 视图: | |
| CREATE VIEW | 具备在用户自己的schema下创建视图的权限 |
| CREATE ANY VIEW | 具备在任意schema下创建视图(sys schema除外)的权限 |
| DROP ANY VIEW | 具备删除任意视图的权限 |
| 自定义类型: | |
| CREATE TYPE | 具备在用户自己的schema下创建自定义类型的权限 |
| CREATE ANY TYPE | 具备在任意schema下创建自定义类型(sys schema除外)的权限 |
| ALTER ANY TYPE | 具备修改任意schema下自定义类型的属性(sys schema除外)的权限 |
| DROP ANY TYPE | 具备删除任意schema下自定义类型(sys schema除外)的权限 |
| EXECUTE ANY TYPE | 具备执行任意自定义类型(sys schema除外)的权限 |
| UNDER ANY TYPE | 具备在非最终的OBJECT类型下创建子类型的权限 |
| 存储过程: | |
| CREATE PROCEDURE | 具备在用户自己的schema下创建过程体或函数的权限 |
| CREATE ANY PROCEDURE | 具备在任意schema下创建过程体或函数(sys schema除外)的权限 |
| ALTER ANY PROCEDURE | 具备修改任意schema下过程体或函数的属性(sys schema除外)的权限 |
| DROP ANY PROCEDURE | 具备删除任意过程体或函数(sys schema除外)的权限 |
| EXECUTE ANY PROCEDURE | 具备执行任意过程体或函数(sys schema除外)的权限 |
| 触发器: | |
| CREATE TRIGGER | 具备在用户自己的schema下创建触发器的权限 |
| CREATE ANY TRIGGER | 具备在任意schema下创建触发器(sys schema除外)的权限 |
| ALTER ANY TRIGGER | 具备修改任意schema下触发器的属性(sys schema除外)的权限 |
| DROP ANY TRIGGER | 具备删除任意schema下触发器(sys schema除外)的权限 |
| ADMINISTER DATABASE TRIGGER | 具备管理数据库级别触发器的权限 |
| 自定义库: | |
| CREATE LIBRARY | 具备在用户自己的schema下创建自定义库的权限 |
| CREATE ANY LIBRARY | 具备在任意schema下创建自定义库的权限 |
| DROP ANY LIBRARY | 具备删除任意自定义库(sys schema除外)的权限 |
| EXECUTE ANY LIBRARY | 具备创建外置UDF时使用任意自定义库(sys schema除外)的权限 |
| 数据库链接: | |
| CREATE DATABASE LINK | 具备创建私有数据库链接的权限 |
| CREATE PUBLIC DATABASE LINK | 具备创建公有数据库链接的权限 |
| ALTER DATABASE LINK | 具备修改私有数据库链接的权限 |
| ALTER PUBLIC DATABASE LINK | 具备修改公有数据库链接的权限 |
| DROP DATABASE LINK | 具备删除私有数据库链接的权限 |
| DROP PUBLIC DATABASE LINK | 具备删除公有数据库链接的权限 |
| 物化视图: | |
| CREATE MATERIALIZED VIEW | 具备在用户自己的schema下创建物化视图的权限 |
| CREATE ANY MATERIALIZED VIEW | 具备在任意schema下创建物化视图 (sys schema除外)的权限 |
| ALTER ANY MATERIALIZED VIEW | 具备对数据库中任意物化视图发起ALTER操作 (sys schema除外)的权限 |
| DROP ANY MATERIALIZED VIEW | 具备在任意schema下删除物化视图 (sys schema除外)的权限 |
| 目录: | |
| CREATE ANY DIRECTORY | 具备创建任意目录对象的权限 |
| DROP ANY DIRECTORY | 具备删除任意目录对象的权限 |
# 其他系统特权
| 权限名称 | 描述 |
|---|---|
| 存储纲要: | |
| CREATE ANY OUTLINE | 具备创建任意存储纲要的权限 |
| ALTER ANY OUTLINE | 具备修改任意存储纲要的属性的权限 |
| DROP ANY OUTLINE | 具备删除任意存储纲要的权限 |
| 统计信息: | |
| ANALYZE ANY | 具备执行DBMS_STATS高级包中收集非SYS schema统计信息相关的存储过程的权限,具备该权限可收集非SYS用户下的表和索引的统计信息 SYS schema的统计信息和全库统计信息的收集权限则仅SYS用户和DBA用户具备 |
| PROFILE: | |
| CREATE PROFILE | 具备创建数据库资源限制的权限 |
| ALTER PROFILE | 具备修改数据库资源限制的权限 |
| DROP PROFILE | 具备删除数据库资源限制的权限 |
| 逻辑日志: | |
| YSTREAM_CAPTURE | * 具备执行DBMS_YSTREAM_ADM高级包的权限 * 具备通过YStream API连接数据库获取逻辑日志的权限 |
| 导入权限: | |
| FILE | 具备通过yasql工具执行LOAD DATA语句进行导入的权限 |