DB2中五種許可權 及其 LOAD語句

2021-08-31 01:28:01 字數 3751 閱讀 1788

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 ')

db2和oracle中的樹查詢(遞迴查詢)語句

在db2和oracle中的對樹的遞迴查詢語句。表結構 create table main node mla id integer not null 節點id mla rootid integer,根節點id mla parentid integer,父節點id mla name varchar2 5...

DB2中四種隔離級 UR,CS,RS,RR

1 ur uncommited read 俗稱 髒讀 在沒有提交資料的時候能夠讀到更新的資料 2 cs cursor stability 在乙個事務中進行查詢時,允許讀取提交前的資料,資料提交後,當前查詢就可以讀取到資料,update資料的時候並不鎖表 3 rs read stability 在乙個...

DB2中的資料型別,預設值,及列修改DDL語句

資料型別 字串型別 描述character n n bytes定長字串.n 大於0 不大於255.預設 1.varchar n 變長字串,最大 n bytes.n大於 0 小於表空間的 page size.最大32704.clob n 變長字串,最大2 147 483 647.預設1.graphic...