変更の開始

マイグレーション時のDb2 12新機能のアクティブ化

Db2 12 が導入するほとんどの新しい機能および拡張機能は、 機能レベル500 以上 をアクティベートするまで使用できません。 機能レベル500を有効化すると、 Db2 11 にフォールバックできなくなり、 Db2 12Db2 11 を共存させることはできません。

始める前に

重要: データ共有では、データ共有グループにアクティブな Db2 11 メンバーがいないことを確認してください。 データ共有メンバーを Db2 12 に移行する方法については、「グループの次のメンバーを Db2 に移行する 」を参照してください。
重要: サブシステムまたはデータ共有グループが、 Db2 12 で処理を継続でき、 Db2 11 へのフォールバックや共存の可能性がないことを確認するまでは、 Db2 12 のアクティベーションのためにACTIVATEコマンドを発行したり、ジョブDSNTIJAFを実行したりしないでください。 データ共用では、ACTIVATE コマンドにはグループ有効範囲があります。 機能レベル500 以上 の有効化が成功すると、フォールバックと共存は不可能になります。
重要: フォールバックSPE (APAR PI33871 )が適用された Db2 11 、一度も開始されたことのない非アクティブ・メンバーは、最初のデータ共有メンバーがファンクション・レベル100で Db2 12 に移行された後、開始できなくなる。
  • 変更の開始互換性のないアプリケーションがカタログの更新を妨げることがないようにしてください。 詳細については、 カタログ更新と互換性のないアプリケーションの識別を参照してください。変更の終わり

  • アクティブ化する機能レベルを決定します。 ほとんどの場合、下位の各機能レベルを現在アクティブ化されている機能レベルより上で個別にアクティブ化することなく、上位の機能レベルをアクティブ化することができます。 ただし、より高い機能レベルをアクティブ化すると、すべての低機能レベルのアクティブ化も行われます。 機能レベルをアクティブ化する前に、すべての下位機能レベルが導入する新しい機能と変更についてよく理解してください。

このタスクについて

Db2 12マイグレーション・プロセスは、以下の機能レベルを使用します。

機能レベル 100
Db2 12 Db2 12 への移行中は、機能レベル100から開始します。 機能レベル100 では、 Db2 11 へのフォールバックと、データ共有における Db2 11 との共存は引き続き可能であり、 Db2 12 のほとんどの新しい機能は引き続き無効のままです。 機能レベル 100 は、多くの点で、前のDb2リリースでの変換モードに相当します。 詳細は、 機能レベル100(移行 )を参照してください
機能レベル 500
機能レベル500( V12R1M500 ) は、 Db2 12 の初期リリースにおけるほとんどの新しい機能(新しいSQL機能や多くの新しいサブシステムパラメータ設定を含む)をアプリケーションが利用できる最初の機会を表します。 機能レベル500 を有効にすると、今後 Db2 11 へのフォールバックが一切発生しなくなります。 機能レベル 500 は、前のリリースでの多くの点で新機能モードに相当します。 詳細は、 機能レベル500(インストールまたは移行 - 2016年10月 )を参照してください

変更の開始 Db2 カタログをファンクション・レベル 502 用に調整する前に、まずファンクション・レベル 500 または 501 をアクティブにする必要があります。 ただし、下段のスター (*) の機能レベルを活動化しても、カタログが機能レベル 502 用に調整されることはありません。変更の終わり

継続的デリバリー Db2 12

Db2 12 、ほとんどの新機能アプリケーション機能を利用できるかどうかは、機能強化の種類、有効化された機能レベル、各アプリケーションの互換性レベルによって異なります。 現在、 Db2 12 で利用可能なすべてのファンクション・レベルのリストについては、 Db2 12 ファンクション・レベルを参照のこと。

Db2 の各サブシステムまたはデータ共有メンバーで PTF を適用すると、多くの新機能拡張がどの機能レベルでも有効になります。 詳しくは、 Db2 12の新機能APARを参照。

