連接環境補充資料

在 VM 環境中設置應用程式伺服器

DB2 for VM 的應用程式伺服器支援容許 DB2 for VM 作為 DRDA 應用系統要求程式的伺服器。 已連接至 DB2 for VM 應用程式伺服器的應用系統要求程式可以是下列其中一個:

對任何已連接至 DB2 for VM 應用程式伺服器的應用系統要求程式,DB2 for VM 應用程式伺服器將容許應用程式伺服器存取在 DB2 for VM 應用程式伺服器中,儲存於本端的資料庫物件 (如表格)。 在可以建立連接之前,應用系統要求程式必須建立一個資料包,來含有 DB2 for VM 應用程式伺服器中的應用程式 SQL 陳述式。

為了使「DB2 for VM 應用程式伺服器」能夠處理分散式資料庫要求,您必須採取下列步驟:

  1. 將應用程式伺服器定義至本端通信子系統。
  2. 提供必要的機密保護。
  3. 提供資料表示法。

提供網路資訊

定義應用程式伺服器

為了使Application Server能夠接收分散式資料庫要求,將Application Server定義至本端通信子系統中,並指定唯一的 RDB_NAME。

遵循這些步驟,來定義應用程式伺服器:

  1. 將 DB2 for VM 應用程式伺服器定義至 SNA 網路中。在選取「DB2 for VM 應用程式伺服器」 的閘道名稱及 RDB_NAME 之後,請遵循 提供網路資訊 中所描述的程序。您為 DB2 for VM 選擇的 RDB_NAME,必須提供給所有可能需要與「DB2 for VM 應用程式伺服器」連接的使用者 (應用系統要求程式)。

    NETID 將定義至 VTAM,作為啟動參數,而且所有來自應用系統要求程式的分散式要求,將正確地遞送給它。 DB2 for VM Application Server不設定 NETID。

    DB2 for VM Application Server不會判斷將用來從應用系統要求程式中遞送接收端分散式要求的閘道。 應用系統要求程式恆會控制這個動作。 在 DB2 for VM 應用系統要求程式的情況中,CMS 通信目錄將使用 :luname 及 :tpn 標示,來指定它。

    為了使「DB2 for VM 應用程式伺服器」能夠支援分散式工作單元活動,則「應用系統要求程式」必須選取一個已使用 SYNCLVL=SYNCPT 參數,將其定義至 VTAM 的 AVS 閘道。 確定 AVS 閘道已被定義,以支援分散式工作單元。

  2. 建立一個 CRR 回復伺服器,將使用它來管理這個 VM 系統上的「DB2 for VM 應用程式伺服器」的分散式工作單元活動。 欲做到這一點,請在安裝後,執行步驟來載入 VM/ESA Installation Guide 中所描述的 IBM 提供的伺服器及檔案儲存池。 這包括定義一個 CRR 伺服器 (VMSERVR) 及 CRR 檔案儲存池 (VMSYSR)。 確定當啟動 CRR 回復伺服器時,指定一個等於已對其指定 SYNCLVL=SYNCPT 的 AVS 閘道的名稱的 LUNAME。
  3. 確定應用程式伺服器機器的 CP 目錄具有 IUCV *IDENT 陳述式。 這將伺服器識別為廣域資源。
  4. 在 VTAM 模式名稱表格中,替應用系統要求程式所要求的每一個模式名稱,建立一個登錄。 這些登錄將描述階段作業特性,如 RU 大小、 速率計數,以及特殊模式名稱的服務程式類別。
  5. 定義與 DB2 for VM Application Server連接的 應用系統要求程式的階段作業限制數。 VTAM APPL 陳述式將定義所有友機系統的 預設階段作業限制數。 欲建立特殊友機的唯一預設值, 請從在Application Server位置中執行的 AVS 虛擬機器中, 使用 AGW CNOS 命令。 (應用系統要求程式通常會要求階段作業限制數。)

    在選擇了 RU 大小、階段作業限制數及速率計數後,請考慮這些值對 VTAM IOBUF 儲存池具有的影響。

使伺服器名稱對映至 RESID

