APCOMPARE バインド・オプション

APCOMPARE オプションは、新しいアクセス・パスが古いアクセス・パスと異なるかどうかを判別します。

コマンド・オプション オプションの値 と併用
APCOMPARE
  • ( ノー )
  • ( なし )
  • (WARN)
  • (ERROR)
注:
  1. 高度なトリガーのパッケージのREBINDにはbindオプションは無効です。

オプションの説明 APCOMPARE

APCOMPARE いいえ
Db2 アクセス経路を比較しません。
APCOMPARE なし
Db2 アクセス経路を比較しません。
APCOMPARE(WARN)
Db2 一致する各ステートメントについて、古いアクセスパスと新しいアクセスパスを比較します。 アクセス経路が構造的に異なる場合、 Db2 はメッセージを送信し DSNT285I し、パッケージの処理を続行します。
APCOMPARE(ERROR)
Db2 一致する各ステートメントについて、古いアクセスパスと新しいアクセスパスを比較します。 アクセス経路が構造的に異なる場合、 Db2 はメッセージを送信し DSNT285I パッケージ処理を終了します。

DB2® 9 より前にバインドされたパッケージおよびパッケージのコピーについては、APCOMPAREオプションは無視されます。 SYSIBM.SYSPACKAGE または SYSIBM.SYSPACKCOPY カタログ表の RELBOUND 列を調べることによって、パッケージまたはパッケージ・コピーがバインドされたバージョンを識別できます。

一時テーブルまたはアーカイブテーブルを参照するステートメントDb2 は、以前のパッケージで古いアクセスパスを検索して評価する際、ステートメントテキストを一致条件として使用します。 しかし、一時テーブルまたはアーカイブテーブルを参照する静的ステートメントについては、 Db2 は追加の一致条件を使用します。 なぜなら、バインド・オプション SYSTIMESENSITIVE と ARCHIVESENSITIVE の値によっては、テンポラル表またはアーカイブ表を参照するステートメントは 1 度バインドされることもあれば、2 度バインドされる可能性もあるからです。 以下の状況では、ステートメントは 2 度バインドされます。

  • SYSTIMESENSITIVE が YES に設定され、ステートメントがシステム期間テンポラル表またはバイテンポラル表を参照している。
  • ARCHIVESENSITIVE が YES に設定されていて、ステートメントがアーカイブ表を参照する場合。

ステートメントが 2 度バインドされると、2 度目のバインドの際に暗黙述部がステートメントに追加されます。 このプロセスは、暗黙的照会変換 と呼ばれます。 暗黙的照会変換のタイプは、PLAN_TABLE の EXPANSION_REASON 列に示されます。 したがって、 Db2 は、ステートメントのテキストを照合するだけでなく、前のパッケージと現在のパッケージのアクセスパスが同じ暗黙的述語を持つことも確認します。

デフォルト値 APCOMPARE

処理 デフォルトの 値
BIND SERVICE NONE
BIND PLAN 該当なし
BIND PACKAGE NONE
REBIND PLAN NONE
REBIND PACKAGE NONE