db2 赋值权限

dbadm:

db2 grant dbadm on database to user root



参考资料:

转载  http://database.ctocio.com.cn/1/12179001.shtml

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 权限。


你可能感兴趣的:(数据库)