為什么修改機(jī)器名后DB2實(shí)例會(huì)無(wú)法啟動(dòng)
環(huán)境:
產(chǎn)品 DB2
平臺(tái) 跨平臺(tái)
版本8.1
解答:
DB2版本8開(kāi)始,原來(lái)的DB2企業(yè)版和企業(yè)擴(kuò)展版合并為企業(yè)服務(wù)器版,無(wú)論對(duì)于分區(qū)數(shù)據(jù)庫(kù)和非分區(qū)數(shù)據(jù)庫(kù),在實(shí)例目錄下都會(huì)有db2nodes.cfg文件,該文件記錄了服務(wù)器節(jié)點(diǎn)信息。
以Windows平臺(tái)為例,對(duì)于機(jī)器名為T(mén)SSTEST1上的一個(gè)單分區(qū)數(shù)據(jù)庫(kù)實(shí)例DB2,在..SQLLIBDB2目錄下db2nodes.cfg文件中記錄了下面一行:
0 TSSTEST1 TSSTEST1 0
如果修改了機(jī)器的機(jī)器名,則需要修改該文件。比如如果修改機(jī)器名為T(mén)SCTEST1,則上面的文件需要修改為
0 TSCTEST1 TSCTEST1 0
否則,啟動(dòng)實(shí)據(jù)庫(kù)實(shí)例時(shí)會(huì)報(bào)SQL6031N錯(cuò)誤,原因碼為10。
原因碼10的解釋是:
(10) 確保在 db2nodes.cfg 的第 '<行>'
行中定義的主機(jī)名值在系統(tǒng)上都定義了,并且可操作。
在Windows平臺(tái),如果定義實(shí)例為自動(dòng)啟動(dòng),或習(xí)慣在服務(wù)中啟動(dòng)實(shí)例,需要特別注意這個(gè)問(wèn)題。
