在DB2的管理工作中,有時可能需要修改DB2資料庫伺服器的主機名稱,筆者將指導您修改DB2伺服器的主機名稱。
產品:DB2 UDB
平台:AIX,Solaris,HP-UX,Linux,Windows
版本:V8 V9.1V9.5
為了修改伺服器的主機名稱,我們可以在DB2資料庫伺服器上執行以下步驟來實現:
1) 停止DB2管理伺服器(DAS)和DB2執行個體
a)db2admin stop
在Windows上,您可以直接執行命令來停止DAS,在Linux和UNIX上,您可以執行命令來擷取DAS執行個體的名稱,然後再停止DAS,如
- db2set-all|grepDB2ADMINSERVER
- [g]DB2ADMINSERVER=das91
然後su – das91後執行命令“db2admin stop”
b) db2stop
如果有多個執行個體,需要全部停止。可以用db2ilist命令列出該主機上所有的執行個體,然後一一停止
如果是Windows系統,您可以
- setDB2INSTANCE=INST1
- db2stop
這樣來停止執行個體
如果是Linux或UNIX系統,您可以分別登入執行個體使用者來執行”db2stop”
2) 修改伺服器主機名稱(各種作業系統如何修改主機名稱,請參閱相關作業系統文檔)
3) 以DB2執行個體使用者登入後,執行
- db2set-gDB2SYSTEM=db2terminate
上述命令,在Windows上,應該不會遇到問題,但是如果您的作業系統是Linux或者是UNIX的話,有可能此時遇到錯誤,如:如果是V8、V9.1,
您將遇到如下錯誤資訊:
- $db2set–gDB2SYSTEM=pirates
- DB2SETprocessingcomplete,rc=-2029059830,SQLCODE=0
如果是V9.5,您將遇到如下錯誤資訊:
- $db2set-gDB2SYSTEM=privates
- DBI1309ESystemerror.
- Explanation:
- Thetoolencounteredanoperatingsystemerror.
- Userresponse:
- Asystemerrorwasencounteredduringregistryaccess.Ensurethatthere
- isenoughspaceonthefilesystemwheretheregistryislocated,and
- thatthereisavalidLANconnectioniftheregistryisremote.
上述誤的原因是因為全域變數的操作涉及到系統層級的檔案,執行個體使用者並無相應許可權來修改檔案,而是需要root許可權。我們可以用以下方法來完成該命令的執行:
- $suroot
- root'sPassword:
- $db2set-gdb2system=privates
- $db2terminate
注意:上述su命令用不帶- 的,使得root具有執行個體使用者的環境變數
如果有多個執行個體,上述命令只需執行一次
用執行個體使用者檢查修改情況,可以確認已經修改完成。
- $db2set–all|grepDB2SYSTEM
- [g]DB2SYSTEM=privates
4) 編輯db2nodes.cfg檔案,該檔案位於
- ** Linux和UNIX: /sqllib/db2nodes.cfg
- ** Windows: IBMSQLLIBDB2db2nodes.cfg
把主機名稱修改為新的主機名稱,如db2node.cfg原內容為 0 red01 0
改為新的主機名稱 0 privates 0
如果有多個執行個體,請一併修改
5) 更新DB2管理伺服器的配置資訊
- a)db2listadminnodedirectoryshowdetail
- b)db2uncatalognode
- c)db2catalogadmintcpipnoderemotesystem
- d)db2updateadmincfgusingDB2SYSTEM
- e)db2updateadmincfgusingSMTP_SERVER
6) 啟動DB2管理伺服器(DAS)和DB2執行個體
a)db2admin start
在Windows上,您可以直接執行命令來啟動DAS,在Linux和UNIX上,您可以執行命令來擷取DAS執行個體的名稱,然後再停止DAS,如
- db2set-all|grepDB2ADMINSERVER
- [g]DB2ADMINSERVER=das91
然後su – das91後執行命令“db2admin start”
b) db2start
如果有多個執行個體,需要全部運行。可以用db2ilist命令列出該主機上所有的執行個體,然後一一啟動
如果是Windows系統,可以
- setDB2INSTANCE=INST1
- db2start
這樣來啟動執行個體。
如果是Linux或UNIX系統,您可以分別登入執行個體使用者來執行”db2start”
7) 從伺服器上的DB2控制中心刪除舊主機名稱的條目,然後單擊“添加系統”菜單,用新主機名稱發現新的主機名稱來添加。如果您從來不使用控制中心等GUI工具,此步驟可以忽略。而且,從DB2 V9.1開始,在UNIX系統上將不再提供控制中心等GUI工具。
- Windows平台下DB2 Express-C的安裝(1)
- IBM發布DB2 9.7 三大特性指引未來應用
- 提高DB2資料備份與恢複的效率
- DBase:DB2必須瞭解的常用命令及技巧
- 利用DB2 pureXML管理XML資料實踐