Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link サーバ・テクノロジの使用 » Mobile Link 統合データベース

 

IBM DB2 メインフレーム統合データベース

DB2 メインフレームを統合データベースとして設定する

DB2 メインフレームを Mobile Link 統合データベースとして動作するよう設定するには、設定プロシージャを実行して、Mobile Link 同期に必要な Mobile Link システム・テーブル、ストアド・プロシージャ、トリガ、ビューを追加する必要があります。このタスクは SQL メソッドまたは JCL メソッドを使用して実行できます。

注意

設定スクリプトを実行するデータベース・ユーザは、Mobile Link システム・テーブルを更新するパーミッションを持つ唯一のユーザです。Mobile Link アプリケーションを設定するには、このパーミッションが必要です。必要なパーミッションを参照してください。

Mobile Link サーバを統合データベースに接続するために使用される RDBMS ユーザは、Mobile Link システム・テーブル、プロシージャなどを修飾子なしで使用できる必要があります (SELECT * from ml_user など)。Mobile Link サーバのシステム・テーブルを参照してください。

♦  DB2 メインフレーム環境を設定するための一般的な手順
  1. Mobile Link スキーマ用にページ・サイズが 8 K 以上でローレベルのロックが設定されたバッファ・プールを作成します。ローレベルのロックは、同じテーブルに対する同時同期を処理するために必要です。この例では、バッファ・プールに BP8K という名前を付けます。

  2. Mobile Link スキーマ用にページ・サイズが 8 K のバッファ・プールを持つ MLTB8K という名前のテーブル領域を作成します。次に例を示します。

    create tablespace MLTB8K in IANY bufferpool BP8K locksize row 
    grant use of tablespace IANY.MLTB8K to public
    
  3. Mobile Link スキーマ・プロシージャ用の Workload Manager 環境がまだない場合は作成し、MLWLM というような名前を付けます。

  4. DB2 データベースで提供されている ODBC ドライバを使用して、DB2 メインフレーム統合データベース用の ODBC DSN を設定します。次の項を参照してください。

♦  SQL を使用して Mobile Link システム・テーブルを作成するには、次の手順に従います。
注意

SQL メソッドには、DSNTPSMP を使用してストアド・プロシージャを作成する機能が必要です。SQL ストアド・プロシージャを有効にしていない場合は、JCL による方法を使用してください。

  1. DB2 メインフレームを統合データベースとして設定するに示す一般的な手順を使用して、DB2 メインフレーム環境を設定します。

  2. install-dir\MobiLink\setup にある syncd2m.sql 設定スクリプトを変更します。

    注意

    続行する前に、元の syncd2m.sql ファイルのバックアップ・コピーを作成してください。

    syncd2m.sql ファイルで、次の記述をすべて置換します。

    • {MLTABLESPACE} をテーブル領域の名前である MLTB8K に置換します。

    • {WLMENV} を Workload Manager、つまり MLWLM に置換します。

  3. 次のコマンド・ラインを使用して syncd2m.sql 設定スクリプトを実行します。

    dbisql -c "uid=user-id;pwd=password;DSN=dsn-name" -nogui syncd2m.sql

    メッセージ・ログ・ファイル syncd2m.txt が生成されます。

  4. syncd2m.txt を開いて、DSNTPSMP 呼び出しが成功したことを確認します。