仮想ストレージの機能強化
仮想ストレージの機能強化は、機能強化を導入した機能レベル以上を活動化した場合に使用可能になります。 機能レベル100 を有効にすると、 Db2 12 の初期リリースで導入されたすべての仮想ストレージの拡張機能が有効になります。 つまり、 機能レベル500 の有効化は、仮想記憶の強化をもたらさない。
サブシステム・パラメーター
新しいサブシステム・パラメーターの設定は、それらを導入した機能レベルまたはより高い機能レベルが活動化された場合にのみ有効です。 Db2 12 の初期リリースにおける多くのサブシステムパラメータの変更は、 機能レベル500 で有効になります。 Db2 12 のサブシステムパラメータの変更に関する詳細は、 Db2 12のサブシステムパラメータの変更を参照してください。
最適化の機能強化
最適化の機能強化は、それらを導入した機能レベル以上を活動化し、SQL ステートメントの準備が完全に整った後で、使用可能になります、 すべての準備が行われるタイミングはステートメント・タイプによって異なります。
  • 静的 SQL ステートメントの場合は、パッケージのバインドまたは再バインド後
  • 固定化されていない動的 SQL ステートメントの場合は、即時 (ステートメントが動的ステートメント・キャッシュに入っていない限り)
  • 固定化された動的 SQL ステートメントの場合は、無効化、解放、またはアプリケーション互換性レベルの変更後
機能レベル100 を有効にすると、 Db2 12 の初期リリースで導入されたすべての最適化機能強化が利用可能になります。 つまり、 機能レベル500 では最適化の強化は導入されません。
SQL機能
新しい SQL 機能は、同等のアプリケーション互換性レベル以上で稼働するアプリケーションについて、それらを導入する機能レベルをアクティブにした後に使用可能になります。 Db2 12 の初期リリースにおける新しいSQL機能は、同等のアプリケーション互換性レベルまたはそれ以上のレベルで動作するアプリケーションに対して、 機能レベル500 で利用可能になります。 低い機能レベルや以前の Db2 リリース( Db2 11DB2® 10 を含む)と互換性のあるSQLステートメントを実行し続けることができます。 詳細については、 Db2 12 のアプリケーション互換性 (APPLCOMPAT) レベルを参照してください

プロシージャー

