2008年12月15日
SQLTRACE (Cheetah)
( Updated: 2008/12/15, Original: 2007/02/19 )
IDS Cheetah (V11.10) や Cheetah2 ( V11.50 ) のSQLTRACE ( ONCONFIG パラメーター)を試してみましょう..
ONCONFIGに、次のような行を書いてからoninitを実行してオンラインモードにしてみます。
こうすると、以後データベースサーバーで実行されたすべてのSQL文が、ntraceやsizeで指定された範囲ですべて記録されます。記録した内容は、onstat -g his で表示できます。それぞれのSQLについて、実行時間やメモリー使用状況などの詳しい情報が表示されます。
dbaccessなどを使い、SQLでダイナミックにオンにすることもできます。
今までだと、SQLIDEBUGなどの環境変数を使ってクライアント側で記録するか、onstat -g stm/sql/ses などで「最後に実行された」SQLを取得するなどの方法がありましたが、それらに比べるととても詳しい実行履歴がとれそうです。
でも、いつも有効な状態にしておくと負荷がかかるんでしょうね。マニュアルを見ると、セッション単位でオンにしたりもできるようです。
残念ながら、V11.10 よりも古いバージョン ( IDS 9.4 や IDS 10.0 ) では使用できません。
IDS Cheetah (V11.10) や Cheetah2 ( V11.50 ) のSQLTRACE ( ONCONFIG パラメーター)を試してみましょう..
ONCONFIGに、次のような行を書いてからoninitを実行してオンラインモードにしてみます。
SQLTRACE level=low,ntraces=1000,size=1024,mode=global
こうすると、以後データベースサーバーで実行されたすべてのSQL文が、ntraceやsizeで指定された範囲ですべて記録されます。記録した内容は、onstat -g his で表示できます。それぞれのSQLについて、実行時間やメモリー使用状況などの詳しい情報が表示されます。
dbaccessなどを使い、SQLでダイナミックにオンにすることもできます。
execute function task("SET SQL TRACING ON",2000,1024);
今までだと、SQLIDEBUGなどの環境変数を使ってクライアント側で記録するか、onstat -g stm/sql/ses などで「最後に実行された」SQLを取得するなどの方法がありましたが、それらに比べるととても詳しい実行履歴がとれそうです。
でも、いつも有効な状態にしておくと負荷がかかるんでしょうね。マニュアルを見ると、セッション単位でオンにしたりもできるようです。
execute function task("SET SQL USER TRACING OFF",147);
残念ながら、V11.10 よりも古いバージョン ( IDS 9.4 や IDS 10.0 ) では使用できません。
Posted by oninit at 07:33│Comments(0)
│ちょっと細かいテックネタ
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。