1. 程式人生 > >DB2資料庫-例項級配置-TCP/IP以及埠配置

DB2資料庫-例項級配置-TCP/IP以及埠配置

DB2資料庫配置(一)

DB2資料庫配置

教程彙總之前,可以先通過官網的資訊瞭解一下DB2資料庫配置的一些基本資訊。
https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.config.doc/doc/c0004555.html

簡單說明一下:DB2的配置檔案分為兩類,一是 database manager資料庫管理器 配置檔案,這個配置檔案是例項級的,也就是說每一個例項/或者說每一個系統使用者都有 一個數據庫管理器的 配置檔案。通過db2cmd可以看到資料庫管理器的配置檔案的資訊(節選)

db2 get dbm cfg
資料庫管理器配置

     節點型別                                            = 帶有本地和遠端客戶機的企業伺服器版

 資料庫管理器配置發行版級別                              = 0x0c00

 最大開啟檔案數                            (MAXTOTFILOP) = 16000
 CPU 速度(毫秒/指令)                       (CPUSPEED) = 9.446885e-008
 通訊頻寬(MB/秒)                     (COMM_BANDWIDTH) = 1.000000e+002

 Java Development Kit 安裝路徑(JDK_PATH)               = D:\DB29.5\java\jdk

 TCP/IP 服務名稱                              (SVCENAME) = db2c_DB2
 發現方式                                     (DISCOVER) = SEARCH
 發現伺服器例項                          (DISCOVER_INST) = ENABLE

這其中就可以找到我們要修改的tcp/ip 傳輸協議的服務名稱。

DB2的另外一類配置檔案的就是每個獨立的資料庫的資料庫配置檔案。同樣,通過命令列命令可以進行查詢(節選)

C:\WINDOWS\system32>db2 connect to test

   資料庫連線資訊

 資料庫伺服器         = DB2/NT 9.5.0
 SQL 授權標識         = KERN
 本地資料庫別名       = TEST


C:\WINDOWS\system32>db2 get db cfg

       資料庫  的資料庫配置

 資料庫地域                                              = CN
 資料庫內碼表                                            = 1208
 資料庫程式碼集                                            = UTF-8
 資料庫國家/地區程式碼                                    = 86
 
 資料庫堆(4KB)                                (DBHEAP) = AUTOMATIC
 目錄快取記憶體大小(4KB)               (CATALOGCACHE_SZ) = 260
 日誌緩衝區大小(4KB)                         (LOGBUFSZ) = 98
 實用程式堆大小(4KB)                    (UTIL_HEAP_SZ) = 49086
 緩衝池大小(頁)                             (BUFFPAGE) = 250
 SQL 語句堆(4KB)                            (STMTHEAP) = AUTOMATIC
 預設應用程式堆(4KB)                      (APPLHEAPSZ) = AUTOMATIC
 應用程式記憶體大小(4KB)                (APPL_MEMORY) = AUTOMATIC
 統計資訊堆大小(4KB)                    (STAT_HEAP_SZ) = AUTOMATIC

其中,資料庫程式碼集 和緩衝池大小是我們經常需要修改的。

修改DB2 傳輸協議為TCP/IP,以及埠的修改

一、修改services檔案

無論windows還是linux ,傳輸協議以及埠都儲存在 services檔案中, 通過查詢官網 https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.qb.server.doc/doc/t0006066.html

這邊解釋了services檔案的留存根目錄及其用處,以及如何修改該檔案內容。
圖片轉自IBM官網

圖片轉自IBM官網

我的作業系統是windows的,首先通過命令列查詢到服務名稱

db2 get dbm cfg

TCP/IP 服務名稱                              (SVCENAME) = db2c_DB2

然後我找到了C:\Windows\System32\drivers\etc的services檔案
在這裡插入圖片描述
可以看到 這裡 我已經將傳輸協議設定為tcp,埠50000,如果需要修改,直接編輯儲存即可。
當然也可以通過命令列命令修改。

二、命令列修改

TCP/IP的設定

db2set -all 檢視

C:\WINDOWS\system32>db2set -all
[e] DB2PATH=D:\DB29.5
[i] DB2ACCOUNTNAME=DESKTOP-1432AIG\Kern
[i] DB2INSTOWNER=DESKTOP-1432AIG
[i] DB2PORTRANGE=60000:60003
[i] DB2OPTIONS=td
[i] DB2INSTPROF=C:\PROGRAMDATA\IBM\DB2\DB2COPY1
[i] DB2COMM=tcpip
[g] DB2_EXTSECURITY=YES
[g] DB2SYSTEM=DESKTOP-1432AIG
[g] DB2PATH=D:\DB29.5
[g] DB2INSTDEF=DB2
[g] DB2ADMINSERVER=DB2DAS00

C:\WINDOWS\system32>

如果沒有看到 DB2COMM=tcpip ,當然這裡我已經修改好了。
設定命令如下:

db2set -g db2comm=tcpip

埠的修改

windows下的查詢命令
db2 get dbm cfg|find "SVCENAME"
 TCP/IP 服務名稱                              (SVCENAME) = db2c_DB2
linux下的查詢命令
 db2 get dbm cfg|grep SVCENAME

這裡網上很多教程說:直接通過命令列將svcename修改為埠。

db2 update dbm cfg using svcename 埠

我認為這是錯誤的,應該為服務起名,然後無論windows或者linux系統,找到services檔案,將服務對應的埠和傳輸協議輸入,重啟服務即可。
linux 下命令

vim /etc/services

在這裡插入圖片描述
此外,轉載一些linux下修改埠和傳輸協議的帖子。
更改Linux下的DB2埠號 http://blog.51cto.com/feature09/2047485
linux 下 db2 TCP 服務 配置 https://xkorey.iteye.com/blog/1597576