安裝與架構補充資料

在從屬站上架構 TCP/IP

本段假設 TCP/IP 可在從屬站及伺服器上作用。 請參閱軟體需求,取得適用於您的平台的通訊協定需求。 請參閱可能的主從式連接實務範例, 取得適用於特定從屬站及伺服器之通訊協定。

若要在 DB2 從屬站上設定 TCP/IP 通訊,請執行下列步驟:

步驟  1.

識別和記錄參數值。

步驟  2.

架構從屬站:

  1. 解析伺服器的主電腦位址。
  2. 更新服務程式檔案。
  3. 將 TCP/IP 節點編入目錄中。
  4. 將資料庫編目。

步驟  3.

測試從屬站與伺服器之間的連接。



要訣

由於 TCP/IP 通訊協定的特性, 當另一個主電腦上的友機故障時,TCP/IP 可能無法立即收到通知。 因此,用 TCP/IP 存取遠端 DB2 伺服器的從屬站應用程式, 或是伺服器的對應代理程式,有時候會當掉。 DB2 是使用 TCP/IP SO_KEEPALIVE socket 選項, 來偵測何時發生故障,以及 TCP/IP 連接何時中斷。

如果建立 TCP/IP 連接時發生問題,請參閱 Troubleshooting Guide 以取得如何調整此參數的資訊和其他一般 TCP/IP 問題的相關資訊。

步驟 1. 識別和記錄參數值

當繼續進行架構步驟時, 請完成下列表格中的您的值直欄 在您開始架構這個通訊協定之前,您可以填入某些值。

表 9. 從屬站上的必要 TCP/IP 值
參數 說明 範例值 您的值

主電腦名稱

  • 主電腦名稱 (hostname) 或
  • IP 位址 (ip_address)

使用遠端伺服器工作站的 hostnameip_address

若要解析此參數:

  • 在伺服器上輸入 hostname 指令,以取得 hostname
  • 聯絡您的網路管理者,以取得 ip_address, 或輸入 ping hostname 指令。
  • 在 UNIX 系統上,您也可以使用 DB2/bin/hostlookup hostname 指令。

    其中 DB2 是安裝 DB2 的目錄。

  serverhost

9.21.15.235

 

服務程式名稱

  • 連接服務程式名稱 (svcename) 或
  • 埠號/通訊協定 (port_number/tcp)

services 檔案中必要的值

「連接服務程式」名稱是代表伺服器上連接埠號 (port_number) 的專有本端名稱。

埠號必須與伺服器服務程式檔案中, svcename 參數所對映的埠號相同。(svcename 參數位在伺服器上的資料庫管理程式架構檔中。) 此值絕不能為其它應用程式所使用, 而且必須是 services 檔案中唯一的值。

聯絡您的資料庫管理員,以取得要用來架構伺服器的值。

 

server1

 

 

 

 

 

3700/tcp

 

 
節點名稱 (node_name)

本端別名或暱名,說明您嘗試連接的節點。您可以選取任何您想要的名稱; 不過,在您的本端節點目錄內,所有節點名稱值必須是唯一的。

db2node  

步驟 2. 架構從屬站

下列步驟將架構從屬站,以便可使用 TCP/IP 與伺服器通信。您可以將範例值換成您工作表中的值。

A. 解析伺服器的主電腦位址



捷徑

如果您的網路擁有一台名稱伺服器,或者您計劃要直接指定伺服器的 IP 位址 (ip_address), 則請略過此步驟,並進行 步驟 B. 更新服務程式檔案

從屬站必須知道它所要建立通訊之伺服器的 IP 位址。如果名稱伺服器不存在您的網路上,您可以直接指定一個主電腦名稱, 而此主電腦名稱必須對映於本端主電腦檔案中之伺服器的 IP 位址 (ip_address)。 請參閱表 10, 以取得特定平台之主電腦檔案的位置。

如果您計劃要支援使用「網路資訊服務程式 (NIS)」的 UNIX 從屬站, 而您沒有使用您網路上的名稱伺服器的話, 就必須更新您的 NIS 主要伺服器上的主電腦檔案。

表 10. 本端主電腦及服務程式檔案的位置
平台 位置
OS/2 etc 環境變數所指定。 輸入 set etc 指令, 以決定您的本端主電腦服務程式檔案的位置。
Windows NT 或 Windows 2000 位在 winnt\system32\drivers\etc 目錄中。
Windows 9x 位在 windows 目錄中。
UNIX 位在 /etc 目錄中。

編輯從屬站的主電腦檔案, 並針對伺服器的主電腦名稱來新增登錄項目。 例如:

   9.21.15.235     serverhost   # host address for serverhost

其中:

9.21.15.235
代表 ip_address

serverhost
代表 hostname

#
代表說明登錄的註解

如果伺服器所在的領域興從屬站不同,就必須提供完整的領域名稱, 例如 serverhost.vnet.ibm.com,其中 vnet.ibm.com 是領域名稱。