♦  JCL を使用して Mobile Link システム・テーブルを作成するには、次の手順に従います。
  1. DB2 メインフレームを統合データベースとして設定するに示す一般的な手順を使用して、DB2 メインフレーム環境を設定します。

  2. install-dir\MobiLink\setup にある syncd2m_jcl.sql 設定スクリプトを変更します。

    注意

    続行する前に、元の syncd2m_jcl.sql ファイルのバックアップ・コピーを作成してください。

    syncd2m_jcl.sql ファイルで、次の記述をすべて置換します。

    • {MLTABLESPACE} を修飾されたテーブル領域 (たとえば MYDB.MYTS) に置換します。

    • {WLMENV} を DB2 インスタンスに割り当てられた Workload Manager の名前に置換します。

  3. DBISQL を開始し、DB2 メインフレームに接続します。

  4. install-dir\MobiLink\setup にある syncd2m_jcl.sql 設定スクリプトの編集済みコピーを実行して、DB2 メインフレームに Mobile Link テーブルを作成し Mobile Link プロシージャを定義します。

  5. %SQLANY%\MobiLink\setup ディレクトリからメインフレームに FTP でアクセスし、次のコマンドを実行します。

    bin
        hash
        cd xmit
        quote site recfm=fb lrecl=80
        quote site cyl
        put d2mload.xmit
        put d2mdbrm.xmit
        quit
  6. メインフレームには次の 2 つの xmit ファイルがあります。

    • USERID.XMIT.D2MLOAD.XMIT

    • USERID.XMIT.D2MDBRM.XMIT

    USERID は、FTP 経由の接続時に指定したユーザ名です。

  7. ターミナル・セッションを開き、ISPF コマンド・シェルから次のコマンドを実行します。

    RECEIVE INDATASET('USERID.XMIT.D2MLOAD.XMIT')
        RECEIVE INDATASET('USERID.XMIT.D2MDBRM.XMIT')

    出力は次のとおりです。

    • USERID.ML.LOADLIB

    • USERID.ML.DBRMLIB

  8. d2mrelod.jcl ファイルをコピーして次のように変更します。

    • USERID をメインフレームのユーザ ID に変更します。

    • DSNDB0T を DB2 DSN に変更します。

  9. install-dir\MobiLink\setup にある d2mrelod.jcl スクリプトの編集済みコピーを実行します。

  10. d2mbdpk.jcl ファイルをコピーして次のように変更します。

    • USERID をメインフレームのユーザ ID に変更します。

    • DB0T を DB2 SSID に変更します。

  11. d2mbdpk.jcl の編集済みコピーを実行して、すべての SQL プロシージャをバインドします。次に、SQL プロシージャからロード・モジュール名へのマッピングのリファレンスを示します。

    プロシージャ名 ロード・モジュール名

    ml_add_user

    mlaub

    ml_delete_user

    mldub

    ml_del_sstate

    mldssb

    ml_reset_sstate

    mlrssb

    ml_del_sstate_b4

    mldssbb

    ml_add_lcs_chk

    mlalcscb

    ml_add_lcs

    mlalcsb

    ml_add_cs

    mlacsb

    ml_add_jcs

    mlajcsb

    ml_add_dcs

    mladcsb

    ml_add_lts_chk

    mlaltscb

    ml_add_lts

    mlaltsb

    ml_add_ts

    mlatsb

    ml_add_jts

    mlajtsb

    ml_add_dts

    mladtsb

    ml_add_property

    mlapb

    ml_add_column

    mlacb

    ml_set_device

    mlsdb

    ml_set_device_nt

    mlsdnb

    ml_set_dev_addr

    mlsdab

    ml_set_dev_addr_int

    mlsdanb

    ml_set_listening

    mlslb

    ml_set_listen_nt

    mlslnb

    ml_set_sis_sstate

    mlssssb

    ml_del_dev_addr

    mlddab

    ml_del_listen

    mldlb

    ml_delete_device

    mlddb

DB2 メインフレームの既知の問題
  • DB2 メインフレームがモデル・モードで動作しない   同期モデル作成ウィザードを使用している場合は、DB2 メインフレームを統合データベースとして使用することはできません。

  • SELECT 文には FOR READ ONLY 句が必要   DB2 メインフレームの SELECT 文は、デフォルトで更新用に開かれます。つまり、データベースは、SELECT 文の後に UPDATE 文があることを予測して書き込みロックを取得します。

    書き込みロックを回避し、同時実行性を強化するには、UPDATE 文に先行しないすべての SELECT 文で FOR READ ONLY を追加します。SELECT 文 (特に download_cursor スクリプトと download_delete_cursor スクリプトの SELECT 文) では、可能な限り頻繁に FOR READ ONLY を使用します。

  • Sysplex では時間の同期が必要   DB2 メインフレーム統合データベースが Sysplex で実行されている場合、Sysplex にあるすべての LPAR のクロックは同期されている必要があります。クロックを同期できない場合、データベースの同期中にデータが失われる可能性があります。

  • 数字が概数になる   概数には、可能なさまざまな値があります。次の表に例を示します。

    入力値 DB2 メインフレームの値 ASA の値

    Real

    123.456

    123.4559936523

    123.4560012817

    Float

    123.456

    123.45599999999999

    123.4560012817

    Double

    123.456

    123.45599999999999

    123.456

    DB2 メインフレーム統合データベースとの間では、倍精度カラムと浮動小数点カラムを同期しないことをおすすめします。

独立性レベル

Mobile Link 独立性レベルを参照してください。