- PR -

OracleのSQLトレース出力について

1
投稿者投稿内容
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2007-03-30 23:28
こちらの会議室では初めて質問させていただきます。

Tomcatで動作するDB検索アプリケーションを使い、
Oracle10のDBに対してSelect処理を行っています。

画面は1つしかなく、jspで作成した"検索"ボタンを押すと同一画面に結果を表示するようになっています。

現在、
 ALTER SESSION SET SQL_TRACE=TRUE
を使ってSQLトレース情報をログとして取得しているのですが、
1つのログファイルで取得する内容が「画面起動〜終了までに実行した全てのSQL」になっています。

このログファイルを"検索"ボタンを押すたびに別名で作成するようにしたいのですが、
そういった事はできるでしょうか?

ご存知の方がいましたら教えてください。
よろしくお願いします。

http://homepage3.nifty.com/getget/oracle/index237.html
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2007-03-31 19:07
トレースのファイル名は固定(というかサーバプロセスの
プロセス ID がつけられる)ですから、同じセッションで
あれば無理でしょう。user_dump_dest を毎回変えるくらいの
方法しかないと思います。

...が、そもそも SQL トレースをログとして取るという
運用そのものが何か間違っている気がする...。
(取る内容によっては監査でいいんじゃないですか?)

_________________
もしもし@RMAN 友の会
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2007-04-01 02:24
そういう類のものはDBの機能で行うのではなく
AP側で吸収すべきではないでしょうか。

DBからしたら検索ボタンなんてものは意識して
いないわけで。

SQLをどのように生成しているかはわかりません
が、APでログ出力させることは不可能ですか?
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2007-04-01 15:00
ボタンを実行するたびにセッションを張り直す、つまりコネクションプーリングをやめる以外に方法はないです。
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2007-04-02 21:00
皆さん、回答ありがとうございます。
画面を閉じる=セッションを切ることでトレースファイルを区切る事にします。
ありがとうございました。

>もしもし様
学校で半分趣味半分勉強として作ったアプリで、
SQLトレースってどういう風に取得できるかな?という単純な疑問から質問しました。
誤解を招いてしまいスミマセン。
1

スキルアップ/キャリアアップ(JOB@IT)