資源 ID (RESID) 是異動程式名稱的 VM 術語。 在 VM 環境中,它最常被定義為一個英數名稱,最多 8 個位元組。 一般說來,您將定義一個同於伺服器名稱的 RESID,以方便管理。 圖 34 顯示 RESID 名稱檔案的範例。

圖 34. RESID 名稱檔案的例子

+--------------------------------------------------------------------------------+
| RESID  NAMES    A1  V 132  Trunc=132 Size=4  Line=1 Col=1 Alt=3                |
|====>                                                                           |
|00001  :nick.MTLTPN                                                             |
|00002                 :dbname.MONTREAL_SALES_DB                                 |
|00003                 :resid.SALES                                              |
|00004                                                                           |
+--------------------------------------------------------------------------------+

請參閱圖 33,取得將定義這個 dbname 及 RESID (作為 TPN) 的「通信目錄」登錄。 如果application server名稱不能同於 RESID,則 DB2 for VM 應用程式伺服器將使用 RESID NAMES 檔案,來提供對映關係。 如果發生下列情況,將需要這個對映關係:

在安裝期間,預設值將使用 SQLDBINS EXEC 上所指定的伺服器名稱,作為 RESID。 欲在 RESID NAMES 檔案中,建立一個對映登錄,請在 SQLDBINS 上指定 RESID 參數。

當您使用 SQLSTART DB(server_name) 啟動資料庫時,DB2 for VM 將尋找對應的 RESID,並通知 VM,這是 VM 將控制的資源。 如果在 RESID NAMES 檔案中找不到登錄,則 DB2 for VM 將假定 RESID 同於伺服器名稱,並且告訴 VM 這件事情。 關於詳細資訊,請參閱 DB2 for VM System Administration 手冊

準備及啟動 DB2 for VM 應用程式伺服器

DB2 for VM 應用程式伺服器可能未安裝 DRDA 支援。 請遵循下列步驟,準備 DB2 for VM 應用程式伺服器,以進行 DRDA 通信:

  1. 使用 ARISDBMA exec 來安裝 DRDA 支援:

    請參閱 VM/ESA System Administration 手冊,以取得詳細資訊。

  2. 在發出 ARISDBMA 後,重建 DB2 for VM ARISQLLD LOADLIB。 請參閱 DB2 for VM System Administration 手冊中的 Using a DRDA Environment,以取得詳細資訊。

提供機密保護

當應用系統要求程式將分散式資料庫要求遞送給 DB2 for VM 應用程式伺服器時,可引用下列機密保護考慮事項:

一般使用者名稱

在 SQL 及 LU 6.2 中,將指定一個 1 到 8 個位元組的使用者 ID 給一般使用者。 這個使用者 ID 必須在特殊作業系統內是唯一的,但在整個 SNA 網路內可以不必是唯一的。 欲消除命名衝突,DB2 for VM 可選用性地使用 AVS 所提供的使用者 ID 轉換函數,但僅在下列情況時才可以:

如果使用 SECURITY=SAME 選項,透過 AVS 將一個連接遞送至伺服器,將需要 AVS 使用者 ID 轉換。 從 AVS 機器中發出的 AGW ADD USERID 命令必須對來自特定遠端 LU 或 AVS 閘道的連接使用者,提供機密保護清除功能。 所有使用 SECURITY=SAME 來連接的接收端 LU 及使用者 ID 的對映關係必須存在。 命令具有彈性;一般說來,您可以從特殊 LU 或所有遠端 LU 中接受所有使用者 ID。 或是您可以僅從特定的 LU 中接受特定的使用者 ID 集。

如果您使用 AGW ADD USERID 命令,在本端 AVS 機器中,授權給接收端 (已驗證) 使用者 ID,則主電腦不會執行任何驗證。 這表示已授權 ID 不必存在於於主電腦上,但依然會接受連接。

變更現行 AVS 使用者 ID 授權的兩種方法為:

