問題:為什麼修改機器名後實例無法啟動,並且報SQL6031N錯誤。
環境:
產品 DB2
平台 跨平台
版本8.1
解答:
DB2版本8開始,原來的DB2企業版和企業擴展版合並為企業服務器版,無論對於分區數據庫和非分區數據庫,在實例目錄下都會有db2nodes.cfg文件,該文件記錄了服務器節點信息。
以Windows平台為例,對於機器名為TSSTEST1上的一個單分區數據庫實例DB2,在..SQLLIBDB2目錄下db2nodes.cfg文件中記錄了下面一行:
0 TSSTEST1 TSSTEST1 0
如果修改了機器的機器名,則需要修改該文件。比如如果修改機器名為TSCTEST1,則上面的文件需要修改為
0 TSCTEST1 TSCTEST1 0
否則,啟動實據庫實例時會報SQL6031N錯誤,原因碼為10。
原因碼10的解釋是:
(10) 確保在 db2nodes.cfg 的第 "<行>"
行中定義的主機名值在系統上都定義了,並且可操作。
在Windows平台,如果定義實例為自動啟動,或習慣在服務中啟動實例,需要特別注意這個問題。