oracle

SET_MODULE でセッションに目印を付ける

DBMS_APPLICATION_INFO.SET_MODULE を使えば、v$sessionのmodule,actionに対して自由に値を設定する事ができるのでパフォーマンスチューニングの際何かと重宝します。v$sessionだけでなくv$sqlにも保持しているのでSQL抽出という面でもありがたいです。ストアドプロシージャを作成する場合処理の頭でこれを設定しておけば、ストアドプロシージャから発行されているSQLを簡単に抽出する事ができるので、開発ルールに含めておくとよいと思います。AWRレポートが利用できる環境であればさらにそのありがたみを感じるとおもいます。(高負荷SDQL_IDとともにmodule名が表示されます)

設定例
exec DBMS_APPLICATION_INFO.SET_MODULE ('sooni_module','logging')
;
確認例 sys_context ()での確認
 select sys_context('userenv','MODULE') MODULE, sys_context('userenv','ACTION') ACTION from dual
;
v$sessionからの抽出例
select s.SID,s.SERIAL#,s.SQL_ID from v$session s where s.MODULE='sooni_module'
;
v$sqlからの抽出例
select q.SQL_ID,q.MODULE,q.ACTION, substr(q.SQL_TEXT,1,40) sql_text from  v$sql q where q.MODULE='sooni_module'
;
SQL> set sqlformat ansiconsole on
SQL> exec DBMS_APPLICATION_INFO.SET_MODULE ('sooni_module','logging')

PL/SQLプロシージャが正常に完了しました。

SQL> select sys_context('userenv','MODULE') MODULE, sys_context('userenv','ACTION') ACTION from dual;

         MODULE     ACTION
_______________ __________
sooni_module    logging

SQL> select s.SID,s.SERIAL#,s.SQL_ID from v$session s where s.MODULE='sooni_module';

     SID    SERIAL#           SQL_ID
________ __________ ________________
   on257    on58524 dn69y7nnpkqf4

SQL> select q.SQL_ID,q.MODULE,q.ACTION, substr(q.SQL_TEXT,1,40) sql_text from  v$sql q where q.MODULE='sooni_module';

          SQL_ID          MODULE     ACTION                                    SQL_TEXT
________________ _______________ __________ ___________________________________________
9h5vf8mn701wp    sooni_module    logging    select q.SQL_ID,q.MODULE,q.ACTION,substr
bkfrfuwras4tg    sooni_module    logging    select table_owner, table_name  from all
bkfrfuwras4tg    sooni_module    logging    select table_owner, table_name  from all
cpnzbx07cs4xk    sooni_module    logging    select s.SID,s.SERIAL#,s.SQL_ID from v$s
7c8x1m7304hy1    sooni_module    logging    SELECT A.* FROM V$SESSION A
czavq3wtw8k01    sooni_module    logging    select q.SQL_ID,q.MODULE,q.ACTION,substr
スポンサーリンク
タイトルとURLをコピーしました