DB2權限與操做

DB2中的權限都能對數據庫進行什麼樣的操做呢?下面就爲您介紹DB2權限和操做之間的關係,若是您對DB2權限方面感興趣的話,不妨一看。數據庫

得到 SYSADMspa

       具備 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」。orm

得到 SYSCTRL對象

  具備 SYSCTRL 權限的用戶能夠執行實例內的全部管理和維護命令。然而,與 SYSADM 用戶不一樣,他們不能訪問數據庫內的任何數據,除非他們被授予了這樣作所須要的特權。SYSCTRL 用戶能夠對實例內的任何數據庫執行get

  SYSCTRL 由具備 SYSADM 權限的用戶使用命令 db2 update dbm cfg using SYSCTRL_GROUP group name 授予一個組。it

得到 SYSMAINTio

  具備 SYSMAINT 權限的用戶能夠發出的命令是 SYSCTRL 權限被容許的命令的子集 — 就是被看做與「維護」有關的一些任務。table

  請注意,具備 SYSMAINT 的用戶不能建立或刪除數據庫或表空間(tablespace)。他們也不能訪問數據庫內的任何數據,除非他們被授予了這樣作所須要的特權。test

  SYSMAINT 由具備 SYSADM 權限的用戶使用命令 db2 update dbm cfg using SYSMAINT_GROUP group name 授予一個組。import

得到 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 connec 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 權限。

相關文章
相關標籤/搜索