2011年1月16日 星期日

更改DB2 Server Name---透過db2nodes.cfg

執行db2指令時,系統回報這個錯誤 Error in the db2nodes.cfg file at line number "1".  Reason code "10",經過google搜尋後,發現是因為該系統是由其它系統image複製過來,因此sqllib/db2nodes.cfg的hostname設定與目前機器的hostname不符。以下紀錄解決方法

db2nodes.cfg記錄了每個DB2 partition的資訊,其內容格式如下

nodenum    hostname    logical port   netname    resourcesetname

其中nodenum, hostname及logical port為必要的三個欄位。依據(http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/start/r0006351.htm)的說明,nodenum為介於 0999 之間的專用號碼,可識別分割資料庫系統中的資料庫分割區伺服器;hostname為資料庫伺服器所在的Hostname;logical port為資料分割伺服器的邏輯埠號。以下為不同的配置範例

一台電腦,四個資料庫分割區伺服器

如果您不是使用叢集環境,且想讓名為 ServerA 的實體工作站有四個資料庫分割區伺服器,則可更新 db2nodes.cfg 檔,如下所示:
   0          ServerA        0
1 ServerA 1
2 ServerA 2
3 ServerA 3

兩台電腦,每台電腦有一個資料庫分割區伺服器
如果您想讓分割的資料庫系統包含兩個名為 ServerAServerB 的實體工作站,則可更新 db2nodes.cfg 檔案,如下所示:

   0          ServerA        0
1 ServerB 0

兩台電腦,每台電腦有三個資料庫分割區伺服器
如果您想讓分割的資料庫系統包含兩個名為 ServerAServerB 的實體工作站, 且讓 ServerA 執行 3 個資料庫分割區伺服器,則可更新 db2nodes.cfg 檔案,如下所示:

   4          ServerA        0
6 ServerA 1
8 ServerA 2
9 ServerB 0

兩台電腦,具有高速切換的三個資料庫分割區伺服器
如果您想讓分割的資料庫系統包含兩台名為 ServerAServerB (ServerB 執行兩個資料庫分割區伺服器) 的電腦,並且使用名為 switch1switch2 的高速交互連接,則可更新 db2nodes.cfg 檔案,如下所示:

   0          ServerA        0              switch1
1 ServerB 0 switch2
2 ServerB 1 switch2


設定完成後,執行db2stop/db2start即可。詳細說明可看(http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/start/r0006351.htm)



#For Windows



DB2 windows版本的db2nodes.cfg在 DB2 v8及v9.1,是放在Program Files\IBM\SQLLIB\DB2\db2nodes.cfg中;而在9.5及以上,是放在Documents and Settings\All Users\Application Data\IBM\DB2\<DB2COPY>\DB2\db2nodes.cfg中。手冊建議不要直接修改檔案內容,可透過下列指令達到修改hostname目的




    db2nchg /n:nodeNumber /h:hostName


上述指令可以修改 node的 hostName,其中,在沒有partition的環境下,nodeNumber為0。



詳細db2nchg指令用法在此。另外,可以用db2nlist最出目前資料庫有那些nodes




沒有留言:

張貼留言