IBM Support

[Db2] フィックスパックの適用と、適用後のフォールバック方法

How To


Summary

Db2 Linux および UNIX 版は複数のフィックスパック適用方法があります。
この文書ではそれぞれの方法の利点と考慮点、実行手順と以前のレベルへの戻し方を案内します。

Objective

Db2 の修正はフィックスパック形式で提供され、installFixPack または db2_install (db2setup) で適用可能です。
  1. installFixPack コマンドの使用 (-p オプションなし)
  2. installFixPack コマンドの使用 (-p オプションあり)
  3. db2_install または db2setup の使用
各方法の利点および考慮点は以下の通りです。
表1. フィックスパック適用方法のサマリー
適用時のインスタンス停止時間 適用後に必要なディスク・スペース フォールバック時のインスタンス停止時間 追加のライセンス登録 db2iupdt の実行
a) 長い 少ない 長い 不要 不要
b) 短い 多い 短い 不要 必要
c)  短い 多い 短い 必要 必要
インスタンス停止時間の短さと適用の容易性から、ディスク・スペースに余裕がある場合は b) の使用を検討してください。マニュアルでは例として b) を案内しています。既存のインストールとコンポーネント構成を変更したい場合のみ c) を選択する意味があります。

既存の Db2 データベース製品に対するオフライン・フィックスパック更新のインストール (Linux® および UNIX)
b) と c) はフィックスパック適用時にディスク・スペースを多く消費しますが、フォールバックの可能性がなくなった時点で古いフィクスパックを削除してディスク・スペースを解放できます。

Environment

V9.1 以降の Db2 Linux および UNIX 版。

Steps

各ステップに共通
  1. フィックス・セントラルから Db2 のフィックスパックをダウンロードします。
    Download Db2 Fix Packs by version for DB2 for Linux, UNIX and Windows
  2. root で Db2 サーバーにログインし、ダウンロードしたフィックスパックを解凍します。
    例:/tmp/downloads にダウンロードした v11.5.9_linuxx64_server_dec.tar.gz を解凍
    # cd /tmp/downloads
    # gunzip -c v11.5.9_linuxx64_server_dec.tar.gz | tar -xvf-
    以降のステップでは解凍されたディレクトリーにある installFixPack または db2_install を使用します。
  • 注1:以下のステップでは例として /opt/ibm/db2/V11.5 にある既存のインストールに Db2 11.5.9 を適用します。
    b) と c) では新しいパスとして /opt/ibm/db2/V11.5.9 を指定します。
  • 注2:この文書ではインスタンス・レベルのフィックスパック適用までを案内します。データベース・レベルのバインドや db2updv* コマンドの実行はマニュアルを参照してください。
  • 注3:フィックスパック適用後、以前のレベルに戻す可能性がある場合は db2updv* コマンドを実行しないでください。db2updv* コマンドは戻す可能性がなくなった後に実行します。
  • 注4:フィックスパック適用後に作成したデータベースは以前のフィックスパックに戻せません。以前のフィックスパックに戻して使用すると SQL20249N などが返ります。この場合、データベースを再作成する必要があります。
a) installFixPack コマンドの使用 (-p オプションなし。既存のパスにインストール)
  • フィックスパックの適用
    1. Db2 のすべてのプロセスを停止します。
      すべての Db2 プロセスの停止 (Linux® および UNIX)
    2. root ユーザーで解凍先の installFixpack を実行します。
      ./installFixPack -n -y -b /opt/ibm/db2/V11.5 -l log1 -t trc1
    3. インスタンス・オーナーにスイッチし、正常に適用されたことを確認します。
      # su - db2inst1
      $ db2level
      DB21085I  This instance or install (instance name, where applicable:
      "db2inst1") uses "64" bits and DB2 code release "SQL11059" with level
      identifier "060A010F".
      Informational tokens are "DB2 v11.5.9.0", "s2310270807", "DYN2310270807AMD64",
      and Fix Pack "0".
      Product is installed at "/opt/ibm/db2/V11.5".
  • フィックスパックのフォールバック
    1. (重要) フォールバックしたいレベルのフィックスパックをダウンロードして解凍します。
    2. Db2 のすべてのプロセスを停止します。
      すべての Db2 プロセスの停止 (Linux® および UNIX)
    3. 解凍先の installFixPack を -f level オプションをつけて実行します。
      # ./installFixPack -n -y -f level -b /opt/ibm/db2/V11.5 -l log2 -t trc2
    4. インスタンス・オーナーにスイッチし、正常に適用されたことを確認します。
      $ db2level
      DB21085I  This instance or install (instance name, where applicable: "db2inst1")
      uses "64" bits and DB2 code release "SQL11054" with level identifier
      "0605010F".
      Informational tokens are "DB2 v11.5.4.0", "s2006161200", "DYN2006161200AMD64",
      and Fix Pack "0".
      Product is installed at "/opt/ibm/db2/V11.5".