Db2 12新機能を初めてアクティブにするには、以下のステップを実行します。

  1. DISPLAY GROUPコマンドを発行して、 Db2 サブシステムまたは各データ共有グループメンバーのコードレベルが、目的の機能レベルをサポートしていることを確認します。
    その DSN7100I メッセージでは、DB2 LVL列はコードレベルを示します。 詳細および例については、「 Db2 コードレベル、カタログレベル、および機能レベルの決定 」を参照してください。
  2. 必要に応じて、PTF や RSU などのメンテナンスを適用し、 Db2 サブシステムまたはデータ共有グループのメンバーを、ターゲット機能レベルに必要なコードレベルまで引き上げます。
  3. Db2 installation CLIST を実行します。「カスタマイズされた 12のインストール、移行、または機能レベルのアクティベーションジョブの生成 Db2 」の説明に従ってください。 次に、以下の手順を完了してください。
    1. 変更の開始パネル DSNTIPA1 で、ACTIVATE、INPUT MEMBER、および OUTPUT MEMBER フィールドに値を指定します。
      • INSTALL TYPE フィールドに ACTIVATE を指定します。
      • INPUT MEMBER フィールドに、Db2 12にインストールまたはマイグレーションしたときに作成した CLIST 出力メンバーの名前、またはDb2 12機能レベルを最後にアクティブしたときに作成した名前を指定します。
      • OUTPUT MEMBER フィールドに、新規のメンバー名を指定して、将来の使用のために変更を保管します。
      変更の終わり
    2. 変更の開始パネル DSNTIPT で、SAMPLE LIBRARY フィールド値 (作成される出力データ・セットの名前) を確認します。 データ・セットがすでに存在している場合は、このフィールドの左端にアスタリスクが表示されます。 データ・セットが既に存在している場合は、CLIST は、そのデータ・セットが、新しい機能レベルのアクティブ化のためにカスタマイズするメンバーを置き換えます。変更の終わり
    3. パネル DSNTIP00 で、 V12R1M5nn を「TARGET FUNCTION LEVEL」フィールドに指定します。 5nn は、有効化したい機能レベルです。 フォーマットは VvvRrMmmm で、 vv はバージョン、 rはリリースmmm は修正レベルを表します。 この値は、DSNTIJAF ジョブおよび DSNTIJTC ジョブ内の CATMAINT ユーティリティー制御ステートメントの ACTIVATE コマンドで使用されます。
    4. すべてのDb2アプリケーションをバインドして、ターゲット機能レベルで実行できる場合は、APPLCOMPAT および SQLLEVEL サブシステム・パラメーター設定を変更します。 その他の場合、これらのフィールドは変更しないでください。
    5. 変更の開始残りのパネルを先に進み、CLIST がアクティベーション・プロセスのジョブを調整するのを待ちます。 出力データ・セットには、アクティベーション・プロセスの調整済みジョブが含まれます。変更の終わり
  4. ターゲット機能レベルが V12R1M502 以上の場合は、以下のジョブを実行します。
    1. DSNTIJA1 ジョブを実行して ACTIVATE コマンドを発行し、機能レベル 501 を活動化します。
      機能レベル 502 以上のDb2カタログを調整するには、事前に機能レベル 500 または 501 をアクティブにする必要があります。
    2. DSNTIJICジョブを実行して、 Db2 カタログとディレクトリのイメージコピーを取得します。
    3. DSNTIJTCジョブを実行して、CATMAINTユーティリティを実行し、 Db2 カタログを対象の機能レベルに合わせて調整します。
      重要: より高い機能レベルの CATMAINT ジョブの任意の部分が完了した後、低いコードレベルで Db2 を起動しようとしないでください。 Db2 が必要なコードレベルで継続して実行できることを確認した後、CATMAINTジョブを実行してください。 カタログの変更をサポートするためのコードは、CATMAINT ジョブを提供するコード・レベルに含まれています。
    4. 目標とする機能レベルが V12R1M510 の場合、 機能レベル510( V12R1M510 )( PH33727 - 2021年4月 )に記載された手順を完了してください。
  5. オプション: Db2 機能レベルの有効化のテストに記載されているように、対象の機能レベルの有効化をテストします
  6. DSNTIJAF ジョブを実行して、ターゲット機能レベルに ACTIVATE コマンドを発行します。
    コマンドが正常に完了すると、Db2はメッセージ DSN9022I を発行します。 ただし、データ共用グループのいずれかのアクティブ・メンバーが前のリリースで実行されている場合、コマンドは失敗し、Db2はメッセージ DSN9039I を出します。 メッセージ DSNU757I は、活動化コマンドの結果を示します。
    例えば、次のメッセージは、機能レベル 500 が正常に活動化されたことを示しています。
    DSNU757I  -DB2A DSNUGCCA                                                   
    *** BEGIN ACTIVATE FUNCTION LEVEL (V12R1M500)                              
                    FUNCTION LEVEL (V12R1M500) SUCCESSFULLY ACTIVATED          
                    CATALOG LEVEL(V12R1M500)                                   
                    CURRENT FUNCTION LEVEL(V12R1M500)                          
                    HIGHEST ACTIVATED FUNCTION LEVEL (V12R1M100)                
                    HIGHEST POSSIBLE FUNCTION LEVEL(V12R1M500)               
    DSN9022I  -DB2A DSNZACMD '-ACTIVATE FUNC' NORMAL COMPLETION
    ACTIVATE コマンドが正常に完了した後で、ほとんどのタイプの新機能および機能レベルでの機能拡張を使用できるようになるまで、さらに多くの処置が必要です。 例えば、新しい SQL 機能では、アプリケーションは適切なアプリケーション互換性レベルを使用する必要があり、最適化機能拡張は SQL ステートメントのすべての準備後にのみ適用されます。
  7. アプリケーションが機能レベルで新しい機能を使用する準備ができたら、それらを対応するアプリケーション互換性レベルで再バインドしてください。 詳細については、「 Db2 アプリケーションの互換性レベルの制御 」を参照してください。
    ヒント: Db2 アプリケーションがすべてターゲットの機能レベルでバインドおよび実行できる場合にのみ、以下の手順に進んでください。
    オプションで、すべてのアプリケーションがターゲット機能レベルの新機能を使用する準備ができたら、以下のジョブを実行できます。
    1. DSNTIJUZ を実行して、パネル DSNTIP00 で指定された APPLCOMPAT 値でサブシステム・パラメーター・モジュールを変更します。
    2. DSNTIJOZ ジョブを実行して SET SYSPARM コマンドを発行し、APPLCOMPAT サブシステム・パラメーターの変更をオンラインにします。
    3. Db2 データ専用アプリケーションのデフォルトモジュールを、パネル DSNTIP00 で指定されたSQLLEVEL値に変更するために、DSNTIJUAジョブを実行します。
  8. 変更の開始ジョブ DSNTIJXA をカスタマイズして実行し、EXPLAIN テーブルと関連オブジェクトを Db2 12 関数レベル 501or 以上の形式に更新します。
    重要: このステップを完了する前に、 APAR PH48053、PTFが適用されていることを確認してください。
    変更の終わり