作為一個例子,在不同城市中相同使用者 ID 的情況中,將顯示 AVS 轉換函數可以如何解決一個命名衝突。 假定在 Toronto 系統中,已有一個具有 ID 為 JONES 的使用者存在,且在 Montreal 系統中,也有另一個使用者具有相同的 ID。 如果在 Montreal 中的 JONES 想要存取 Toronto 系統中的資料,則在 Toronto 系統中的下列動作將消除命名衝突,並阻止 Montreal 中的 JONES 使用已授與給 Toronto 系統中的 JONES 的專用權:

  1. AVS 操作員必須使用 AGW ADD USERID 命令,方可將 Montreal 使用者的 ID 轉換為本端使用者 ID。 例如,如果操作員發出 AGW ADD USERID MTLGATE JONES MONTJON,則 Montreal 使用者在 Toronto 系統中,以 MONTJON 為名。 如果所有其他 Montreal 使用者均被容許連接,(透過遠端 LU MTLGATE 來進行連接),且在本端以他們的遠端使用者 ID 為名,則操作員必須發出命令 AGW ADD USERID MTLGATE * =。 這些 AVS 命令也可以新增至 AVS 設定檔中,以便當啟動 AVS 時,將自動執行它們。
  2. DBA 必須使用 DB2 for VM GRANT 命令,方可在這個特殊情況中,特別對已轉換的使用者 ID MONTJON 授與一組專用權。

這些動作也可以在 Montreal 系統中執行,以確定當存取 Montreal 系統中的遠端資料時,Toronto 中的 JONES 不會使用已授與 Montreal 中的 JONES 的權限。

支援使用者 ID 轉換的 AVS 命令將在 VM/ESA Connectivity Planning, Administration and Operation 中加以描述。

網路機密保護

LU 6.2 提供三種主要網路機密保護特性:

請參閱網路機密保護,取得如何對 DB2 for VM 指定階段作業層次機密保護的討論。 DB2 for VM Application Server使用階段作業層次機密保護的方式同於 DB2 for VM 應用系統要求程式使用的方式。

應用系統要求程式可以傳送已驗證的使用者 ID (SECURITY=SAME) 或使用者 ID 與通行碼 (SECURITY=PGM)。 如果已傳送使用者 ID 及通行碼,則 CP、RACF 或相等的產品將透過Application Server主電腦中的 VM 目錄,來驗證它們。 如果驗證失敗,將拒絕連接要求;否則將接受它。 如果要求僅含有使用者 ID,則 DB2 for VM 將接受要求,而不會驗證使用者 ID。
註:DB2 for VM 不提供暗碼化能力,因為 VM/ESA 不支援暗碼化。

資料庫管理程式機密保護

DB2 for VM Application Server將驗證 VM 所指定的使用者 ID 是否具有 CONNECT 權限來存取資料庫,然後,如果它沒有權限,將拒絕連接。

作為資料庫資源的擁有者,DB2 for VM Application Server將控制常駐在 DB2 for VM Application Server中的 SQL 物件的資料庫機密保護函數。 DB2 for VM 所管理的物件的存取是透過一組專用權來管理,這些專用權即是 DB2 for VM 系統管理者或特殊物件的擁有者授與使用者的專用權。 DB2 for VM Application Server將控制兩種類別的物件:

機密保護子系統

DB2 for VM 應用程式伺服器是否使用這個子系統是選用性的。 如果應用程式伺服器需要檢查應用系統要求程式 LU 名稱的身分,則 VTAM 將呼叫機密保護子系統,來執行友機 LU 驗證交換。 是否要執行友機 LU 驗證,視 VTAM APPL 陳述式的 VERIFY 參數,為 DB2 for VM 應用程式伺服器用來接收接收端分散式資料庫要求的閘道,所指定的值而定。

