分类:
2008-04-24 10:06:16
SYSADM
具有管理实例的完整特权,还可访问底层数据库中的数据。
SYSCTRL 和 SYSMAINT
拥有管理实例、其数据库和数据库对象的特定特权。这些权限不含 访问数据的权限。例如,像 'SELECT * FROM mytable' 或 'DELETE FROM mytable' 这样的语句是不允许的。
DBADM
拥有在特定数据库上执行管理任务的特权。还具有数据库的完整数据访问权限。
LOAD
拥有对指定数据库运行加载实用工具的特权。
下表总结了各权限可执行的功能。
图8 |
管理 DB2 权限
SYS* 权限是在数据库管理器配置中设置的,通过将操作系统或安全性设施中定义的用户组指派给关联的参数进行设置。它必须是最大长度为 8 个字符的组名称,如下所示。
图9 |
DBADM 和 LOAD 是数据库级的权限。使用 grant 语句可授予用户或用户组这些权限,使用 revoke 语句可予以撤销权限:
|
请注意,具有 LOAD 权限的用户也需要表上的 INSERT 特权,之后才能加载数据。下一节将讨论特权。
设置特权
特权给予用户通过特定方式访问数据库对象的权力。如下列表给出了不同数据库对象的特权摘要。
数据库特权
CONNECT 允许用户连接数据库。
BINDADD 允许用户在数据库中创建新包。
CREATETAB 允许用户在数据库中创建新表。
CREATE_NOT_FENCED 允许用户创建非 fenced 用户定义的函数或存储过程。
IMPLICIT_SCHEMA 允许用户在尚不存在的模式中创建对象。
QUIESCE_CONNECT 允许用户在数据库停顿时访问数据库。
CREATE_EXTERNAL_ROUTINE 允许用户创建以 C 语言、Java™ 语言、OLD 和 COBOL 编写的存储过程。
模式特权
CREATEIN 允许用户在模式内创建对象。
ALTERIN 允许用户更改模式内的对象。
DROPIN 允许用户删除模式内的对象。
要显式地创建新模式,可使用 create schema 命令:
connect to sample user dbowner; |
表空间特权
USE OF TABLESPACE 允许用户在特定表空间内创建表。这一特权无法用于 SYSCATSPACE 或任何系统临时表空间。
表与视图特权
CONTROL 为用户提供表或视图的所有特权,以及将这些特权(除 CONTROL 以外)授予他人的能力。
ALTER 允许用户更改表或视图。
DELETE 允许用户删除表或视图中的记录。
INDEX 允许用户在表上创建索引。
INSERT 允许用户向表或视图中插入条目。
REFERENCES 允许用户创建和删除外键,将表指定为关系中的父表。
SELECT 允许用户从表或视图中检索行。
UPDATE 允许用户在表或视图中更新条目。这一特权还可将用户约束为仅更新特定列: grant update (workdept, job) on table employee to devuser;
ALL PRIVILEGES 授予用户表或视图上的上述全部特权(除 CONTROL 外)。