Cognos Analytics DQMモードで監査テーブルにNATIVEQUERY出力
私の長らくの認識では、CognosでのDQMモードで監査テーブルにNATIVEQUERYをキャッチする事は出来ないので、以前こちら記事を書いていました。
Cognos AnalyticsでDQMレポート実行時に発行されるSQLクエリーのモニター
https://qiita.com/shinyama/items/15fc1f2bb11f8e2d4f1a
ところが先日、ある仕事でCognos開発元のNigelさんと会話する機会があったので、「DQMではNATIVEQUERYのキャッチ出来ないですよね~」と言ったところ、「そんな事無いぞ、ボケ」と一喝されてしまいました。
マジかよと思って調べてみたら、ああホントだ、確かにできる方法あるわ、というフィードバックです。
手順と結果
手順は簡単です。
QueryServiceのログレベルのみ「要求」に設定です。その他のサービスは「標準」で大丈夫です。
試しにサンプルにある「従業員満足度」を実行してみました。
動的のGOデータウェアハウス(分析)パッケージを使用です。
※GOデータウェアハウス(分析)パッケージはDMRのパッケージですが、GOデータウェアハウス(クエリー)のRelationalのパッケージでもきちんとNATIVEQUERY出力されました。
ちなみに、考慮点としては、QueryServiceのログレベルを「要求」にする事で、cogaudit.logの出力が増える事ですかね。
先程の「従業員満足度」のレポートを一回実行した時には、cogaudit.logに124行/51664文字のログが出力されていました。
そこそこログ出るので、ファイルシステム容量とか、ログ消し込みとか、少し注意が必要ですね。
という感じで、DQMで監査テーブルにNATIVEQUERY出力問題は、今後認識を改めたいと思いますので、皆様もこの認識のある方いらっしゃいましたら、一緒にご認識改めて頂ければと思います。