連接環境補充資料

設置應用系統要求程式

DB2 Universal Database for OS/390 施行 DRDA 應用系統要求程式支援, 作為 DB2 Universal Database for OS/390「分散式資料機能 (DDF)」的其中一部份。 DDF 可單獨地從本端 DB2 Universal Database for OS/390 資料庫管理機能中停止, 但無法在缺乏本端 DB2 Universal Database for OS/390 資料庫管理支援下執行。

當 DB2 Universal Database for OS/390 作為「應用系統要求程式」時, 它可以將系統上執行的應用程式連接到實行「DRDA 應用程式伺服器」功能的遠端 DB2 Universal Database、 DB2 for MVS/ESA、 DB2 Universal Database for OS/390、DB2 Universal Database for AS/400 及 DB2 for VSE & VM 資料庫伺服器。

為了使 DB2 Universal Database for OS/390 應用系統要求程式能夠提供分散式資料庫存取, 您需要執行下列項目:

提供網路資訊

在分散式資料庫環境中,有許多處理需要與您的網路中的其他位置交換訊息。 為了使這個處理能夠正確地執行,您需要執行下列:

  1. 定義本端系統
  2. 定義遠端系統
  3. 定義通信 (適用於 SNA 或 TCP/IP 連接)
  4. 設定 RU 大小及速率 (僅適用於 SNA 連接)

請參閱定義本端系統 (SNA),或定義本端系統 (TCP/IP)

定義本端系統 (SNA)

SNA 網路中的每一個程式均被指定一個 NETID 及 LU 名稱,以便當它連接至網路時, 您的 DB2 Universal Database for OS/390 應用系統要求程式必須具有一個 NETID.LUNAME 值 (透過 VTAM 來指定)。 因為 DB2 Universal Database for OS/390 應用系統要求程式已整合到本端 DB2 Universal Database for OS/390 資料庫管理系統中, 所以應用系統要求程式也必須具有 RDB_NAME。 在 DB2 Universal Database for OS/390 出版品中,DB2 Universal Database for OS/390 將 RDB_NAME 稱為位置名稱。

將 DB2 Universal Database for OS/390 應用系統要求程式定義至 SNA 網路,方法如下:

  1. 為您的 DB2 Universal Database for OS/390 系統選取一個 LU 名稱。 當 DDF 啟動時,將自動從您的 VTAM 中取得 DB2 Universal Database for OS/390 系統的 NETID。
  2. 在 DB2 Universal Database for OS/390 bootstrap 資料集 (BSDS) 中定義 LU 名稱及位置名稱。 (DB2 Universal Database for OS/390 將位置名稱的長度限制為 16 個字元。)
  3. 建立一個 VTAM APPL 定義,透過 VTAM 來登記所選取的 LU 名稱。
  4. 確定「擴充機密保護」設定為 YES。請參閱額外的機密保護加強功能

架構 DDF BSDS

在啟動期間,DB2 Universal Database for OS/390 將讀取 BSDS 來取得系統安裝參數。 儲存在 BSDS 的其中一個記錄稱為 DDF 紀錄,因為它含有 DDF 與 VTAM 連接時所用的資訊。這個資訊是由下列所組成的:

您可透過兩種方式,提供 DDF BSDS 資訊給 DB2 Universal Database for OS/390:

當啟動 DDF (在啟動 DB2 Universal Database for OS/390 時自動啟動它,或是透過 DB2 Universal Database for OS/390 START DDF 命令) 時, 它將與 VTAM 連接,將 LU 名稱及通行碼傳遞給 VTAM。 VTAM 會經由以 DB2 Universal Database for OS/390 VTAM APPL 陳述式中所定義的值, 檢查 LU 名稱及通行碼 (如果需要 VTAM 通行碼的話) 來識別 DB2 Universal Database for OS/390 系統。 VTAM 通行碼係用來驗證 DB2 Universal Database for OS/390 是否有權使用 VTAM 系統上指定的 LU 名稱。 VTAM 通行碼不會透過網路來傳輸,且不會用來使網路中的其他系統與 DB2 Universal Database for OS/390 連接。

如果 VTAM 不需要一個通行碼,請在變更日誌清單公用程式上,略過PASSWORD= keyword。 沒有關鍵字指出不需要任何 VTAM 通行碼。

建立 VTAM APPL 定義

在您將 VTAM LU 名稱及通行碼定義至 DB2 Universal Database for OS/390 之後, 您需要以 VTAM 來登記這些值。 VTAM 將使用 APPL 陳述式來定義本端 LU 名稱。 圖 17 顯示如何將 LU 名稱 NYM2DB2 定義至 VTAM。

圖 17. DB2 Universal Database for OS/390 的 VTAM APPL 定義的範例

 DB2APPLS VBUILD TYPE=APPL
 *
 *--------------------------------------------------------------------*
 *                                                                    *
 *           APPL DEFINITION FOR THE NEW_YORK3 DB2 SYSTEM             *
 *                                                                    *
 *--------------------------------------------------------------------*
 *
NYM2DB2   APPL  APPC=YES,                                               X
                AUTH=(ACQ),                                             X
                AUTOSES=1,                                              X
                DMINWNL=10,                                             X
                DMINWNR=10,                                             X
                DSESLIM=20,                                             X
                EAS=9999,                                               X
                MODETAB=RDBMODES,                                       X
                PRTCT=PSWDBD1,                                          X
                SECACPT=ALREADYV,                                       X
                SRBEXIT=YES,                                            X
                VERIFY=NONE,                                            X
                VPACING=2,                                              X
                SYNCLVL=SYNCPT,                                         X
                ATNLOSS=ALL                                             X