CP 也可呼叫機密保護子系統,來驗證從應用系統要求程式中傳送過來的使用者 ID 及通行碼。 如果機密保護子系統為 RACF,且您沒有 RACF 系統設定檔,則 RACF 將執行驗證。 如果您的確具有 RACF 系統設定檔 (例如 RACFPROF),請使用下列指示,從 RACF 中要求這個驗證:

   RALTER VMXEVENT RACFPROF DELMEM (APPCPWVL/NOCTL
   RALTER VMXEVENT RACFPROF ADDMEM (APPCPWVL/CTL
   SETEVENT REFRESH RACFPROF

代表資料

您必須對您的安裝作業,選擇最適合的預設 CHARNAME 及 CCSID。 使用最適合的值將確定字元資料表示法的完整性,並減少與 CCSID 轉換有關聯的額外效能執行時間。

例如,如果您的 DB2 for VM 應用程式伺服器是僅透過本端使用者 (其終端機控制器是以代表美式英文的字碼頁 37,及字集 697 (CP/CS 37/697) 來建立的) 來存取,則您應該將應用程式伺服器預設 CHARNAME 設定為 ENGLISH。 這是因為 CP/CS 37/697 對應於 CCSID 37,亦即使 CHARNAME 對應於 ENGLISH。

欲消除不必要的 CCSID 轉換,請選擇適當的應用程式伺服器預設 CCSID,它必須同於最常存取您的應用程式伺服器的應用程式伺服器的 CCSID。

底下是這兩個目的如何發生衝突的例子:

欲顯示系統的現行 CCSID,請查詢 SYSTEM.SYSOPTIONS 表格。 應用程式伺服器預設 CCSID 通常為 CCSIDMIXED 的值。 如果這個值為零,則系統預設 CCSID 將為 CCSIDSBCS 的值。 這個表格中的 CHARNAME、CCSIDSBCS、CCSIDMIXED 及 CCSIDGRAPHIC 值將被更新為每次啟動資料庫時,作為系統預設值的值。 這個表格中的值可能無法恆為系統預設值。 具有 DBA 權限的使用者可能已變更這些值,雖然,不建議這個變更。 欲變更應用程式伺服器預設 CCSID,您必須在下次啟動應用程式伺服器時,指定 SQLSTART EXEC 的 CHARNAME 參數。 請參閱 VM/ESA System Administration 手冊,取得詳細資訊。

對新安裝的資料庫而言,應用程式伺服器的預設 CHARNAME 為 INTERNATIONAL,且應用程式伺服器的預設 CCSID 為 500。 這可能對您的系統正確。 已移轉系統的預設 CHARNAME 為 ENGLISH,且預設 CCSID 為 37。

啟用 DB2 for VM DRDA 應用程式伺服器的核對清單

下列核對清單將彙總啟用「DRDA 應用程式伺服器」進行 DRDA 通信所需的步驟,從下列假定開始:您的 VM 系統已透過 ACF/VTAM 來安裝,作為它的電傳處理存取方法,以及將與遠端系統進行通信所需的 VTAM 定義,如 NCP 定義已完成。

  1. 將本端 AVS 閘道定義至 VTAM。
  2. 建立一個「CRR 回復伺服器」。確定「CRR 回復伺服器」所指定的 LUNAME 符合可處理 SYNCLVL=SYNCPNT 交談的 AVS 閘道的名稱。
  3. 使用 ARISDBMA exec,將 DRDA 支援安裝至「DB2 for VM 應用程式伺服器」中。
  4. 將 IUCV *IDENT 陳述式新增至 VM 伺服器的 CP 目錄,以便它可以將自己識別為廣域資源。
  5. 將「遠端應用系統要求程式」將使用的本端使用者 ID 及通行碼定義至 CP。 必要時,使用 AVS AGW ADD USERID 命令,將任何遠端使用者 ID 對映至本端 VM 使用者 ID。
  6. 在 VTAM 模式名稱表格中,替「應用系統要求程式」所要求的每一個模式名稱,建立一個登錄。
  7. 啟動 VTAM 與 AVS,以便 VM 應用程式可以透過 SNA 網路,進行遠端通信。
  8. 建立「應用系統要求程式」位於其中的所有友機系統的階段作業限制數。
  9. 透過 DBNAME、PROTOCOL 及 SYNCPNT 參數,啟動 DB2 for VM 應用程式伺服器。 當資料庫管理程式已被啟動時,請確定它已將自己識別為 GLOBAL 資源。
  10. 準備 DB2 for VM 應用程式伺服器上的應用程式。


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