DB2 730学习笔记1

DB2 授权

 

DB2可用的5种权限中,SYSADM、SYSCTRL、SYSMAINT是实例级权限;这些权限只能分配给组;可以通过DBM CFG文件分配这些权限。

DBADM和LOAD的权限是针对数据库的;可以分配给用户组或用户;可以使用GRANT命令分配这些权限。

通过db2 get authorizations命令查看自己拥有的权限和数据库级特权。

 

SYSADM权限

对一个DB2实例拥有这个权限的用户,能够对这个实例、这个实例中的任何数据库以及这些数据库中的任何数据对象发出任何DB2命令。

只允许SYSADM权限用户更新DBM CFG文件。

SYSADM权限由DBM CFG文件中的SYSADM_GROUP参数控制。

向db2grp1组授予SYSADM权限:db2 update dbm cfg using SYSADM_GROUP db2grp1。停止实例并重新启动后该设置生效。

SYSCTRL权限

拥有SYSCTRL权限的用户可以在实例中执行所有管理和维护命令。但是,他们不能访问数据库中的任何数据,除非他们被授予了访问数据的特权。

可以执行的命令:

db2start/db2stop

db2 create/drop database

db2 create/drop tablespace

db2 backup/restore/rollforward database

db2 runstats

db2 update db cfg for database dbname

拥有SYSADM权限的用户可以使用下面的命令将SYSCTRL分配一个组:

db2 update dbm cfg using SYSCTRL_GROUP groupname

SYSMAINT权限

SYSMAINT用户只能执行与维护相关的任务。

db2start/db2stop

db2 backup/restore/rollforward database

db2 runstats

db2 update db cfg for database dbname  

拥有SYSADM权限的用户可以使用下面的命令将SYSMAINT分配一个组:

db2 update dbm cfg using SYSMAINT_GROUP groupname

DBADM权限

他是一个数据库级别的权限。DBADM用户对一个数据库有几乎完全的控制能力。

可以执行以下任务:

db2 create/drop table

db2 grant/revoke

db2 runstats

 

授予DBADM权限的不同方法:

db2 create database test

将数据库test上的DBADM权限隐式地授予发出此命令的用户。

db2 connect to sample

db2 grant DBADM on database to user tst1

将数据库sample上的DBADM权限授予用户tst1。

db2 grant DBADM on database to group db2grp1

将DBADM权限授予db2grp1组中的每个用户。

 

LOAD权限

LOAD权限允许用户对表发出LOAD命令。

db2 quiesce tablespace for table

db2 list tablespace

db2 runstats

db2 load insert

db2 load restart/terminate after load insert

db2 load replace

db2 load restart/terminate after load replace

 拥有SYSADM或DBADM的用户能够对用户或用户组授予或撤销LOAD权限

 db2 connect to sample 

 db2 grant LOAD on database to user tst1

 db2 grant insert on table sales to user tst1

 有了LOAD权限和INSERT权限,tst1就可以对表发出LOAD INSERT或LOAD RESTART,或者LOAD INSERT之后发出TERMINATE命令。

 

 

 

 

 

 

 

你可能感兴趣的:(db2)