有許多關鍵字可在 VTAM APPL 陳述式上使用。 關鍵字的意義將在DB2 Universal Database for OS/390 Administration Guide 中詳細討論。 在此討論的少許關鍵字將說出本書的主題。 圖 17中有興趣的關鍵字將在底下加以描述:

NYM2DB2
VTAM 將使用 APPL 陳述式標籤作為 LU 名稱。 在這種情況中,LU 名稱為 NYM2DB2。 APPL 語法不容許提供足夠的空間, 供完整的 NETID.LUNAME 值使用。 NETID 值不在 VTAM APPL 陳述式上指定, 因為將自動指定 VTAM 系統的 NETID 給所有 VTAM 應用程式。

AUTOSES=1
當發出「APPC 變更階段作業數目」 (CNOS) 要求時, 將自動啟動的 SNA 競爭贏家階段作業的數目。 必須提供一個非零的值給 AUTOSES,以便在 VTAM CNOS 處理失敗時,通知 DB2 Universal Database for OS/390。

您不必在任何兩個分散式資料庫友機之間, 自動啟動所有 APPC 階段作業。 如果 AUTOSES 值少於競爭贏家限制 (DMINWNL),則 VTAM 將延遲啟動剩餘的 SNA 階段作業, 直到分散式資料庫應用程式需要它們為止。

DMINWNL=10
這個 DB2 Universal Database for OS/390 系統在其上為競爭贏家的階段作業的數目。 DMINWNL 參數為 CNOS 處理的預設值,但可經由在 DB2 Universal Database for OS/390 CDB 中的 SYSIBM.LUMODES 表格內新增一列,為任何指定的友機置換它。

DMINWNR=10
友機系統在其上為競爭贏家的階段作業的數目。 DMINWNR 參數為 CNOS 處理的預設值,但可經由在 DB2 Universal Database for OS/390 CDB 中的 SYSIBM.LUMODES 表格內新增一列,為任何指定的友機置換它。

DSESLIM=20
您可以在 DB2 Universal Database for OS/390 與另一個分散式系統之間, 為特定模式群組名稱建立的階段作業 (贏家及輸家階段作業) 的總數。 DSESLIM 參數為 CNOS 處理的預設值,但可經由在 DB2 Universal Database for OS/390 CDB 中的 SYSIBM.LUMODES 表格內新增一列,為任何指定的友機置換它。

如果友機無法支援 DSESLIM、DMINWNL 或 DMINWNR 參數上所要求的階段作業數目, 則 CNOS 處理將協議可被友機接受的這些參數的新值。

EAS=9999
這個 VTAM LU 所需的階段作業總數的預估值。

MODETAB=RDBMODES
識別每一個 DB2 Universal Database for OS/390 名稱存在於其中的 VTAM MODE 表格。

PRTCT=PSWDBD1
識別當 DB2 Universal Database for OS/390 嘗試與 VTAM 連接時,將使用的 VTAM 通行碼。 如果省略 PRTCT 關鍵字, 則不需要任何通行碼,而且您應該從 DB2 Universal Database for OS/390 變更日誌清單公用程式中省略 password= keyword。

SECACPT=ALREADYV
識別當這個 DB2 Universal Database for OS/390 系統從遠端系統中接受一個分散式資料庫要求時, 可被它接受的最高 SNA 交談層次機密保護值。 ALREADYV 關鍵字指出這個 DB2 Universal Database for OS/390 系統可從其他向這個 DB2 Universal Database for OS/390 系統要求資料的 DRDA 系統中, 接受三個 SNA 階段作業機密保護選項。

最好恆指定 SECACPT=ALREADYV, 因為每一個 DB2 Universal Database for OS/390 友機的 SNA 交談機密保護層次均取自於 DB2 Universal Database for OS/390 CDB (SYSIBM.LUNAMES 表格的 USERSECURITY 直欄)。 SECACPT=ALREADYV 將給與您在選取 USERSECURITY 的值方面的最大彈性。

VERIFY=NONE
識別這個 DB2 Universal Database for OS/390 系統所需的 SNA 階段作業機密保護的層次 (友機 LU 驗證)。 NONE 值指出不需要友機 LU 驗證。

DB2 Universal Database for OS/390 不會限制您選擇 VERIFY 關鍵字。 在非託管網路中,建議 VERIFY=REQUIRED。 VERIFY=REQUIRED 將使得 VTAM 拒絕無法執行友機 LU 驗證的友機。 如果您選擇 VERIFY=OPTIONAL,則 VTAM 將僅對那些提供支援的友機, 執行友機 LU 驗證。

VPACING=2
將 VTAM 速率計數設定為 2。

SYNCLVL=SYNCPT
指出 DB2 Universal Database for OS/390 能夠支援兩階段確定。 VTAM 將使用這個資訊通知友機,可使用兩階段確定。 如果這個關鍵字已出現,則在友機可以支援兩階段確定時, DB2 Universal Database for OS/390 將自動使用它。

ATNLOSS=ALL
指出每一次 VTAM 階段作業結束時,均需通知 DB2 Universal Database for OS/390。 這將確定必要時,DB2 Universal Database for OS/390 將執行 SNA 重新同步化。

DSESLIM、DMINWNL 及 DMINWNR 容許您建立所有友機的預設 VTAM 階段作業限制數。 對具有特殊階段作業限制數需求的友機而言, SYSIBM.LUMODES 可用來置換預設階段作業限制數。 例如,您可能想要指定適合於您的 OS/2 系統的 VTAM 預設階段作業限制數。 對其他友機而言,您可以在 SYSIBM.LUMODES 表格中建立橫列, 來定義想要的階段作業限制數。 考慮這些範例值:

DSESLIM=4,DMINWNL=0,DMINWNR=4

這些參數容許每一個友機可透過 DB2 Universal Database for OS/390 建立階段作業,最多四個, 在其中友機是每一個階段作業上的競爭贏家。 因為 OS/2 將經由使 OS/2 成為階段作業上的競爭贏家,來建立與 DB2 Universal Database for OS/390 的 LU 6.2 交談, 所以您將取得很小的效能優點。 如果 OS/2 具有可用的競爭贏家階段作業,它不必要求允許,即可啟動新的 LU 6.2 交談。

定義本端系統 (TCP/IP)

為了您的方便,本段中的資訊是從 DB2 Connect Enterprise Edition for OS/2 與 Windows NT 快速入門 彙總而來的。 關於詳細資訊,請參閱 DB2 Universal Database for OS/390 Installation ReferenceDRDA Support for TCP/IP with DB2 Universal Database for OS/390 and DB2 Universal Database

定義與 DB2 Universal Database for OS/390 的 TCP/IP 通信所需的步驟如下:

  1. TCP/IP 通信必須能在 DB2 Universal Database for OS/390 及友機系統上使用。
  2. 您的網路管理者必須指定兩個適合的 TCP/IP 埠號碼。 依據預設值,DB2 Universal Database for OS/390 將對資料庫連接使用埠號碼 446,而對重新同步化要求 (兩階段確定) 使用 5001。
  3. 遠端應用程式伺服器或應用系統要求程式必須與 DB2 Universal Database for OS/390 一樣使用相同的埠號碼 (服務程式名稱)。
  4. 確定 TCP/IP 的已驗證機密保護選項已設定為 YES。 請參閱額外的機密保護加強功能
  5. DB2 Universal Database for OS/390 BSDS 必須包括額外的參數。圖 18 將以高亮度標示啟用 TCP/IP 通信所需的額外參數。

    圖 18. Bootstrap 資料集 DDF 定義的範例 (適用於 TCP/IP)

    //SYSADMB JOB ,'DB2 5.1 JOB',CLASS=A
    //*
    //*        CHANGE LOG INVENTORY:
    //*        UPDATE BSDS WITH
    //*             - DB2 LOCATION NAME FOR NEW_YORK3
    //*             - VTAM LUNAME (NYM2DB2)
    //*             - DB2/VTAM PASSWORD
    //*
    //*             - GENERIC LU NAME
    //*             - TCP/IP PORT FOR DATABASE CONNECTIONS
    //*             - TCP/IP PORT FOR RESYNCH OPERATIONS
    //*
    //DSNBSDS EXEC PGM=DSNJU003
    //STEPLIB  DD  DISP=SHR,DSN=DSN510.DSNLOAD
    //SYSUT1   DD  DISP=OLD,DSN=DSNC510.BSDS01
    //SYSUT2   DD  DISP=OLD,DSN=DSNC510.BSDS02
    //SYSPRINT DD  SYSOUT=*
    //SYSUDUMP DD  SYSOUT=*
    //SYSIN    DD  *
     DDF    LOCATION=NEW_YORK3,LUNAME=NTYM2DB2,PASSWORD=PSWDBD1,
            GENERICLU=name,PORT=446,RESPORT=5001
    /*
    //*
    

定義遠端系統

當 DB2 Universal Database for OS/390 應用程式從遠端系統中要求資料時, 將搜尋「通信資料庫 (CDB)」表格,尋找有關遠端系統的資訊。 CDB 即是 DB2 Universal Database for OS/390 系統管理者所管理的 SQL 表格群組。 作為 DB2 Universal Database for OS/390 系統管理者,您必須使用 SQL,在 CDB 中插入橫列, 來描述每一個可能的 DRDA 友機。 CDB 的完整說明及使用方法可在 DB2 Universal Database for OS/390 SQL ReferenceDB2 Universal Database for OS/390 Installation Guide中找到。

CDB 的參照作業將搜尋包括下列的資訊:

移入通信資料庫

如果您僅使用接收端 TCP/IP 資料庫連接,則不需要任何 CDB 更新, 以便如果您僅計劃使用 DB2 Universal Database for OS/390 作為 TCP/IP 伺服器時,您不必將資料移入 CDB,且可使用預設值。 不過,如果您將使用接收端 SNA 連接, 您至少必須要在 SYSIBM.LUNAMES 中提供一個單一空白列。 例如, 欲允許從任何送進來的 DB2 Connect 中接受的 SNA 資料庫連接要求,請使用如下的 SQL 命令:

        INSERT INTO SYSIBM.LUNAMES (LUNAME) VALUES ('        ')                        

當您將使用 DB2 Universal Database for OS/390 作為要求程式時,CDB 必須恆被更新。 您將需要在 SYSIBM.LOCATIONS 表格, 以及 SYSIBM.LUNAMES 表格 (適用於 SNA 連接) 或 SYSIBM.IPNAMES 表格 (適用於 TCP/IP 連接) 中插入橫列。

此外,如果您想要控制 SNA 連接的接收端機密保護需求或接收端使用者 ID 轉換, 則可能需要額外的 CDB 更新。 額外的例子將在底下提供: 提供機密保護描述當設置應用系統要求程式時,如何定義使用者機密保護, 以及提供機密保護描述如何設置應用程式伺服器。

DB2 Universal Database for OS/390 Administration Guide 將詳細討論更新 CDB 表格的需求。 在您將資料移入 CDB 時,您可以撰寫查詢, 來存取遠端系統中的資料。 DB2 Universal Database for OS/390 Installation Reference 也會提供關於更新 CDB 的進一步資訊。

通信資料庫處理要求的方式

當傳送一個要求時,DB2 Universal Database for OS/390 將使用 SYSIBM.LOCATIONS 目錄表格中的 LINKNAME 直欄, 來判斷哪一個網路通訊協定將用於發送端資料庫連接。 欲接收 VTAM 要求,您必須在 DB2 Universal Database for OS/390 安裝畫面 DSNTIPR 中, 選取 LUNAME。 欲接收 TCP/IP 要求,您必須在DB2 Universal Database for OS/390 安裝畫面 DSNTIP5 中, 選取 DRDA 埠及重新同步化埠。TCP/IP 將使用伺服器的埠號碼,把網路要求傳遞給正確的 DB2 子系統。

如果在 SYSIBM.IPNAMES 表格中,找到 LINKNAME 直欄, 將對 DRDA 連接使用 TCP/IP。 如果在 SYSIBM.LUNAMES 表格中找到值, 將使用 SNA。 如果同一個名稱位在 SYSIBM.LUNAMES 及 SYSIBM.IPNAMES 中,將使用 TCP/IP 來連接至該位置。
註:要求程式無法使用 SNA 及 TCP/IP 通訊協定,與指定的位置進行連接。 例如, 如果您的 SYSIBM.LOCATIONS 指定 LU1 的 LINKNAME,且如果 LU1 同時定義在 SYSIBM.IPNAMES 及 SYSIBM.LUNAMES 表格中, 則 TCP/IP 即是用來從這個要求程式中與 LU1 進行連接的唯一通訊協定。

通信資料庫表格

CDB 是由下列表格所組成的:

  1. SYSIBM.LOCATIONS

    這個表格容許 DB2 Universal Database for OS/390 判斷當存取 DB2 Universal Database for OS/390 應用程式為發送端要求選取的每一個 RDB_NAME 時, 所需要的 SNA 或 TCP/IP 位址資訊。 直欄為:

    LOCATION
    遠端系統的 RDB_NAME。 DB2 Universal Database for OS/390 將限制 RDB_NAME 值為 16 個位元組,較 DRDA 中所定義的 18 個位元組限制還少 2 個位元組。

    LINKNAME
    遠端系統的 LU 名稱或 TCP/IP 屬性。

    PORT
    TCP/IP 埠名稱或服務程式名稱資訊 (DRDA 的預設埠名稱為 446)。

    TPN
    遠端系統的「APPC 異動程式」名稱 (TPN)。 如果遠端系統為 DB2 Universal Database for OS/390 系統,或遠端系統將使用預設 DRDA TPN 值 (X'07F6C4C2'), 將使用空字串來指定 TPN,因為 DB2 Universal Database for OS/390 自動選擇正確的值。

    如果遠端系統需要其他 TPN 值,而非預設 TPN 值,則您必須在此提供這個值。

  2. SYSIBM.LUNAMES

    這個表格將定義使用 SNA 連接來存取的遠端系統的網路屬性。 直欄為:

    LUNAME
    遠端系統的 LU 名稱。

    SYSMODENAME
    用來對 DB2 Universal Database for OS/390 次要伺服器支援 (系統引導的存取) 建立 DB2 Universal Database for OS/390 對 DB2 Universal Database for OS/390 交互系統交談的 VTAM 登入模式名稱。 這個直欄中的空白值指出應該對 DB2 Universal Database for OS/390 系統交談,使用 IBMDB2LM。

    SECURITY_IN
    當這個 DB2 Universal Database for OS/390 系統充當遠端系統的伺服器時,所需的網路機密保護接受選項 (接收端機密保護需求)。 值可以是:
    • V 表示選項為「驗證」。 送進來的連接要求必須包括下列其中一項: 使用者 ID 及通行碼、使用者 ID 及 RACF PassTicket, 或 DCE 機密保護票。
    • A 表示選項為「已驗證」。 雖然要求不需要一個通行碼,但如果傳送一個通行碼, 將會檢查它。 透過這個選項,如果送進來的連接要求包括下列其中一項, 將會接受它:使用者 ID 及通行碼、使用者 ID 及 RACF PassTicket, 或 DCE 機密保護票。

      如果 USERNAMES 直欄含有 'I' 或 'B',則不會呼叫 RACF, 來驗證僅含有一個使用者 ID 的送進來連接要求。

    SECURITY_OUT
    當這個 DB2 Universal Database for OS/390 系統充當要求程式時,遠端系統需要的網路機密保護接受選項 (發送端機密保護需求)。 值可以是:
    • A 表示選項為「已驗證」。 發送端連接要求含有一個授權 ID 且沒有任何通行碼。 用於發送端要求的授權 ID 不是 DB2 使用者的授權 ID, 就是已轉換的 ID,端視 USERNAMES 直欄的值而定。
    • R 表示選項為 "RACF PassTicket。" 發送端連接要求含有一個使用者 ID 及 RACF PassTicket。 伺服器的 LU 名稱將作為 RACF PassTicket 應用程式名稱。

      用於發送端要求的授權 ID 不是 DB2 使用者的授權 ID, 就是已轉換的 ID,端視 USERNAMES 直欄的值而定。

    • P 表示選項為「通行碼。」 發送端連接要求含有一個授權 ID 及一個通行碼。 通行碼將從 SYSIBM.USERNAMES 表格或 RACF 中取得, 端視在 ENCRYPTPWDS 直欄中所指定的值而定。

      USERNAMES 直欄必須指定 'B' 或 'O'。

    ENCRYPTPSWDS
    與這個友機交換的通行碼是否要加密。 已加密的通行碼僅受到 DB2 Universal Database for OS/390 要求程式及伺服器支援。

    MODESELECT
    判斷是否將使用 SYSIBM.MODESELECT 表格, 依據一般使用者及產生要求的應用程式,來選取一個 VTAM 登入模式登錄 (模式名稱)。 如果這個直欄含有一個 'Y',將使用 SYSIBM.MODESELECT 表格, 取得每一個發送端分散式資料庫要求的模式名稱。

    如果 MODESELECT 含有 'Y' 以外的值, 將對系統引導的存取要求,使用模式名稱 IBMDB2LM,以及對 DRDA 要求,使用模式名稱 IBMRDB。

    MODESELECT 直欄容許您經由指定與模式名稱有關聯的 VTAM 服務程式類別 (COS), 來設定分散式資料庫要求的優先順序。

    USERNAMES
    來源檢查及所需的使用者 ID 轉換的層次。 這個直欄也會指定當從遠端友機中要求資料時, 這個 DB2 Universal Database for OS/390 系統將使用的機密保護參數 (發送端機密保護需求)。 usernames 可以具有值 I、O 或 B (僅限於接收端、僅限於發送端或兩者)。

    GENERIC
    指出 DB2 Universal Database for OS/390 是否應該使用它的真正或通用 LU 名稱。
  3. SYSIBM.LUMODES

    這個表格是用來提供具有 LU 6.2 階段作業限制數 (CNOS 限制數) 的 VTAM 給使用 APPC (SNA) 連接的友機系統。 直欄為:

    LUNAME
    遠端系統的 LU 名稱。

    MODENAME
    其限制數將被指定的 VTAM 登入模式的名稱。 MODENAME 直欄中的空白值將預設為 IBMDB2LM。

    CONVLIMIT
    可在這個登入模式的本端 DB2 Universal Database for OS/390 與遠端系統之間作用的交談的最大數目。 這個值將用來置換這個登入模式的 VTAM APPL 定義陳述式中的 DSESLIM 參數 (提供 DB2 Universal Database for OS/390 的預設 VTAM 階段作業限制數)。

    在 CNOS 期間,將使用 CONVLIMIT 中所選取的值,把 DMINWNR 及 DMINWNL 值設定為 CONVLIMIT/2。

  4. SYSIBM.MODESELECT

    這個表格容許您對個別一般使用者及 DB2 Universal Database for OS/390 應用程式, 指定不同的模式名稱。 它僅用於 SNA 連接。 因為每一個 VTAM 模式名稱均可具有一個相關的服務程式類別 (COS),所以您可以使用這個表格, 依據 AUTHID、PLANNAME 及 LUNAME 組合,來指定網路傳輸優先順序。 直欄為:

    AUTHID
    DB2 Universal Database for OS/390 使用者的授權 ID (使用者 ID)。 預設值為空白,指出所指定的登入模式名稱適用於所有授權 ID。

    PLANNAME
    與要求存取遠端資料庫系統的應用程式有關聯的計劃名稱。 預設值為空白,指出所指定的登入模式名稱適用於所有計劃名稱。 用於 BIND PACKAGE 命令的計劃名稱為 DSNBIND

    LUNAME
    與遠端資料庫系統有關聯的 LU 名稱。

    MODENAME
    當遞送分散式資料庫要求至指定的遠端系統時,將使用的 VTAM 登入模式的名稱。 預設值為空白,指出應對系統引導的存取交談使用 IBMDB2LM, 對 DRDA 交談則應使用 IBMRDB。
  5. SYSIBM.USERNAMES

    將使用這個表格,經由提供通行碼、名稱轉換及來源檢查, 來管理一般使用者名稱。 DB2 Universal Database for OS/390 將一般使用者的名稱稱之為授權 ID。 其他大多數產品則將這個名稱稱為使用者 ID。

    透過這個表格,您可以使用名稱轉換,強迫對使用者 ID 連接及 DB2 Universal Database for OS/390 授權 ID,使用不同的值。 名稱轉換處理容許用於送至遠端系統的要求 (發送端要求), 以及用於來自遠端系統的要求 (接收端要求)。 如果通行碼未加密,則在使用者 ID 及通行碼均傳送至遠端位置時, 這個表格將是一般使用者的通行碼的來源。 直欄為:

    TYPE
    如何使用橫列的說明 (它是否是一個描述發送端或接收端/來源檢查要求的名稱轉換的橫列)。

    I 表示接收端連接, O 表示發送端連接。

    對 TCP/IP 連接使用 "O" (不對 TCP/IP 要求執行接收端 ID 轉換及來源檢查)。

    AUTHID
    對發送端名稱轉換而言,這是將轉換的 DB2 Universal Database for OS/390 授權 ID。 對接收端名稱轉換而言,這是將轉換的 SNA 使用者 ID。 不管哪一種情形,空白的 AUTHID 值適用於所有授權 ID 或使用者 ID。

    LINKNAME
    識別與這個橫列有關聯的 VTAM 或 TCP/IP 網路位置。 這個直欄中的空白值指出這個名稱轉換規則適用於任何 TCP/IP 或 SNA。

    如果已指定非空白的 LINKNAME, 則下列陳述式的一個或兩個均必須是真的:

    • 有一橫列已存在於 SYSIBM.LUNAMES, 其 LUNAME 符合 SYSIBM.USERNAMES LINKNAME 直欄中所指定的值。 這個橫列指定與這個名稱轉換規則有關聯的 VTAM 位置。
    • 有一橫列已存在於 SYSIBM.IPNAMES, 其 LINKNAME 符合 SYSIBM.USERNAMES LINKNAME 直欄中所指定的值。 這個橫列指定與這個名稱轉換規則有關聯的 TCP/IP 主電腦。

      不會對 TCP/IP 從屬站, 執行接收端名稱轉換及來源檢查。

    NEWAUTHID
    新的一般使用者 (SNA 使用者 ID 或 DB2 Universal Database for OS/390 授權 ID)。 空白是指您不需要轉換 ID。

    PASSWORD
    配置交談上所使用的通行碼, 如果通行碼未加密的話(SYSIBM.LUNAMES 中的 ENCRYPTPSWDS = 'N')。 如果通行碼已加密,將忽略這個直欄。
  6. SYSIBM.IPNAMES

    這個表格將用於 TCP/IP 節點。

    LINKNAME
    這個直欄中所指定的值必須符合 SYSIBM.LOCATIONS 的 LINKNAME 直欄中所指定的值。

    SECURITY_OUT
    這個直欄定義當本端 DB2 SQL 應用程式連接至任何與這個 TCP/IP 主電腦有關聯的遠端伺服器時, 將使用的 DRDA 機密保護選項:
    • A 表示選項為「已驗證」。 發送端連接要求含有一個授權 ID 且沒有任何通行碼。 用於發送端要求的授權 ID 不是 DB2 使用者的授權 ID, 就是已轉換的 ID,端視 USERNAMES 直欄的值而定。
    • R 表示選項為 "RACF PassTicket。" 發送端連接要求含有一個使用者 ID 及 RACF PassTicket。 LINKNAME 直欄中所指定的值將作為遠端伺服器的 RACF PassTicket 應用程式名稱。

      用於發送端要求的授權 ID 不是 DB2 使用者的授權 ID, 就是已轉換的 ID,端視 USERNAMES 直欄的值而定。

    • P 表示選項為「通行碼。」 發送端連接要求含有一個授權 ID 及一個通行碼。 通行碼是從 SYSIBM.USERNAMES 表格中取得。

      USERNAMES 直欄必須指定為 "O"。

    USERNAMES
    這個直欄將控制發送端授權 ID 轉換。當 DB2 傳送一個授權 ID 給遠端伺服器時,將執行發送端轉換。
    • O 表示發送端 ID 將影響轉換。 SYSIBM.USERNAMES 表格中的橫列將用來執行 ID 轉換。

      在接收端 ID 上不執行任何轉換或「來源」檢查。

    • 空白登錄表示不發生任何轉換。

    IPADDR
    這個直欄含有遠端 TCP/IP 主電腦的 IP 位址或領域名稱。IPADDR 直欄必須指定如下:
    • 如果 IPADDR 含有一個向左對齊的字串 (含有以小數點區隔的四個數字),DB2 將假定值為具有小數點格式的 IP 位址。 例如,'123.456.78.91' 將解譯為具有小數點格式的 IP 位址。
    • 所有其他的值將解譯為 TCP/IP 領域名稱,可透過 TCP/IP gethostbyname socket 呼叫來解析。 TCP/IP 領域名稱不會區分大小寫。

定義通信 (SNA)

VTAM 為 通信管理程式 for OS/390 系統。 VTAM 接受來自 DB2 Universal Database for OS/390 的 LU 6.2 動詞, 並且將這些動詞轉換為您可以透過網路來傳輸的 LU 6.2 資料串流。 為了使 VTAM 能與 DB2 Universal Database for OS/390 CDB 中所定義的友機應用程式進行通信, 您需要提供 VTAM 下列資訊:

設定 RU 大小及速率

您定義的 VTAM 模式表格登錄將指定 RU 大小及速率計數。 無法正確地定義這些值可能會對所有 VTAM 應用程式造成負面影響。

在選擇 RU 大小、階段作業限制數及速率計數之後,考慮這些值可對現存的 VTAM 網路造成的影響將是極端的重要。 當您安裝新的分散式資料庫系統時,您應該複查下列項目:

定義通信 (TCP/IP)

考慮事項如同先前所提的一般 (請參閱定義本端系統 (TCP/IP))。

提供機密保護

當遠端系統代表 SQL 應用程式,執行分散式資料庫處理時, 它必須滿足應用系統要求程式、Application Server及連接它們的網路的機密保護需求。 這些需求將落在底下的一個或多個種類中:

選取一般使用者名稱

在 OS/390 系統上,將對一般使用者指定 1 到 8 個字元的使用者 ID。 這個使用者 ID 必須在特殊 OS/390 系統內是唯一的,但可能在整個網路內不是唯一的。 例如,在 NEWYORK 系統上,可有一個名為 JONES 的使用者,而在 DALLAS 系統上, 也有另一個名為 JONES 的使用者。 如果這兩個使用者是同一個人,將不會有任何衝突。 不過,如果 DALLAS 中的 JONES 不同於 NEWYORK 中的 JONES, 則 SNA 網路 (以及該網路內的分散式資料庫系統) 無法區分 NEWYORK 中的 JONES 及 DALLAS 中的 JONES。 如果您未更正這種情況,DALLAS 中的 JONES 可使用已授與 NEWYORK 系統中的 JONES 的專用權。

欲消除命名衝突,DB2 Universal Database for OS/390 將提供一般使用者名稱轉換的支援。 當 DB2 Universal Database for OS/390 應用系統要求程式中的應用程式產生一個分散式資料庫要求, 則當通信資料庫指定需要發送端名稱轉換時, DB2 Universal Database for OS/390 將執行名稱轉換。 如果選取了發送端名稱轉換,則 DB2 Universal Database for OS/390 恆會強迫隨著每一個發送端分散式資料庫要求, 傳送一個通行碼。

DB2 Universal Database for OS/390 中的發送端名稱轉換是經由將 SYSIBM.LUNAMES 或 SYSIBM.IPNAMES 表格中的 USERNAMES 直欄設定為 'O' 或 'B' 來啟動。 如果 USERNAMES 設定為 'O',將對發送端要求執行一般使用者名稱轉換。 如果 USERNAMES 設定為 'B',將同時對接收端及發送端要求執行一般使用者名稱轉換。

因為 DB2 Universal Database for OS/390 授權要依靠一般使用者的使用者 ID 及 DB2 Universal Database for OS/390 規劃或資料包擁有者的使用者 ID 兩者來完成,所以將對一般使用者的使用者 ID、 規劃擁有者的使用者 ID 及資料包擁有者的使用者 ID 執行一般使用者名稱轉換。 3 名稱轉換處理將依下列順序搜尋 SYSIBM.USERNAMES 表格, 以找出符合下列其中一種型樣的橫列 (TYPE.AUTHID.LINKNAME):

  1. O.AUTHID.LINKNAME--適用於特定友機系統的特定一般使用者的轉換規則。
  2. O.AUTHID.blank--適用於任何友機系統的特定一般使用者的轉換規則。
  3. O.blank.LINKNAME--適用於特定友機系統的任何使用者的轉換規則。

如果找不到相符的橫列, DB2 Universal Database for OS/390 將拒絕分散式資料庫要求。 如果找到一列,則 NEWAUTHID 直欄中的值將作為授權 ID。(空白的 NEWAUTHID 值指出將使用原始名稱, 不做任何轉換。)

考慮稍早所討論的例子。 當 JONES 向 DALLAS 產生分散式資料庫要求時, 您想要給與 NEWYORK 中的 JONES 不同的名稱 (NYJONES)。 在這個例子中,假定 JONES 所使用的應用程式將被 DSNPLAN (DB2 Universal Database for OS/390 計劃擁有者) 所擁有, 而且當這個使用者 ID 傳送至 DALLAS 時,您不需要轉換它。 在 CDB 中提供名稱轉換時所需的 SQL 陳述式將顯示在圖 19中。

圖 19. 發送端名稱轉換的 SQL (SNA)

INSERT INTO SYSIBM.LUNAMES
     (LUNAME, SYSMODENAME, SECURITY_OUT, ENCRYPTPSWDS, MODESELECT, USERNAMES)
  VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', 'O');
INSERT INTO SYSIBM.LOCATIONS
     (LOCATION, LINKNAME, LINKATTR)
  VALUES ('DALLAS', 'LUDALLAS', '');
INSERT INTO SYSIBM.USERNAMES
     (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD)
  VALUES ('O', 'JONES', 'LUDALLAS', 'NYJONES', 'JONESPWD');
INSERT INTO SYSIBM.USERNAMES
     (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD)
  VALUES ('O', 'DSNPLAN', 'LUDALLAS', ' ', 'PLANPWD');

結果 CDB 表格將顯示在圖 20中:

圖 20. 發送端名稱轉換

                                                                                  
                                                                                 
 

REQTEXT

圖 21顯示一個更簡單的例子,告訴您如何使用 SNA 連線來與 DB2 Universal Database DRDA AS 連接。

圖 21. 發送端名稱轉換的 SQL (SNA 的簡單例子)。

  INSERT INTO SYSIBM.LUNAMES (LUNAME,
                              SECURITY_OUT,                              
                              ENCRYPTPSWDS,                              
                              USERNAMES)                                 
                         VALUES ('NYX1GW01','P','N','O');
  INSERT INTO SYSIBM.LOCATIONS (LOCATION,LINKNAME,TPN)
                             VALUES('TASG6',                             
                                    'NYX1GW01','NYSERVER');
  INSERT INTO SYSIBM.USERNAMES (TYPE,AUTHID,LINKNAME,NEWAUTHID,PASSWORD) 
         VALUES ('O','      ','NYX1GW01','SVTDBM6','SG6JOHN');

圖 22將顯示更簡單的例子,告訴您如何使用 TCP/IP 連接, 與 DB2 Universal Database DRDA AS 連接。

圖 22. 發送端名稱轉換的 SQL (TCP/IP 的簡單例子)。

-- DB2 for Solaris1 - UNIX                                                      
   DELETE FROM SYSIBM.IPNAMES WHERE LINKNAME = 'SOLARIS1' ;                     
   INSERT INTO SYSIBM.IPNAMES ( LINKNAME                                        
                              , SECURITY_OUT                                    
                              , USERNAMES                                       
                                , IBMREQD                                         
                              , IPADDR)                                         
                       VALUES ( 'SOLARIS1'                                      
                              , 'P'                                             
                              , 'O'                                             
                                , 'N'                                             
                              , '9.21.45.4')                                    
                              ;                                                 
   INSERT INTO SYSIBM.LOCATIONS ( LOCATION                                      
                                , LINKNAME                                      
                                , IBMREQD                                       
                                , PORT                                          
                                , TPN)                                          
                         VALUES ( 'TCPDB1'                                      
                                , 'SOLARIS1'                                    
                                , 'N'                                           
                                , '30088'                                       
                                , '')                                           
                                ;                                               
   INSERT INTO SYSIBM.USERNAMES ( TYPE                                          
                                , AUTHID                                        
                                , LINKNAME                                      
                                , NEWAUTHID                                     
                                , PASSWORD                                      
                                , IBMREQD)                                      
                         VALUES ( 'O'                                           
                                , ''                                            
                                , 'SOLARIS1'                                    
                                , 'svtdbm5'                                     
                                , 'svt5dbm'                                     
                                , 'N')                                          
                                ;                                               

網路機密保護

在應用系統要求程式選取一般使用者名稱,來代表遠端應用程式後, 應用系統要求程式必須提供所需的網路機密保護資訊。

對 SNA 連接而言,LU 6.2 提供三種主要網路機密保護特性:

因為Application Server負責管理資料庫資源, 所以Application Server將指出應用系統要求程式需要的哪些網路機密保護特性。 您必須經由設定 USERNAMES 直欄,來反映應用程式伺服器的需求, 將每一個Application Server的交談層次機密保護需求記錄在 SYSIBM.LUNAMES 或 SYSIBM.IPNAMES 表格中。

可能的 SNA 交談機密保護選項為:

SECURITY=SAME
這亦即是已驗證機密保護,因為僅一般使用者的使用者 ID 將傳送至遠端系統 (不傳輸任何通行碼)。 當 SYSIBM.LUNAMES 中的 USERNAMES 直欄未含有 'O' 或 'B' 時,將使用這個層次的交談機密保護。

因為 DB2 Universal Database for OS/390 將一般使用者名稱轉換與發送端交談機密保護繫在一起, 所以當啟動一般使用者名稱轉換時,它將不容許您使用 SECURITY=SAME。

SECURITY=PGM
這將造成一般使用者的 ID 及通行碼傳送至遠端系統, 以進行驗證。 當 SYSIBM.LUNAMES 表格的 USERNAMES 直欄含有 'O' 或 'B' 時, 將使用這個機密保護選項。

視在 SYSIBM.LUNAMES 表格中所指定的選項而定, DB2 Universal Database for OS/390 將從兩個不同的來源,取得一般使用者的通行碼。

SECURITY=NONE
這個選項不被 DRDA 支援,所以 DB2 Universal Database for OS/390 不提供這個機密保護選項。

資料庫管理程式機密保護

應用系統要求程式可以參與分散式資料庫機密保護中的一種方式就是透過發送端名稱轉換, 如稍早在選取一般使用者名稱中所陳述的一般。 您可以使用發送端名稱轉換,依據產生要求的一般使用者的身分, 以及產生要求的應用程式,來控制每一個Application Server的存取。 DB2 Universal Database for OS/390 應用系統要求程式促成分散式系統機密保護的其他方法就是:

連結遠端應用程式
一般使用者將透過 DB2 Universal Database for OS/390 BIND PACKAGE 命令, 連結Application Server中的遠端應用程式。 DB2 Universal Database for OS/390 禁止在要求程式中使用 BIND PACKAGE 命令。 不過,一般使用者無法使用遠端資料包,直到資料包包括在 DB2 Universal Database for OS/390 計劃為止。 DB2 Universal Database for OS/390 的確禁止使用 BIND PLAN 命令。 一般使用者無法將遠端資料包加到計劃中,除非透過 DB2 Universal Database for OS/390 GRANT 陳述式, 給與一般使用者 BIND 或 BINDADD 專用權。

當您連結資料包時,請使用 ENABLE/DISABLE 選項,指定 TSO、CICS/ESA、IMS/ESA 或遠端 DB2 Universal Database for OS/390 子系統是否將使用資料包。

執行遠端應用程式
為了使 DB2 Universal Database for OS/390 一般使用者能夠執行遠端應用程式, 一般使用者必須具有可執行與該應用程式有關聯的 DB2 Universal Database for OS/390 計劃的權限。 DB2 Universal Database for OS/390 計劃擁有者將自動具有執行計劃的權限。 可透過 DB2 Universal Database for OS/390 GRANT EXECUTE 陳述式,給與其他一般使用者執行計劃的權限。 在這種方式中,分散式資料庫應用程式的擁有者可以依據使用者對使用者,來 控制應用程式的使用。

機密保護子系統

OS/390 系統上的外部機密保護子系統通常是由 RACF 及另一個提供一個與 RACF 相容的介面的產品所提供的。 DB2 Universal Database for OS/390 應用系統要求程式沒有外部機密保護子系統的任何直接呼叫, 但網路機密保護中所描述的已加密通行碼支援除外。 不過,在下列情況中,外部機密保護子系統將以間接方式被使用於應用系統要求程式中:

代表資料

DB2 Universal Database for OS/390 附有預設安裝編碼字集識別字 (CCSID) 500。 這個預設值可能適用於您的安裝作業。

當安裝 DB2 Universal Database for OS/390 時,您必須將安裝 CCSID 設定為所建立的字元的 CCSID, 並經由您的位置中的輸入裝置傳送至 DB2 Universal Database for OS/390。 這個 CCSID 一般說來是由您使用的國家語言來決定。 如果安裝 CCSID 不正確,則字元轉換將產生不正確的結果。 請參閱 DB2 Connect User's Guide, 取得每一個國家或國家語言所支援的 CCSID 的列示。

您必須確定您的 DB2 Universal Database for OS/390 子系統, 具有將每一個應用程式伺服器的 CCSID 轉換為您的 DB2 Universal Database for OS/390 子系統的安裝 CCSID 的能力。DB2 Universal Database for OS/390 將提供最常見來源及目標 CCSID 組合的轉換表格, 但不提供每一個可能組合的轉換表格。 必要時,您可以新增至可用轉換表格集及轉換常式集。 請參閱DB2 Universal Database for OS/390 Administration Guide,以取得關於 DB2 Universal Database for OS/390 字元轉換的詳細資訊。


註腳:

3
如果要求有送到 DB2 Universal Database for OS/390 伺服器,也會對資料包擁有者及規劃擁有者 執行名稱轉換。 資料包及規劃擁有者名稱不會有通行碼與其相關。


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