步驟 B. 更新服務程式檔案



捷徑

如果您計劃要用埠號 (port_number) 來將 TCP/IP 節點編入目錄中, 請略過此步驟,並跳至 步驟 C. 將 TCP/IP 節點編入目錄中

使用本端文字編輯器,將「連線服務程式」的名稱及埠號新增至 從屬站的服務程式檔案中,以取得 TCP/IP 支援。 例如:

   server1  3700/tcp  # DB2 connection service port

其中:

server1
代表「連接服務程式」名稱

3700
代表連接埠號。在從屬站上指定的埠號必須符合伺服器上所使用的埠號。

tcp
代表您所使用的通訊協定

#
代表說明登錄的註解

如果您計劃要支援使用「網路資訊服務程式 (NIS)」的 UNIX 從屬站, 您就必須更新位在您 NIS 主要伺服器上的服務程式檔案。

services 檔同您可能已在A. 解析伺服器的主電腦位址中編輯的本端 hosts 檔一樣位於同一目錄。

請參閱表 10,取得您的特殊平台的服務程式檔案的位置。

步驟 C. 將 TCP/IP 節點編入目錄中

您必須將登錄加到從屬站的節點目錄中,來描述遠端節點。 此登錄可用來指定從屬站將要用來存取遠端伺服器的別名 (node_name)、 hostname (或 ip_address), 以及 svcename (或 port_number)。

若要將 TCP/IP 節點編目,請執行下列步驟:

步驟  1.

以有效的 DB2 使用者 ID 登入系統。 詳細資訊,請參閱附錄 F, 命名規則

要訣

如果要把資料庫新增到已安裝 DB2 伺服器或 DB2 Connect 伺服器產品的系統上, 請以對於此案例具有「系統管理 (SYSADM)」或「系統控制器 (SYSCTRL)」權限的使用者身份登入此系統。相關資訊,請參閱使用系統管理群組

此一限制由 catalog_noauth 資料庫管理程式架構參數來控制。 相關資訊,請參閱 Administration Guide

步驟  2.

如果您正在使用 UNIX 從屬站,請執行如下的啟動 script:

   . INSTHOME/sqllib/db2profile    (用於 bash、Bourne 或 Korn shell)
   source INSTHOME/sqllib/db2cshrc (用於 C shell)

其中 INSTHOME 是案例的起始目錄。

步驟  3.

輸入下列指令,將節點編目:

   db2 "catalog tcpip node node_name remote [hostname|ip_address]
     server [svcename|port_number]"
   db2 terminate

例如,若要使用服務程式名稱 server1 來將節點 db2node 上的遠端伺服器 serverhost 編入目錄中,請輸入:

   db2 catalog tcpip node db2node remote serverhost server server1
   db2 terminate

若要將用節點 db2node 上之 IP 位址 9.21.15.235 編目, 並使用埠號 3700,請輸入下列指令:

   db2 catalog tcpip node db2node remote 9.21.15.235 server 3700
   db2 terminate



要訣

如果需要變更以 catalog node 指令設定的值,請執行下列步驟:

步驟  1.

在命令行處理器執行 uncatalog node 指令,如下所示:

   db2 uncatalog node node_name

步驟  2.

以您想要使用的值,重新將節點編目。

步驟 D. 將資料庫編入目錄中

在從屬站應用程式可以存取遠端資料庫之前,必須在伺服器節點上及任何將與它連接的從屬站節點上, 將資料庫編目。依預設值,當您建立資料庫時,它會在伺服器上, 以同於「資料庫名稱」(database_name) 的「資料庫別名」(database_alias), 自動編目。在從屬站上,資料庫目錄和節點目錄中的資訊, 是用來建立與遠端資料庫之間的連接。

要在從屬站上將資料庫編目,請執行下列步驟:

步驟  1.

以有效的 DB2 使用者 ID 登入系統。 詳細資訊,請參閱附錄 F, 命名規則

要訣

如果要把資料庫新增到已安裝 DB2 伺服器或 DB2 Connect 伺服器產品的系統上, 請以對於此案例具有「系統管理 (SYSADM)」或「系統控制器 (SYSCTRL)」權限的使用者身份登入此系統。相關資訊,請參閱使用系統管理群組

此一限制由 catalog_noauth 資料庫管理程式架構參數來控制。 相關資訊,請參閱 Administration Guide

步驟  2.

在下述工作表中, 填寫您的值直欄。

表 11. 工作表:將資料庫編目的參數值
參數 說明 範例值 您的值
資料庫名稱 (database_name) 遠端資料庫的資料庫別名 (database_alias)。 當您建立資料庫時,它會在伺服器上, 以同於「資料庫名稱」(database_name) 的「資料庫別名」(database_alias), 自動編目,除非另有指定。 SAMPLE  
資料庫別名 (database_alias) 在從屬站上的遠端資料庫的任意本端暱稱。若您不指定, 則其預設值即是該資料庫的名稱 (database_name)。 資料庫別名即是當您從從屬站連接到資料庫時所用的名稱。 tor1  
身分驗證 (auth_value) 您的企業需要的身分驗證的值。這個參數的相關資訊, 請參閱 DB2 Connect 使用手冊DCS

