#系统权限管理
# 系统权限的作用
系统权限是一类可支持执行某种系统级操作的权限,可能作用于对象,也可能作用于数据库级别的操作。
通过DBA_SYS_PRIVS视图可查看当前系统中所有授权的系统权限信息。
系统权限的功能十分广泛,请慎重授权,保证被授权者是可信的用户或角色。
# 系统管理类系统权限
| 权限名称 | 描述 |
|---|---|
| ALL PRIVILEGES | 所有的系统权限 |
| 数据库与会话: | |
| ALTER SYSTEM | 更改system级别参数及设置 |
| ALTER DATABASE | 更改database级别参数及设置 |
| ALTER SESSION | 更改session级别参数及设置 |
| CREATE SESSION | 用户登录 |
| AUDIT SYSTEM | 创建、修改、使能、去使能、删除审计策略 |
| 表空间: | |
| CREATE TABLESPACE | 创建表空间 |
| ALTER TABLESPACE | 修改表空间属性 |
| DROP TABLESPACE | 删除表空间 |
# 安全管理类系统权限
| 权限名称 | 描述 |
|---|---|
| 权限管理: | |
| GRANT ANY PRIVILEGE | 可以GRANT任意系统权限 |
| GRANT ANY OBJECT PRIVILEGE | 1. 可以GRANT任意对象权限,以代替对象owner的形式 2. 可以代替对象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 ANY OUTLINE | 创建任意存储纲要 |
| ALTER ANY OUTLINE | 修改任意存储纲要的属性 |
| DROP ANY OUTLINE | 删除任意存储纲要 |
| 统计信息: | |
| ANALYZE ANY | 执行高级包下统计信息相关存储过程 |
| 导入权限: | |
| FILE | 可通过utl_file或load data对文件进行操作 |