b) installFixPack コマンドの使用 (-p オプションあり。新しいパスにインストール)
  • フィックスパックの適用
    1. root ユーザーでフィックスパック解凍先の installFixpack を -p オプションをつけて実行します。
      # ./installFixPack -n -y -b /opt/ibm/db2/V11.5 -p /opt/ibm/db2/V11.5.9 -l log1 -t trc1
    2. Db2 のすべてのプロセスを停止します。
      すべての Db2 プロセスの停止 (Linux® および UNIX)
    3. root ユーザーで -p で指定した先の instance/db2iupdt コマンドを実行します。
      # /opt/ibm/db2/V11.5.9/instance/db2iupdt -k -u db2fenc1 db2inst1
    4. インスタンス・オーナーにスイッチし、正常に適用されたことを確認します。
    5. (オプション) フォールバックの可能性がなくなった場合、古いフィックスパックを削除します。
      # /opt/ibm/db2/V11.5/install/db2_deinstall -a
  • フィックスパックのフォールバック
    1. Db2 のすべてのプロセスを停止します。
      すべての Db2 プロセスの停止 (Linux® および UNIX)
    2. root ユーザーで以前のインストール・パスの instance/db2iupdt コマンドを -f level つきで実行します。
      # /opt/ibm/db2/V11.5/instance/db2iupdt -k -f level -u db2fenc1 db2inst1
    3. インスタンス・オーナーにスイッチし、正常に適用されたことを確認します。
c) db2_install または db2setup の使用
  • フィックスパックの適用
    1. root ユーザーでフィックスパック解凍先の db2_install を実行します。
      # ./db2_install -b /opt/ibm/db2/V11.5.9 -f NOTSAMP -p SERVER -y -l log1 -t trc1
    2. Db2 のすべてのプロセスを停止します。
      すべての Db2 プロセスの停止 (Linux® および UNIX)
    3. root ユーザーで -p で指定した先の instance/db2iupdt コマンドを実行します。
      # /opt/ibm/db2/V11.5.9/instance/db2iupdt -k -u db2fenc1 db2inst1
    4. インスタンス・オーナーにスイッチし、正常に適用されたことを確認します。
    5. 新しい Db2 コピーにライセンスを登録します。
      $ db2licm -a <path_to_license_file>
    6. (オプション) フォールバックの可能性がなくなった場合、古いフィックスパックを削除します。
      # /opt/ibm/db2/V11.5/install/db2_deinstall -a
  • フィックスパックのフォールバック
    1. Db2 のすべてのプロセスを停止します。
      すべての Db2 プロセスの停止 (Linux® および UNIX)
    2. root ユーザーで以前のインストール・パスの instance/db2iupdt コマンドを -f level つきで実行します。
      # /opt/ibm/db2/V11.5/instance/db2iupdt -k -f level -u db2fenc1 db2inst1
    3. インスタンス・オーナーにスイッチし、正常に適用されたことを確認します。
運用上の考慮点
  • フィックスパックをダウングレードすると、すべてのパッケージは無効化され、SQL 要求は  SQL20249N で失敗します。このため、db2rbind コマンドですべてのパッケージを明示的に再バインドする必要があります。
    コマンド行プロセッサーのパッケージが無効化されているために ADMIN_REVALIDATE_DB_OBJECTS が SQL20249N で失敗する場合、先に db2rbind を実行してから ADMIN_REVALIDATE_DB_OBJECTS と db2rbind の再実行が必要です。
    [Db2] バージョンアップやフィックスパック適用で、データベース・オブジェクトが無効化される
  • インストール済みの Db2 製品や、各インスタンスが使用するインストールを一覧するには db2greg コマンドを実行します。
    $ db2greg -dump
  • Windows 版のフィックスパック適用とフォールバック
    Db2 Windows 版のフィックスパック適用は、setup.exe を起動して「既存の処理」を選択します。Windows 版にフィックスパック適用からのフォールバック方法はありません。フォールバックしたい場合は一度 Db2 をアンインストールし、戻したいレベルで新規インストールする必要があります。
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008Pm7AAE","label":"Install\/Migrate\/Upgrade-\u003EFixpak"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"All Versions"}]

Document Information

Modified date:
15 June 2024

UID

ibm16846791