- ベストアンサー
一つのSQLで表領域のサイズと使用量を抽出する方法
- 自動拡張サイズと現サイズを抽出するSQLと現在の使用量を抽出するSQLを一つに統合する方法を教えてください。
- 表領域のサイズと使用量を抽出するSQLを作成していますが、自動拡張サイズと現サイズ、現在の使用量の3つの要素を一つのSQLでまとめる方法を教えてください。
- 2つのSQLで表領域のサイズと使用量を抽出していますが、それを一つのSQLで行う方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
select sysdate syoribi,z.tablespace_name,x.jidou,x.gensaize,y.siyoryo from dba_tablespace z, ( select a.tablespace_name, to_char(sum(a.MAXBYTES)/1024/1024, '999,999,990') jidou, to_char(sum(a.BYTES)/1024/1024, '9,999,990.9') gensaize from dba_data_files a group by a.tablespace_name ) x, ( select b.tablespace_name, to_char(sum(b.BYTES)/1024/1024, '9,999,990.9') siyoryo from dba_segments b group by b.tablespace_name ) y where z.tablespace_name=x.tablespace_name(+) and z.tablespace_name=y.tablespace_name(+) ; どう違うのか判らないので推測するしかないけど、外部結合なら良いんじゃないかな。
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
それぞれがテーブルスペース毎に集計されるSQLなのだから、 テーブルスペース名で結合すれば良いだけでは? select * from ( (1)のSQL ) x,( (2)のSQL ) y where x.tablespace_name=y.tablespace_name ;
お礼
ご回答ありがとうございます。 そうなんです。回答いただいた方法でtablespace_nameのwhere条件を指定したのですが個別に実行した結果と求める値が違ってしまいます。 ご回答いただいた方法以外で一つのSQLで実行する方法ってないでしょうか??
お礼
k_o_r_o_c_h_a_nさんの教えていただいた方法でうまく抽出ができました!感激です^^どうもありがとうございました♪