概要
Cognos BI & Analyticsで、Content StoreをDB2に作成する事は多いと思いますが、デフォルトのやり方とはちょっとだけ違う、私がいつもやっているTipsです。
内容
Cognos Content StoreをDB2に作成するガイドは、昔からこのBlue Stackが有名なので、これを参考にしていました。
Blue Stack - Setting up DB2
https://www.ibm.com/developerworks/data/library/cognos/page160.html
しかしながら、最近のCognosでは、Content Storeを作成するためのDDLは、Cognos ConfigurationからContent Storeを右クリックし、「DDLの生成」で作成する事ができます。
そして、ここのフォルダに生成される、createDb.sqlファイルを、DB2コマンドウィンドウから db2 -tvf createDb.sql で流せば、Content Storeに必要なDBが生成されます。
しかしながら、このデフォルトで生成されるcreateDb.sqlファイルは、そのまま流さず、常日頃、以下のように修正しています。
TERRITORYは日本なので、JP にしています。
APPLHEAPSZは、昔っから1024が推奨されてきましたが、DB2 9.5からAPPLHEAPSZの設定値の意味合いが、セッション単位の設定値から、データベースセッション全体の設定値に変わっています。
そのため、DB2 9.5以前のガイドのままのAPPLHEAPSZ=1024では、DB2 9.5以降では少なすぎると考え、この一行はコメントアウトして実行しない、つまりAPPLHEAPSZはデフォルトのAUTOMATICにするようにしています。
BufferPoolもSIZE=1000では、8MB、32MBなので、今時そんなに少なくしなくても・・・と思い、10000とか、適当な値に変更しています。
Content StoreのBufferPoolのサイズが小さくて、パフォーマンスが劣化した経験もあるためです。
そんな感じですかね。
Content Storeで問題が起こる事は少ないですが、無い事も無いので、DB2設計とか良くわからんという方は、取り合えず上記のようにしておいてみても良いかも知れません。
あと、DB2の場合、Content Storeのインスタンスは、ユーザーDBのインスタンスとは分けた方が良いか、というのは良く聞かれます。
私の答えは、運用の観点で、ユーザーDBとは停止タイミングが違う可能性があるのと、
マニュアルに
DB2 registry variable (DB2_INLIST_TO_NLJN) = YES
がインスタンス単位の設定の推奨値として記載されているので、このパラメーターが何かしら他のDBに意図せぬ影響を及ぼす可能性も考えると、インスタンスは分けておいた方が良い、という回答をしています。
https://www.ibm.com/support/knowledgecenter/SSEP7J_11.0.0/com.ibm.swg.ba.cognos.inst_cr_winux.doc/c_guidelines_db2_lux_content_store.html
以上です。
最後に、Content Store系で、参考になりそうな情報も添付しておきますので、興味があれば覗いてみてください。
IBM Cognos 8 Content Store Back up and Clean up
https://www.ibm.com/developerworks/data/library/cognos/infrastructure/databases/page502.html
Cognos Open Mic Webcast : Best Practices for maintaining the IBM Cognos BI Server
http://www-01.ibm.com/support/docview.wss?uid=swg21611092