データベースのアップグレード

インスタンスを Db2® バージョン 11.1にアップグレードした後、各インスタンスの下の各データベースをアップグレードする必要があります。

始める前に

  • SYSADM 権限を持っていることを確認します。
  • アップグレードするすべてのローカル・データベースを必ずカタログします。
  • Db2 サーバーのアップグレード前タスクの説明に従ってデータベースをバックアップしたことを確認します。
  • Db2 バージョン 11.1 がインストールされ、インスタンスが Db2 バージョン 11.1にアップグレードされていることを確認します。


の制約事項

プロシージャー

Db2 データベースを Db2 バージョン 11.1にアップグレードするには、以下のようにします。

  1. インスタンス所有者または SYSADM 権限を持つユーザーとして Db2 サーバーにログオンします。
  2. オプション: 新規ファイルが作成されるように、 db2diag ログ・ファイルを名前変更または削除します。 また、diagpath パラメーターに指定されているディレクトリー内にある既存のダンプ・ファイル、トラップ・ファイル、およびアラート・ログ・ファイルをすべて除去するか、別のディレクトリーに移動させます。 こうすることによって、ファイルにはアップグレード・プロセスに関する情報だけが含まれるようにします。これは、データベース・アップグレードの途中で何らかの問題が発生した場合に、その問題を分離して理解するのに役立ちます。
  3. オプション: db2 LIST DATABASE DIRECTORY コマンドを発行して、データベースが現行インスタンス内のすべてのカタログ済みデータベースのリストに含まれていることを確認します。
  4. UPGRADE DATABASE コマンドを使用してデータベースをアップグレードします。
       db2 UPGRADE DATABASE database-alias USER username USING password
    ここで、 database-alias はアップグレードするデータベース名またはデータベース別名、および SYSADM 権限を持つユーザーを認証するためのユーザー名とパスワードです。

    自動再バインドのオーバーヘッドを回避するため、REBINDALL パラメーターの使用を検討してください。このパラメーターは、アップグレード時にすべてのパッケージの REBIND を実行することを指定します。

  5. UPGRADE DATABASE コマンドが失敗し、失敗の原因を説明する理由コードとともに SQL1704N エラー・メッセージが返された場合は、この SQL エラー・コードを見つけ、理由コードごとに考えられる解決策のリストから取るべき処置を判別してください。
    アップグレードの失敗の最も一般的な原因の 1 つは、ログ・ファイルのスペースの大きさが十分ではないことが挙げられ、その場合には以下のエラーが戻ります。
    SQL1704N  Database upgrade failed.  Reason code "3". 
    ログ・ファイル・サイズを大きくしてUPGRADE DATABASE コマンドを再度実行する必要があります。 データベースのアップグレードが完了したら、 logfilsizlogprimary 、および logsecond の各データベース構成パラメーターの値をリセットします。

    データベースのアップグレードでサポートされていない特定の場合に、UPGRADE DATABASE コマンドが戻すエラー・コードがさらにあります。 これらのケースについては、 アップグレードの制約事項で説明されています。

  6. UPGRADE DATABASE コマンドが SQL1243W 警告メッセージを返す場合は、 SYSTOOLS.DB2LOOK_INFO 表
    こうしないと、ALTER TABLE および COPY SCHEMA ステートメントの実行が失敗します。
    以下のコマンドを実行することにより、SYSTOOLS.Db2LOOK_INFO 表が存在するかどうかを確認します。
       db2 "SELECT tabname, tabschema, definer FROM syscat.tables 
              WHERE tabschema = 'SYSTOOLS' AND tabname = 'DB2LOOK_INFO'"
    この表を作成した場合、RENAME ステートメントを実行してこの表を名前変更してください。
       db2 RENAME SYSTOOLS.DB2LOOK_INFO TO new-table-name
    
    この表を作成していない場合には、DROP コマンドを実行して除去してください。
       db2 DROP TABLE SYSTOOLS.DB2LOOK_INFO
  7. UPGRADE DATABASE コマンドが SQL1499W 警告メッセージを返し、すべての詳細を含む ADM7535W 警告メッセージを管理通知ログに書き込む場合、コマンドはカタログ表の表スペース属性のリフレッシュに失敗しました。
    しかし、データベースは正常にアップグレードされています。
  8. UPGRADE DATABASE コマンドが SQL1499W 警告メッセージを返し、すべての詳細を含む ADM4003E 警告メッセージを管理通知ログに書き込む場合、コマンドは、ストアード・プロシージャーのエラーのために Db2 Text Search カタログまたは索引のアップグレードに失敗しました。
  9. UPGRADE DATABASE コマンドが SQL1499W 警告メッセージを返し、すべての詳細を含む ADM7534W 警告メッセージを管理通知ログに書き込む場合、コマンドはカタログ表の表スペース属性のリフレッシュに失敗しました。
    しかし、データベースは正常にアップグレードされています。
  10. UPGRADE DATABASE コマンドが SQL1499W 警告メッセージを戻し、 ADM4102W 警告メッセージを管理通知ログに書き込む場合は、NULL キーワードとの競合を避けるために、SQL ステートメントで NULL と呼ばれる ID を修飾するか、引用符で区切ってください。
  11. UPGRADE DATABASE コマンドが SQL1499W 警告メッセージを戻し、 ADM4102W 警告メッセージを管理通知ログに書き込む場合は、NULL キーワードとの競合を避けるために、SQL ステートメントで NULL と呼ばれる ID を修飾するか、引用符で区切ってください。

    SQL ステートメント内で列名、ルーチン・パラメーター名、または変数名に、 完全修飾されることも引用符で区切られることもない NULL という ID を使用する場合、 その ID 名は、代わりに NULL キーワードとして解決されることがあります。 結果として、以前のリリースの場合とは異なる動作になることが考えられます。 詳しくは、 データベース・アプリケーションのアップグレードに関する重要事項 を参照してください。

  12. UPGRADE DATABASE コマンドが SQL1499W 警告メッセージを返し、 ADM9516W 警告メッセージを管理通知ログに書き込む場合は、 indexrec 構成パラメーターが RESTART に設定されていることを確認し、 RESTART DATABASE コマンドを発行して、データベースのアップグレード中に無効とマークされた索引を再作成します。
    そのようにしないと、表に最初にアクセスするときに索引の再ビルドが開始するので、応答時間が予想外に低下することがあります。
  13. UPGRADE DATABASE コマンドが SQL0473N エラー・メッセージを返した場合は、 データベース・マイグレーションを元に戻して 、制限されていない別の名前のシステム組み込みデータ・タイプ名を使用するすべてのユーザー定義データ・タイプを再作成する必要があります。

    UPGRADE DATABASE コマンドの失敗を回避するには、 データベースのアップグレードの準備ができていることの検証中に、これらのユーザー定義データ・タイプを再作成します。

  14. UPGRADE DATABASE コマンドが DBT5512 エラー・メッセージを返す場合、ワークロード管理オブジェクトの ID がシステム予約 ID と競合するため、コマンドはデータベースのアップグレードに失敗しました。 データベースをアップグレードするには、以下のアクションを実行します。
    1. -wlm パラメーターを指定した db2look コマンドを発行して、ワークロード管理オブジェクトを再作成するための DDL ステートメントを生成します。
    2. データベースからすべてのワークロード管理オブジェクトをドロップします。
    3. db2ckupgrade コマンドによって報告されたすべての問題を解決し、データベースのアップグレードをブロックします。
    4. データベースをアップグレードします。
    5. db2look コマンドを使用して生成した DDL ステートメントを発行して、アップグレードしたデータベース内にワークロード管理オブジェクトを再作成します。
  15. UPGRADE DATABASE コマンドが SQL1700N エラー・メッセージを返した場合は、 データベース・マイグレーションを元に戻して 、制限されていないスキーマ名を持つ制限付きスキーマ名を使用するデータベース・オブジェクトを再作成する必要があります。

    UPGRADE DATABASE コマンドの失敗を回避するには、 データベースのアップグレードの準備ができていることの検証 中に、これらのデータベース・オブジェクトを再作成します。

    .
  16. UPGRADE DATABASE コマンドが ADM4003E エラー・メッセージを返した場合は、 Db2 Text Search のカタログと索引を手動でアップグレードしてください。
    詳しくは、 SYSTS_UPGRADE_CATALOG および SYSTS_UPGRADE_INDEXを参照してください。
  17. アップグレード後のデータベース構成の設定と、データベースをアップグレードする前の構成の設定を比較します。 以下の設定とデータベース情報が同じであることを確認します。
    • データベース構成パラメーターの設定
    • 表スペース情報
    • アプリケーションのパッケージ情報のみ

    システムによって生成されるパッケージのパッケージ情報を検査する必要はありません。 システムによって生成されるパッケージに関する情報は、アップグレード後に変更される可能性があります。
  18. データベースのアップグレードが正常に実行されたことを確認します。 アップグレード後のデータベースに接続し、以下の小規模な照会を発行します。
       db2 connect to sample
    
         Database Connection Information
    
        Database server        = DB2/AIX64 10.1.0
        SQL authorization ID   = TESTDB2
        Local database alias   = SAMPLE
    
       db2 select * from syscat.dbauth
    あるいは、インストールされているサンプル・ファイルがある場合は、 testdata.db2 スクリプトを実行します。
       cd samplefile-dir-clp
       db2 connect to sample
       db2 -tvf testdata.db2
    ここで、 samplefile-dir-clpDB2DIR/samples/clp on Linux® and UNIX and DB2DIR\samples\clp on Windows の場合、 DB2DIRDb2 バージョン 11.1 のインストール時に指定された場所を表し、sample はデータベース名です。

次の作業

Db2 データベースをアップグレードした後、データベースを正常にアップグレードするために、推奨されている アップグレード後タスク を実行します。