DB2 メインフレームを Mobile Link 統合データベースとして動作するよう設定するには、設定プロシージャを実行して、Mobile Link 同期に必要な Mobile Link システム・テーブル、ストアド・プロシージャ、トリガ、ビューを追加する必要があります。このタスクは SQL メソッドまたは JCL メソッドを使用して実行できます。
設定スクリプトを実行するデータベース・ユーザは、Mobile Link システム・テーブルを更新するパーミッションを持つ唯一のユーザです。Mobile Link アプリケーションを設定するには、このパーミッションが必要です。必要なパーミッションを参照してください。
Mobile Link サーバを統合データベースに接続するために使用される RDBMS ユーザは、Mobile Link システム・テーブル、プロシージャなどを修飾子なしで使用できる必要があります (SELECT * from ml_user など)。Mobile Link サーバのシステム・テーブルを参照してください。
Mobile Link スキーマ用にページ・サイズが 8 K 以上でローレベルのロックが設定されたバッファ・プールを作成します。ローレベルのロックは、同じテーブルに対する同時同期を処理するために必要です。この例では、バッファ・プールに BP8K という名前を付けます。
Mobile Link スキーマ用にページ・サイズが 8 K のバッファ・プールを持つ MLTB8K という名前のテーブル領域を作成します。次に例を示します。
create tablespace MLTB8K in IANY bufferpool BP8K locksize row grant use of tablespace IANY.MLTB8K to public |
Mobile Link スキーマ・プロシージャ用の Workload Manager 環境がまだない場合は作成し、MLWLM というような名前を付けます。
DB2 データベースで提供されている ODBC ドライバを使用して、DB2 メインフレーム統合データベース用の ODBC DSN を設定します。次の項を参照してください。
SQL メソッドには、DSNTPSMP を使用してストアド・プロシージャを作成する機能が必要です。SQL ストアド・プロシージャを有効にしていない場合は、JCL による方法を使用してください。
DB2 メインフレームを統合データベースとして設定するに示す一般的な手順を使用して、DB2 メインフレーム環境を設定します。
install-dir\MobiLink\setup にある syncd2m.sql 設定スクリプトを変更します。
続行する前に、元の syncd2m.sql ファイルのバックアップ・コピーを作成してください。
syncd2m.sql ファイルで、次の記述をすべて置換します。
{MLTABLESPACE} をテーブル領域の名前である MLTB8K に置換します。
{WLMENV} を Workload Manager、つまり MLWLM に置換します。
次のコマンド・ラインを使用して syncd2m.sql 設定スクリプトを実行します。
dbisql -c "uid=user-id;pwd=password;DSN=dsn-name" -nogui syncd2m.sql |
メッセージ・ログ・ファイル syncd2m.txt が生成されます。
syncd2m.txt を開いて、DSNTPSMP 呼び出しが成功したことを確認します。
DB2 メインフレームを統合データベースとして設定するに示す一般的な手順を使用して、DB2 メインフレーム環境を設定します。
install-dir\MobiLink\setup にある syncd2m_jcl.sql 設定スクリプトを変更します。
続行する前に、元の syncd2m_jcl.sql ファイルのバックアップ・コピーを作成してください。
syncd2m_jcl.sql ファイルで、次の記述をすべて置換します。
{MLTABLESPACE} を修飾されたテーブル領域 (たとえば MYDB.MYTS) に置換します。
{WLMENV} を DB2 インスタンスに割り当てられた Workload Manager の名前に置換します。
DBISQL を開始し、DB2 メインフレームに接続します。
install-dir\MobiLink\setup にある syncd2m_jcl.sql 設定スクリプトの編集済みコピーを実行して、DB2 メインフレームに Mobile Link テーブルを作成し Mobile Link プロシージャを定義します。
%SQLANY%\MobiLink\setup ディレクトリからメインフレームに FTP でアクセスし、次のコマンドを実行します。
bin hash cd xmit quote site recfm=fb lrecl=80 quote site cyl put d2mload.xmit put d2mdbrm.xmit quit |
メインフレームには次の 2 つの xmit ファイルがあります。
USERID.XMIT.D2MLOAD.XMIT
USERID.XMIT.D2MDBRM.XMIT
USERID は、FTP 経由の接続時に指定したユーザ名です。
ターミナル・セッションを開き、ISPF コマンド・シェルから次のコマンドを実行します。
RECEIVE INDATASET('USERID.XMIT.D2MLOAD.XMIT') RECEIVE INDATASET('USERID.XMIT.D2MDBRM.XMIT') |
出力は次のとおりです。
USERID.ML.LOADLIB
USERID.ML.DBRMLIB
d2mrelod.jcl ファイルをコピーして次のように変更します。
USERID をメインフレームのユーザ ID に変更します。
DSNDB0T を DB2 DSN に変更します。
install-dir\MobiLink\setup にある d2mrelod.jcl スクリプトの編集済みコピーを実行します。
d2mbdpk.jcl ファイルをコピーして次のように変更します。
USERID をメインフレームのユーザ ID に変更します。
DB0T を DB2 SSID に変更します。
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 メインフレームを統合データベースとして使用することはできません。
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 独立性レベルを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |