DB2权限与操作

数据库
DB2数据库中的用户只有在被授予权限后,才能对数据库进行操作,而不同的权限,决定了用户对数据库的操作也是不一样的。

DB2中的权限都能对数据库进行什么样的操作呢?下面就为您介绍DB2权限和操作之间的关系,如果您对DB2权限方面感兴趣的话,不妨一看。

获得 SYSADM

具有 SYSADM 权限的用户可以发出作用于 DB2 实例、实例内的任何数据库以及这些数据库内的任何对象的任何 DB2 命令。他们也能够访问数据库内的数据,授予或撤消特权和权限。SYSADM 用户是唯一被允许更新数据库管理器配置(Database Manager Configuration(DBM CFG))文件的用户。SYSADM 权限在 DBM CFG 中通过 SYSADM_GROUP 参数控制。当创建实例时,在 Windows 上这个参数被设置为 Administrator(尽管当您发出命令 db2 get dbm cfg 时显示为空)。在 UNIX 上,该参数被设置为创建实例的用户的主组。由于 SYSADM 用户是唯一被允许更新 DBM CFG 的用户,所以,他们也是唯一能够将任何 SYS* 权限授予其它组的用户。如下示例说明了如何将 SYSADM 权限授予组“grp1”。

获得 SYSCTRL

具有 SYSCTRL 权限的用户可以执行实例内的所有管理和维护命令。然而,与 SYSADM 用户不同,他们不能访问数据库内的任何数据,除非他们被授予了这样做所需要的特权。SYSCTRL 用户可以对实例内的任何数据库执行

SYSCTRL 由具有 SYSADM 权限的用户使用命令 db2 update dbm cfg using SYSCTRL_GROUP group name 授予一个组。

获得 SYSMAINT

具有 SYSMAINT 权限的用户可以发出的命令是 SYSCTRL 权限被允许的命令的子集 — 就是被看作与“维护”有关的一些任务。

请注意,具有 SYSMAINT 的用户不能创建或删除数据库或表空间(tablespace)。他们也不能访问数据库内的任何数据,除非他们被授予了这样做所需要的特权。

SYSMAINT 由具有 SYSADM 权限的用户使用命令 db2 update dbm cfg using SYSMAINT_GROUP group name 授予一个组。

获得 DBADM

DBADM 权限是一种数据库级权限而不是实例级权限。总的来说,DBADM 用户可以对数据库进行完全控制 — 嗯,大致如此。DBADM 用户不能执行任何维护或管理任务,例如删除数据库、删除/创建表空间、备份/恢复数据库或 update db cfg for database db name 。

DBADM 用户还自动被授予对数据库对象及其内容的所有特权。由于 DBADM 权限是数据库级权限,所以它可以被授予用户和组。以下示例说明如何将 DBADM 权限授给用户“tst1”,这个用户是“grp1”的一个成员。

db2 create database test
这个命令把对数据库“test”的隐式 DBADM 权限赋予发出此命令的用户。

db2 grant dbadm on database to user tst1
这个命令只能由 SYSADM 用户发出。用户将必须连接到拥有该权限的数据库。例如,如果首先发出如下命令,则 DBADM 将被授给 sample 数据库的用户 tst1:
db2 connect to sample。

db2 grant dbadm on database to group grp1
再一次,这个命令也只能由 SYSADM 用户发出。

获得 LOAD

LOAD 权限也被看作数据库级权限,因而可以授予用户和组。这个权限是 DB2 版本 7 的新东西。正如其名称所暗示的,LOAD 权限允许用户对表发出 LOAD 命令。LOAD 命令典型地用来在向表植入大量数据时作为 insert 或 import 命令的更快速的替代命令。取决于您想执行的 LOAD 的类型,仅仅具有 LOAD 权限是不够的。还需要对表的特定特权。

只允许具有 SYSADM 或 DBADM 权限的用户授予或撤消用户或组的 LOAD 权限。
 

 

 

【编辑推荐】

DB2创建用户的方法

带您了解DB2物化视图

DB2动态SQL的查看方法

DB2循环查询的实现方法

DB2分区数据库的前滚操作

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-30 11:49:21

DB2数据库权限

2010-11-01 11:30:41

DB2数据库权限

2010-08-11 09:14:33

DB2数据类型

2010-08-02 17:30:30

DB2锁等待

2010-08-16 09:39:03

DB2基础知识DB2c

2009-07-06 17:34:26

远程复制DB2

2010-07-29 08:56:53

DB2基本操作指令

2010-09-30 16:46:11

DB2操作语句

2010-08-04 13:37:43

2010-08-20 13:39:23

DB2数据复制

2010-08-03 13:56:11

DB2表复制

2010-08-25 14:46:53

DB2PostgreSQL开发

2010-08-17 16:24:32

IBM DB2数据库

2010-08-16 09:48:28

DB2数据库

2011-05-16 14:42:12

DB2数据库实用操作

2010-08-17 13:37:18

DB2 Online

2010-08-20 10:18:32

DB2自动增长主键

2010-08-03 11:33:30

DB2并置

2010-08-17 09:18:29

DB2 备份

2009-03-20 11:33:45

DB2数据转移数据库
点赞
收藏

51CTO技术栈公众号