diff --git a/sql/21_datafile.sql b/sql/21_datafile.sql index 7bf6bf0..41d7ab4 100644 --- a/sql/21_datafile.sql +++ b/sql/21_datafile.sql @@ -1,28 +1,49 @@ prompt

Détail des datafiles :

+ COL file_id HEAD "File ID" COL file_name HEAD "Datafile" COL tablespace_name FORMAT A20 HEAD "Tablespace" -COL bytes FORMAT 99999999.00 HEAD "Size MB" -COL maxbytes FORMAT 99999999.00 HEAD "MaxSize MB" -COL Pct_Used FORMAT 999.00 HEAD "% Used" - +COL file_size_mb FORMAT 99999999.00 HEAD "File Size MB" +COL space_used_mb FORMAT 99999999.00 HEAD "Space Used MB" +COL space_free_mb FORMAT 99999999.00 HEAD "Space Free MB" +COL maxsize_mb FORMAT 99999999.00 HEAD "Max Size MB" +COL percent_used FORMAT 999.00 HEAD "% Used" COL autoextensible FORMAT A15 HEAD "Auto Extensible" COL status head "Status" COL online_status format a15 head "Online Status" -SELECT - file_id, file_name, tablespace_name, - round(bytes/1024/1024,0) bytes, - round(maxbytes/1024/1024,0) maxbytes, - round(100*bytes/CASE WHEN maxbytes = 0 THEN 32767*1024*1024 ELSE maxbytes END) Pct_Used, - online_status, - status, autoextensible - FROM dba_data_files - ORDER BY - file_name; +select + d.file_id, + d.file_name, + d.tablespace_name, + a.bytes_alloc/1024/1024 file_size_mb, + (a.bytes_alloc - nvl(b.bytes_free, 0))/1024/1024 space_used_mb, + nvl(b.bytes_free, 0)/1024/1024 space_free_mb, + a.maxbytes/1024/1024 maxsize_mb, + round((a.bytes_alloc - nvl(b.bytes_free, 0)) / a.maxbytes * 100,2) percent_used, + d.autoextensible, + d.status, + d.online_status +from + ( + select + f.file_id, + sum(f.bytes) bytes_alloc, + sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes + from dba_data_files f group by file_id + ) a, + ( + select + f.file_id, + sum(f.bytes) bytes_free + from dba_free_space f group by file_id + ) b, + dba_data_files d +where + a.file_id = b.file_id (+) and d.file_id=a.file_id prompt

Existance de blocks corrompus :

select * from v$database_block_corruption;