IBM Support

[Db2] 初回だけデータベースへの接続が遅い

Question & Answer


Question

アプリケーションからの接続がひとつもないデータベースに対しては、最初のデータベース接続に時間がかかります。これはなぜでしょうか?

Answer

データベースに対して誰も接続をしておらず、データベースが明示的に活動化されていない場合、最初の接続の際にデータベースの活動化が行われます。
データベース活動化時は、データベース共有メモリーの割り当てと初期化、ログファイルの割り当て、表スペースのオープンなど多くの処理が行われるため、ある程度の時間が必要です。

アプリケーションからの接続がなくなることがあるデータベースでは、以下のコマンドで明示的に活動化をしておくことにより、最初の接続の際に活動化が不要となり、2 回目以降と同等の時間で接続できます。
db2 activate db <データベース名>

ACTIVATE DATABASE コマンドによって明示的に活動化されたデータベースは、全ての接続が切れた後も活動化されたままであるため、非活動化するには DEACTIVATE DATABASE コマンドを実行する必要があります。
オフラインバックアップの取得や、動的変更ができないパラメーターの変更など、非活動化が必要な際に全接続を切るだけで運用している場合は、DEACTIVATE DATABASE コマンドの実施を追加して下さい。

また、常に一つの接続を維持しておいても、活動化がされている状態となるため他の接続は早くなります。この場合は全ての接続が切れた時点で非活動化されるため、DEACTIVATE DATABASE コマンドは不要です。

データベースが明示的に活動化しているかどうかを確認する方法は、以下の Technote を参照してください。
  • 非活動化時に書き込み中のトランザクション・ログはクローズされ、ログ・ファイルの未使用部分は切り捨てられます。このため、LOGFILSIZ に満たないログ・ファイルが生成され、データベースで使用可能なログ・スペースを浪費します。
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"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":"a8m500000008PkgAAE","label":"Database Objects"},{"code":"a8m500000008PkqAAE","label":"Performance"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
08 March 2024

UID

swg21573864