1.13.2011

How to get the text of a very large SQL in SQL*Plus

SQL*Plusでv$sqlから長いSQL文を全て表示

・Oracle 10g

> set pages 50000
> set long 2000000000
> set lines 120
> select sql_fulltext from v$sql where hash_value='xxxxxxxxxx';

ハッシュ値の見つけ方は以下参照。sql_id で結合してもよい。

> select to_char(a.last_active_time, 'YYYY/MM/DD HH24:MI:SS'),
       a.hash_value,
       b.status,
       b.username,
       a.sql_text,
       round(a.cpu_time/1000000,2),
       round(a.elapsed_time/1000000,2),
       a.executions,
       a.buffer_gets,
       a.disk_reads
  from v$sql     a,
       v$session b
where a.address = b.sql_address;

・Oracle 9i

> set pages 50000
> set lines 120
> select sql_text from v$sqltext where hash_value=xxxxxxxxxx;

StatsPackのデータを抽出する場合は、stats$sqltext から select。

参考:
http://oracle.se-free.com/dic/E2_sqltext_.html

0 件のコメント:

コメントを投稿