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