這表示僅在主電腦或 AS/400 中才會驗證所提供的使用者 ID 及通行碼。

 
節點名稱 (node_name) 說明資料庫所在的節點目錄登錄名稱。請使用您在前一個步驟中, 用來將節點編目的「節點名稱」(node_name) 的值。 db2node  

步驟  3.

如果您正在使用 UNIX 從屬站,請執行如下的啟動 script:

   . INSTHOME/sqllib/db2profile    (用於 bash、Bourne 或 Korn shell)
   source INSTHOME/sqllib/db2cshrc (用於 C shell)

其中 INSTHOME 代表案例的起始目錄。

步驟  4.

輸入下列指令將資料庫編目:

   db2 catalog database database_name as database_alias at node node_name
   db2 terminate

例如,欲將名稱為 sample 的遠端資料庫編目, 使它在節點 db2node 上具有別名 tor1,請輸入下列指令:

   db2 catalog database sample as tor1 at node db2node
   db2 terminate



要訣

如果需要變更以 catalog database 指令設定的值,請執行下列步驟:

步驟  a.

執行如下的 uncatalog database 指令:

   db2 uncatalog database database_alias

步驟  b.

以您想要使用的值,重新將資料庫編目。

步驟 3. 測試自從屬站到伺服器的連線

在架構從屬站進行通信後,您將需要連接到遠端資料庫來測試連接。

步驟  1.

在伺服器上輸入 db2start 指令, 以啟動資料庫管理程式 (若其未在開機時自動啟動)。

步驟  2.

如果您正在使用 UNIX 從屬站,請執行如下的啟動 script:

   . INSTHOME/sqllib/db2profile    (用於 Bash、Bourne 或 Korn shell)
   source INSTHOME/sqllib/db2cshrc (用於 C shell)

其中 INSTHOME 代表案例的起始目錄。

步驟  3.

在從屬站上輸入下列指令,使從屬站連接到遠端資料庫:

   db2 connect to database_alias user userid using password

userid 及 password 的值必須對它們鑑別所在的系統有效。根據預設值, 身分驗證是在 DB2 伺服器以及在 DB2 Connect 伺服器的主電腦或 AS/400 機器上進行。

如果已順利連接,您將得到一則訊息,顯示您已連接的資料庫的名稱。您現在能夠從該資料庫中擷取資料。 例如,若要擷取系統目錄表格中所列的所有表格名稱, 請在「命令中心」或 CLP 中輸入下列 SQL 指令:

     "select tabname from syscat.tables"

當您完成資料庫連接的使用時,請輸入 command reset 指令, 結束資料庫連接。

自從屬站到伺服器之連線的疑難排解

如果連接失敗,請檢查下列項目:

伺服器上:

  1. db2comm 登記值包括 tcpip 這個值。

    要訣

    輸入 db2set DB2COMM 指令來檢查 db2comm 登記值的設定。 相關資訊,請參閱 Administration Guide

  2. 服務程式檔已正確更新。
  3. 服務程式名稱 (svcename) 參數已正確地更新在資料庫管理程式架構檔中。
  4. 己啟動機密保護服務程式。輸入 net start db2ntsecserver 指令 (僅適用於 Windows NT 及 Windows 2000 伺服器)。
  5. 資料庫已被妥善建立,並編目。
  6. 資料庫管理程式已停止並重新啟動 (在伺服器上輸入 db2stopdb2start 指令)。



要訣

如果無法啟動通訊協定的連接管理程式, 則會出現警告訊息,且錯誤訊息會記錄在 db2diag.log 檔; 對於 UNIX 平台,這個檔案位於 INSTHOME/sqllib/db2dump 目錄, 對於非 UNIX 平台,則位於 x:\sqllib\db2dump 目錄。

關於 db2diag.log 檔的詳細資訊,請參閱 Troubleshooting Guide

從屬站上:

  1. 若已被使用,表示服務程式主電腦檔案已正確更新。
  2. 已使用正確的主電腦名稱 (hostname) 或 IP 位址 (ip_address) 來將節點編目。
  3. 埠號符合或服務程式名稱對映於伺服器上所使用的埠號。
  4. 在資料庫目錄中指定的節點名稱 (node_name) 指向節點目錄中的正確登錄。
  5. 資料庫已使用伺服器的資料庫別名 (database_alias) 妥善編目 (該別名是資料庫於伺服器上建立時編目),作為從屬站上的資料庫名稱 (database_name)。

在您驗證這些項目之後,如果仍無法連接,請參閱 Troubleshooting Guide


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]