次の作業

以下のいずれかのアクションを実行します。

  • 新しい機能レベルに最適化機能拡張が組み込まれている場合、Db2は、SQL ステートメントが利益を得る前に、完全な準備を実行する必要があります。 完全準備が行われるかどうかは、ステートメント・タイプによって異なります。
    • 静的 SQL ステートメントの場合は、パッケージのバインドまたは再バインド後
    • 固定化されていない動的 SQL ステートメントの場合は、即時 (ステートメントが動的ステートメント・キャッシュに入っていない限り)
    • 固定化された動的 SQL ステートメントの場合は、無効化、解放、またはアプリケーション互換性レベルの変更後
  • APPLCOMPAT および SQLLEVEL サブシステム・パラメータを更新するジョブを実行しなかった場合、アプリケーションの互換性の問題を解決しなかった場合、および、 Db2 がターゲット機能レベルで安定していることを確認した後に、アプリケーションの互換性レベルを上げる場合は、「 Db2 アプリケーションの互換性レベルの制御」 で説明されているようにしてください。
  • Db2 12 の機能レベルを有効化する際に、後退やその他の問題が発生した場合は、 Db2 12の「より低い(*)機能レベルを有効化する 」で説明されている一般的なアプローチに従って問題を解決しながら、アプリケーションへの影響を最小限に抑えてください。
  • Db2 カタログオブジェクトを新規に追加したり、無効なものを削除したりするには、COPY、RECOVER、REBUILD INDEXの各ユーティリティジョブを更新する必要があるかもしれません。 Db2 カタログオブジェクトについて、以下の状況が発生した場合、ユーティリティはメッセージを発行します。 DSNU1530I:
    • オブジェクトが使用されなくなったか、存在しなくなりました。
    • オブジェクトは、より高いカタログレベルまたは機能レベルで作成されます。

    最良の結果を得るには、変更をサポートする機能レベルをアクティブにした後に、これらの更新をユーティリティジョブとして実行してください。 Db2 12 のカタログ変更の詳細については、 Db2 12 のカタログ変更を参照のこと。

変更の終わり