5 配置參數
5.1 配置參數
當創建DB2實例或數據庫時,將使用缺省參數值創建相應的配置文件。可以修改這些參數值以改進性能。
配置文件包含特定的參數,這些參數定義諸如分配給DB2產品和個別數據庫的資源以及診斷級別之類的值,有兩種類型的配置文件
每個DB2實例的數據庫管理器配置文件
每個獨立的數據庫的數據庫配置文件
數據庫管理器配置文件是在創建DB2實例時創建的。它包含的參數在實例級影響系統資源,不受任何一個作為該實例一部分的數據庫的影響。根據系統的配置,可將這些參數中的許多參數的值更改為非系統缺省值,以改進性能或增加容量。
每個客戶機安裝也有一個數據庫管理器配置文件。
數據庫管理器配置參數存儲在名為db2systm的文件中。當創建數據庫管理器的實例時,會創建此文件。在UNIX中會在數據庫管理器的實例的sqllib子目錄中,在Windows中,缺省位置是sqllib目錄的實例子目錄。如果設置DB2INSTPROF變量,在文件在DB2INSTPROF指定的實例子目錄中。
數據庫配置文件是在創建數據庫時創建的,它駐留在數據庫所駐留的地方。每個數據庫都有一個配置文件。其參數指定要分配給該數據庫的資源量以及其它事項。
DB2的變量分為實例環境變量和數據庫環境變量兩種,實例的端口一般默認為50000
5.2 注冊表變量和環境變量
環境變量和注冊表變量控制數據庫環境。
使用概要文件注冊表准許集中控制環境變量。現在通過不同的概要文件提供了不同級別的支持。當使用“DB2管理服務器”時,還提供了對環境變量的遠程管理。
有四個概要文件注冊表:
DB2實例級概要文件注冊表。
大多數DB2環境變量都位於此注冊表中。
特定實例的環境變量設置保存在此注冊表中。
在此級別定義的值將覆蓋在全局級的對應設置。
DB2全局級概要文件注冊表
若未對特定的實例設置環境變量,則使用此注冊表。
此注冊表具有在當前機器范圍內有些的環境變量設置。
在DB2 UDB ESE中,每台機器上都有一個全局級概要文件。
DB2實例節點級概要文件注冊表
在分區環境中,此注冊表基本包含特定分區(節點)的變量設置。
在此基本定義的值將覆蓋實例級和全局級的對應設置。
DB2實例概要文件注冊表
此注冊表包含此系統可識別的所有實例名的列表。
可通過db2ilist查看列表。
DB2按下列次序檢查注冊表值和環境變量並確定它們的值以配置操作環境:
使用set命令設置的環境變量。(或UNIX平台上的export命令)
使用實例節點概要文件設置的注冊表值。(使用db2set –i )
使用實例級概要文件設置的注冊表值(使用db2set –i命令 默認方式,可以不用-i)
使用全局級概要文件設置的注冊表值(使用db2set –g命令)
列出所有受支持的注冊表變量的完整集合
Db2set -lr
列出當前實例或缺省實例的所有已定義的注冊表變量,相當於db2set –i
Db2set
列出概要文件注冊表中所有定義的注冊表變量
Db2set -all
列出一個注冊表變量在當前實例或缺省實例中的值
Db2set 注冊變量名
列出一個注冊表變量在所有級別的值
Db2set 注冊表變量名 -all
在當前實例或缺省實例中更改一個注冊表變量
Db2set 注冊表變量名=new_value
更改實例中所有數據庫的注冊表變量缺省值
Db2set 注冊表變量名=new_value -i instance_name
更改實例中特定分區的注冊表變量缺省值
Db2set 注冊表變量名=new_value -i instance_name node_number
更改系統中所有實例的注冊表缺省值
Db2set 注冊表變量名=new_value -g
要將實例的注冊表變量復位為在“全局概要文件注冊表”中找到的缺省值,使用:
Db2set -r 注冊表變量名
要將實例中節點的注冊表變量復位為在“全局概要文件注冊表”中找到的缺省值,使用:
Db2set -r 注冊表變量名 node_name
要刪除一個變量在特定級別的值,可以使用相同的語法來設置該變量但不對該變量指定任何內容。例如,要刪除該變量在節點級的設置,輸入:
Db2set 注冊表變量名= -i instance_name node_name
要刪除一個變量並限制其使用,若它是在更高的概要文件定義的:
Db2set 注冊表變量名= -null instance_name
此命令將刪除指定的參數的設置,並限制高級別的概要文件更改此變量的值(在本示例中為DB2全局級概要文件)。但指定的變量仍可能會被低級別概要文件設置。
db2set顯示如下:
DB2ACCOUNTNAME=CHENGYdb2admin//管理服務器的名字
DB2INSTOWNER=CHENGY//實例的所有者
DB2PORTRANGE=60000:60003//DB2的保留端口號
DB2_GRP_LOOKUP=LOCAL//DB2授權組
DB2INSTPROF=D:PROGRA~1IBMSQLLIB//DB2實例的程序位置
DB2COMM=TCPIP//通訊方式
字符集默認是操作系統所具有的,如果想修改,請參照:
db2set db2codepage=1386 //把字符集設成中文,819是英文
5.3 管理服務器配置設置
返回管理服務器的配置設置
GETADMINCFG
將管理服務器配置參數
更新為值
UPDATEADMINCFGUSING
將DB2管理服務器的配置參數設為默認值
DB2RESETADMINCFG
認證類型DAS (AUTHENTICATION) = SERVER_ENCRYPT
DAS管理權限組名 (DASADM_GROUP) =
DAS發現方式 (DISCOVER) = SEARCH
DB2服務器系統的名稱 (DB2SYSTEM) = SYJNCHENGYONGLC
Java Development Kit安裝路徑DAS (JDK_PATH) = C:Program FilesIBMSQLLIBJavajdk
Java Development Kit安裝路徑DAS (JDK_64_PATH) =
DAS代碼頁 (DAS_CODEPAGE) = 0
DAS地域 (DAS_TERRITORY) = 0
聯系人列表的位置 (CONTACT_HOST) =
執行到期的任務 (EXEC_EXP_TASK) = NO
調度程序方式 (SCHED_ENABLE) = OFF
SMTP服務器 (SMTP_SERVER) =
工具目錄數據庫 (TOOLSCAT_DB) =
工具目錄數據庫實例 (TOOLSCAT_INST) =
工具目錄數據庫模式 (TOOLSCAT_SCHEMA) =
調度程序用戶標識 =
5.4 數據庫管理器配置參數
顯示數據庫管理器參數的當前值和延遲值(從V8起)。
db2getdbmcfg[showdetail]
是get database manager configuration的簡寫
更改數據庫管理器參數的值
db2updatedbmcfgusing
如:db2 update dbm cfg usingFEDERATED YES 打開聯邦功能
查看參數顯示如下:
節點類型=帶有本地客戶機和遠程客戶機的“企業服務器版”
數據庫管理器配置發行版級別 = 0x0a00
打開的文件的最大總數 (MAXTOTFILOP) = 16000
CPU速度(毫秒/指令) (CPUSPEED) = 3.857478e-007
通信帶寬(MB/秒) (COMM_BANDWIDTH) = 1.000000e+002
並發活動數據庫的最大數目 (NUMDB) = 8
Data Links支持 (DATALINKS) = NO
聯合數據庫系統支持 (FEDERATED) = YES //打開聯邦功能
事務處理器監視器名 (TP_MON_NAME) =
缺省對方付費帳戶 (DFT_ACCOUNT_STR) =
Java開發工具箱”安裝路徑(JDK_PATH)= D:PROGRA~1IBMSQLLIJavajdk
診斷錯誤捕獲級別 (DIAGLEVEL) = 3
通知級別 (NOTIFYLEVEL) = 3
//通知管理員的級別
診斷數據目錄路徑 (DIAGPATH) =
缺省數據庫監視器開關
緩沖池 (DFT_MON_BUFPOOL) = OFF
鎖定 (DFT_MON_LOCK) = OFF
排序 (DFT_MON_SORT) = OFF
語句 (DFT_MON_STMT) = OFF
表 (DFT_MON_TABLE) = OFF
時間戳記 (DFT_MON_TIMESTAMP) = ON
工作單元 (DFT_MON_UOW) = OFF
監視實例和數據庫的健康 (HEALTH_MON) = OFF
//運行狀況監視器開關
SYSADM組名 (SYSADM_GROUP) =
SYSCTRL組名 (SYSCTRL_GROUP) =
SYSMAINT組名 (SYSMAINT_GROUP) =
SYSMON組名 (SYSMON_GROUP) =
數據庫管理器認證 (AUTHENTICATION) = SERVER
沒有權限就允許編目 (CATALOG_NOAUTH) = NO
信賴所有客戶機 (TRUST_ALLCLNTS) = YES
可信的客戶機認證 (TRUST_CLNTAUTH) = CLIENT
繞過聯合認證 (FED_NOAUTH) = NO
缺省數據庫路徑 (DFTDBPATH) = D:
數據庫監視器堆大小(4KB) (MON_HEAP_SZ) = 66
//Database manager shared memory的一部分 占內存
“Java虛擬機”堆大小(4KB) (Java_HEAP_SZ) = 512
審計緩沖區大小(4KB) (AUDIT_BUF_SZ) = 0
//Database manager shared memory的一部分 占內存
實例共享內存(4KB)的大小 (INSTANCE_MEMORY) = AUTOMATIC
//此參數指定應該為進行實例管理而保留的內存量。這包括描述實例上的數據庫的內存區域。如果將此參數設置為AUTOMATIC,則DB2將計算當前配置所需要的實例內存量。DB2還將為溢出緩沖區分配一些附加內存。每當堆超過為它配置的大小時,就使用溢出緩沖區來滿足實例共享內存區域中任何堆的峰值內存需求。其它操作(例如,動態配置更新)也對此溢出緩沖區具有存取權。可以使用帶有-memsets選項的db2pd命令來監視溢出緩沖區中剩余的未使用的內存量。
備份緩沖區缺省大小(4KB) (BACKBUFSZ) = 1024
//Database manager shared memory的一部分
復原緩沖區缺省大小(4KB) (RESTBUFSZ) = 1024
//Database manager shared memory的一部分
代理進程的堆棧大小 (AGENT_STACK_SZ) = 16
最小已落實專用內存(4KB) (MIN_PRIV_MEM) = 32
專用內存阈值(4KB) (PRIV_MEM_THRESH) = 20000
排序堆阈值(4KB) (SHEAPTHRES) = 10000
目錄高速緩存支持 (DIR_CACHE) = YES
應用程序支持層堆大小(4KB) (ASLHEAPSZ) = 15
最大請求器I/O塊大小(以字節計) (RQRIOBLK) = 32767
DOS請求器I/O塊大小(以字節計) (DOS_RQRIOBLK) = 4096
查詢堆大小(4KB) (QUERY_HEAP_SZ) = 1000
DRDA服務堆大小(4KB) (DRDA_HEAP_SZ) = 128
已調速實用程序對工作負載的影響 (UTIL_IMPACT_LIM) = 100
代理進程的優先級 (AGENTPRI) = SYSTEM
現有代理進程的最大數目 (MAXAGENTS) = 400
代理進程池大小 (NUM_POOLAGENTS) = 200(已計算)
池中的代理進程的初始數目 (NUM_INITAGENTS) = 0
協調代理程序的最大數目 (MAX_COORDAGENTS) = (MAXAGENTS - NUM_INIT
GENTS)
並發協調代理程序的最大數目 (MAXCAGENTS) = MAX_COORDAGENTS
客戶機連接的最大數目 (MAX_CONNECTIONS) = MAX_COORDAGENTS
//用於設置與一個數據庫連接的應用程序數的上限,由於每個與數據庫連接的應用程序都要求分配一些內存,因此,允許的並發應用程序數越多,可能使用的內存就越多。如果MAX_CONNECTIONS> MAX_COORDAGENTS將啟用Connection Concentrator對所有的agent進行統一的管理
保留受防護進程 (KEEPFENCED) = YES
合用受防護進程的數目 (FENCED_POOL) = MAX_COORDAGENTS
受防護進程的初始數目 (NUM_INITFENCED) = 0
索引重新創建時間 (INDEXREC) = Access
//此參數指示數據庫管理器何時將嘗試重建無效的索引,以及在DB2前滾期間或在輔助數據庫上重放HADR日志期間是否重做任何索引構建。
SYSTEM在數據庫管理器配置文件中指定的use system setting決定何時將重建無效的索引。
Access 第一次訪問索引時將重建無效的索引。
Access_NO_REDO第一次訪問基礎表時將重建無效的索引。
RESTART indexrec的缺省值。將在顯式地或隱式地發出RESTART DATABASE命令時重建無效的索引。
RESTART_NO_REDO將在顯式地或隱式地發出RESTART DATABASE命令時重建無效的索引。
建議:在高端用戶服務器上,如果重新啟動時間不重要,則此選項的最佳選擇將是在數據庫重新啟動時重建該索引,以作為在崩潰後重新將該數據庫聯機的過程的一部分。
將此參數設置為“ACCESS”或“Access_NO_REDO”將導致重新創建索引時數據庫管理器的性能降低。任何訪問該特定索引或表的用戶將不得不等待,直到索引被重新創建完成。
如果將此參數設置為“RESTART”,則重新啟動數據庫所花的時間將因重新創建索引而延長,但是,一旦數據庫恢復聯機,正常處理將不受影響。
事務管理器數據庫名 (TM_DATABASE) = 1ST_CONN
事務再同步時間間隔(秒) (RESYNC_INTERVAL) = 180
SPM名稱 (SPM_NAME) = CHENGY
SPM日志大小 (SPM_LOG_FILE_SZ) = 256
SPM再同步代理進程限制 (SPM_MAX_RESYNC) = 20
SPM日志路徑 (SPM_LOG_PATH) =
NetBiOS工作站名 (NNAME) =
TCP/IP服務名稱 (SVCENAME) = db2c_DB2
//在WINNTsystem32中找到servIEs文件,其中可以看到端口號:db2c_DB2 50000/tcp
DB2 V9.5 C:Windowssystem32driversetc
//在unix中/etc/services中,其中可以看到端口號:DB2Cdb2inst1 50000/tcp
//查找方式:db2 get dbm cfg | findstr SVCENAME
發現方式 (DISCOVER) = SEARCH
發現服務器實例 (DISCOVER_INST) = ENABLE
//是否允許所有的clIEnt發現本服務器實例
最大查詢並行度 (MAX_QUERYDEGREE) = ANY
啟用分區內並行性 (INTRA_PARALLEL) = NO
//如果設置成yes,db2agntp進程將啟動,db2agent進程將平均分散到各個db2agntp中
內部通信緩沖區的數目(4KB) (FCM_NUM_BUFFERS) = 4096
節點連接所用時間(秒) (CONN_ELAPSE) = 10
節點連接重試的最大數目 (MAX_CONNRETRIES) = 5
節點間的最大時差(分鐘) (MAX_TIME_DIFF) = 60
db2start/db2stop超時(分鐘) (START_STOP_TIME) = 10