DB2のActivate(活性化)とは

Activate(活動化)とは

DB に接続時には、必要なメモリの確保やログの整合性チェックが必要です。DB2 では、この作業をデータベースのActivate(活動化)と呼んでいます。

Activate のタイミング

DB2 は db2start によるインスタンスの起動時には活動化は行いません。DB に最初のユーザが接続した際に活動化が行われます。つまり、最初のユーザのみ接続に時間がかかるという事になります。またユーザが誰も接続していない状態になると非活動化(DEACTIVATE)が行われます。

事前活性化

初回ユーザの接続時に時間がかかる現象を回避するために、ACTIVATE DATABASE (DB)というコマンドが用意されています。

db2 ACTIVATE DATABASE <dbname> USER <user> USING <pass>

このコマンドを実行するとユーザの接続前に活動化が行われるので、初回接続の時間を短縮できます。ACTIVATE DATABASEを解除するには、DEACTIVATE DATABASEコマンドを実行します。

db2 DEACTIVATE DATABASE <dbname> USER <user> USING <pass>

ACTIVATEコマンドを実行すると、ユーザが接続していなくてもメモリを開放しなくなりますが、これによってバッファープールにたまったキャッシュをクリアしなくなるので、動作速度の向上が起こる場合もあります。