DB2 PLANのコピー移動による影響について

http://www-01.ibm.com/support/docview.wss?uid=std36cc3a83530481f00492574890006c57d

概要

002F03EC【DBRMモジュールを作成したデータセット(仮にDBRMAとする)に対してBIND PLANを実行した場合は正常終了するのですが、作成したDBRMモジュールを別のデータセットにIEBCOPYでコピーしてからコピー先のデータセット(仮にDBRMBとする)に対してBIND PLANを実行するとSQLCODE-818で異常終了しました。】


内容/目次

<<< QUESTION >>> 2008/06/19 17:48:31

z/OS V1.4, DB2 V7の環境です。

DBRMモジュールを新たに作成し、作成されたPLANに対してBIND PLANを実行しています。

DBRMモジュールを作成したデータセット(仮にDBRMAとする)に対してBIND PLANを実行した場合は正常終了するのですが、作成したDBRMモジュールを別のデータセットにIEBCOPYでコピーしてからコピー先のデータセット(仮にDBRMBとする)に対してBIND PLANを実行するとSQLCODE-818で異常終了しました。

SQLCODE-818はタイムスタンプのエラーで、当初作成したDBRMモジュールを別データセットにコピーしたことでタイムスタンプに不整合が起こったのではと推測していますが実際の仕様を確認させてください。 
DB2がDBRMモジュールの場所を認識しているため、別データセットにコピーした場合はBIND PLANを実行できないのでしょうか?

<<< ANSWER >>> 2008/06/20 13:25:38

SQLCODE:-818で言っているTimestampとは、DB2 PrecompilerがDBRM内に書き出したTimestampを指します。
コピー時のファイルなどに対するTimestampは参照していません。
ロードモジュールを作成した時に作成されたDBRMを使用してBINDする必要があります。
DB2 Precompilerの出力結果のプログラム・ソースから作成されたロード・モジュールと同じタイミングで作成されたDBRMからBINDされたPLAN/PACKAGEを使用しないと実行することはできません。

別のデータセットにコピーしてBINDすることは可能です。
REBIND時などのためにBIND時に保管場所はDB2 Catalog内にも保管されていますが、BIND時はデータセットが入力(但し、COPYオプション指定時など例外もあります)となる為、保管場所は任意となります。

<<< QUESTION >>> 2008/06/23 10:19:51

概ねは理解しましたが、回答内のコメントについて確認させてください。

Q1)
2行目の『コピー時のファイルなどに対するタイムスタンプは参照していません。』は、コピー時にファイルに直接タイムスタンプを書き込んでいるのではなく、コピー時にPDSのディレクトリーに書き込まれたタイムスタンプは参照していないということを言っているのでしょうか?

Q2)
最後の行の『REBIND時などのためにBIND時に保管場所はDB2 Catalog内にも保管されています』は、 DB2プリコンパイラーがプログラムのロード・モジュール内に書き出したタイムスタンプとDBRM内に書き出したタイムスタンプに加えて、BIND時にはDB2カタログ内にもタイムスタンプを保管しているため、 REBIND時はロード・モジュールやDBRMを別のデータセットに移動(コピー)してREBINDすることはできないということを言っているのでしょうか?

Q3)
また、最後の『BIND時はデータセットが入力となる為、保管場所は任意となります。』とは具体的にどのようなことを言っているのでしょうか?

<<< ANSWER >>> 2008/06/23 11:26:18

A1)
はい、その認識で問題ありません。
DB2が参照しているのはDB2 Precompilerが(プログラム・ソースとDBRMに対して)書き込んでいるTimestampです。

A2)
いいえ
「REBINDコマンド」は、Packageを参照しています。例えば、(プログラムには変更がないが)索引を追加した時や権限を変更した時に内容をPackageに反映したい場合などに使用します。
プログラムの変更が必要で、DBRMを入力にするのであれば、「REBINDコマンド」ではなく「BINDコマンド」を使用します。この場合は、DBRM(データセット・メンバー)が入力となります。「BINDコマンド」は、LIBRARYオプションで入力とするデータセットを入力します(MEMBERオプションでメンバー名を指定)

A3)
(繰り返しになりますが)前回回答のBINDとREBINDはそれぞれコマンドを指しており、異なるものと認識ください。
基本的にはBINDはDBRMを入力にして実行します。コマンドのLIBARYオプション(もしくはJCLのDBRMLIB DD)に指定されたライブラリを参照していますので、移動しても問題ありません。

以上

[@more@] http://www-01.ibm.com/support/docview.wss?uid=std36cc3a83530481f00492574890006c57d

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21018850/viewspace-1021473/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21018850/viewspace-1021473/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值