我們今天主要向大家講述的是DB2做並行LOAD操作時掛起DB2diag.log中的DIA8533C錯誤,前兩天在相關網站看見DB2做並行LOAD操作時掛起DB2diag.log中的DIA8533C錯誤的資料,覺得挺好,就拿出來供大家分享。
產品:DB2 UDB ESEv
平台:HPUX 11
版本:V8
問題描述:
在HPUX操作系統上,一個物理機器上有多個邏輯分區,在做並行LOAD操作時,發現LOAD操作掛起,在db2diag.log中看到DIA8533C的錯誤。
解答:
在db2diag.log中看到下列錯誤:
- 2006-06-02-18.00.56.823018+480 I25267A383 LEVEL: Severe
- PID : 28027 TID : 1 PROC : db2lload 3
- INSTANCE: XXXX NODE : 003 DB : XXXX
- APPHDL : 0-762 APPID: O5402789.C2D8.04B862100054
- FUNCTION: DB2 UDB, database utilities, sqluAllocTBufs, probe:100
- MESSAGE : DIA8533C The system memory limit was reached.
該錯誤是由於操作系統的內核參數太小,導致DB2在做消息隊列操作時無法正常操作引起的。只需要重新調整HPUX的內核參數,然後重新啟動DB2即可解決。
在HPUX操作系統上安裝DB2分區數據庫,需要先調整HPUX的內核參數,確保有足夠的系統資源可用。具體內核參數的調整要求參見DB2信息中心:
http://publib.boulder.ibm.com/infocenter/db2luw/v8//topic/com.ibm.db2.udb.doc/start/t0006477.htm
另外DB2提供了一個幫助調整HPUX內核參數的命令db2osconf,詳細信息參見DB2信息中心:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0008113.htm
命令幫助如下:
- db2osconf -h
- Usage:
- -c # Client only
- -f # Compare to current
- -h # Help screen
- -l # List current
- -m <mem in GB> # Specify memory in GB
- -n <num CPUs> # Specify number of CPUs
- -p <perf level> # Msg Q performance level (0-3)
- -s <scale factor> # Scale factor (1- 2 )
- -t <threads> # Number of threads
注意:在分區數據庫環境中,如果你在一台物理機器上有多個邏輯分區,應該適當增加db2osconf推薦的值。也可以使用-p 和 -s參數指定一個擴展指數。如在一台物理機器上有3個邏輯分區,我們可以使用如下命令獲取合適的配置參數:
- db2osconf -p 3 -s 2
以上的相關內容就是對DB2做並行LOAD操作時掛起 DB2 diag.log中看到DIA8533C錯誤的介紹,望你能有所收獲。