DB2中五种权限 及其 LOAD语句

 

DB2中五种权限:
SYSADM、SYSCTRL、SYSMAINT、DBADM、LOAD
前三种权限为实例级权限,它们的范围包含实例级命令以及针对这个实例中的所有数据库的命令。
这些权限只能分配给组:可以通过DBM CFG 文件分配这些权限。
针对特定数据库的DBADM和LOAD权限可以分配给用户或用户组,可以使用GRANT命令显示地分配这些权限。
注意,任何提到组成员关系的地方都假设在操作系统级上定义了这些用户和组名。
示例:
1.取得权限列表:
  db2 get authorizations
C:\Documents and Settings\quanlun>db2 get authorizations

 当前用户的管理权限

 直接 SYSADM 权限                           = NO
 直接 SYSCTRL 权限                          = NO
 直接 SYSMAINT 权限                         = NO
 直接 DBADM 权限                            = YES
 直接 CREATETAB 权限                        = YES
 直接 BINDADD 权限                          = YES
 直接 CONNECT 权限                          = YES
 直接 CREATE_NOT_FENC 权限                  = YES
 直接 IMPLICIT_SCHEMA 权限                  = YES
 直接 LOAD 权限                             = YES
 直接 QUIESCE_CONNECT 权限                  = YES
 直接 CREATE_EXTERNAL_ROUTINE 权限          = YES
 直接 SYSMON 权限                           = NO

 间接 SYSADM 权限                           = YES
 间接 SYSCTRL 权限                          = NO
 间接 SYSMAINT 权限                         = NO
 间接 DBADM 权限                            = NO
 间接 CREATETAB 权限                        = YES
 间接 BINDADD 权限                          = YES
 间接 CONNECT 权限                          = YES
 间接 CREATE_NOT_FENC 权限                  = NO
 间接 IMPLICIT_SCHEMA 权限                  = YES
 间接 LOAD 权限                             = NO
 间接 QUIESCE_CONNECT 权限                  = NO
 间接 CREATE_EXTERNAL_ROUTINE 权限          = NO
 间接 SYSMON 权限                           = NO

2.获得SYSADM权限:
  DB2中的SYSADM权限为操作最大权限,只允许SYSADM用户更新DBM CFG文件
  SYSADM权限由DBM CFG文件中的SYSADM_GROUP参数控制:
  db2 update dbm cfg using SYSADM_GROUP db2grp1(组名)

3.获得SYSCTRL权限:
  SYSCTRL权限不能访问数据库中的任何数据,除非他们被授予了访问数据所需的特权。
  SYSCTRL用户可以对实例中的任何数据库执行的命令例如:
  1)db2start/db2stop
  2)db2 create/drop database
  3)db2 create/drop tablespace
  4)db2 backup/restore/rollforward database
  5)db2 runstats(针对任何表)
  6)db2 update db cfg for database dbname
  授权:
  db2 update dbm cfg using SYSCTRL_GROUP groupname
  
4.获得SYSMAINT权限:
  SYSMAINT权限是SYSCTRL权限的子集,SYSMAINT权限用户不能创建或删除数据库或者表空间。
  db2 update dbm cfg using SYSMAINT_GROUP groupname

5.获得DBADM权限:
  DBADM权限是一个数据库级权限,而不是实例级权限。DBADM用户对一个数据库有几乎完全的控制能力。
  DBADM用户不能执行某些维护或管理任务:
  1)drop database
  2)drop/create tablespace
  3)backup/restore database
  4)update db cfg for database db name
  可执行任务:
  1)db2 create/drop table
  2)db2 grant/revoke(任何特权)
  3)db2 runstats(任何表)
  
6.获得LOAD权限:
  当用大量数据填充表时,LOAD命令通常用来替代插入或导入命令它的速度更快。
  
  
DB2授权和回收权限(拥有SYSADMIN的用户):
1.授权:
  db2 grant select on table sample to user username
  db2 grant insert on table sample to group db2grp1
  db2 grant dropin on schema quanlun to all
  说明:上例中的dropin意为允许用户删除模式中的对象,同Createin,Alterin。

2.回收权限:
  db2 revoke select on table sample from user quanlun
  db2 revoke insert into table sample from group db2grp1
  db2 revoke dropin on schema quanlun from all

 

load from (database DATABASENAME select * from tr_bdgincome) of cursor  
insert into tr_copybdgincome COPY YES TO /tmisdatas/etlloadtmp DATA BUFFER 32768 
SORT BUFFER 2097152 CPU_PARALLELISM 4 DISK_PARALLELISM 4

SQL0668N问题:
db2 "CALL SYSPROC.admin_cmd('load from (database DATABASENAMEselect * from TR_BDGINCOME_NORM ') of cursor warningcount 1 insert into TR_COPYBDGINCOME COPY YES TO /tmisdatas/etlloadtmp  ALLOW READ ACCESS ')

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