diff --git a/sql/20b_tablespaces.sql b/sql/20b_tablespaces.sql new file mode 100644 index 0000000..fb2527f --- /dev/null +++ b/sql/20b_tablespaces.sql @@ -0,0 +1,56 @@ +prompt

Détail des tablespaces (dans toutes les PDB si la base est CDB) :

+ +COL NAME FORMAT A20 HEAD "DB/PDB NAME" +COL TABLESPACE_NAME FORMAT A20 HEAD "Tablespace" +COL alloc_mb FORMAT 99999999.00 HEAD "Allocated MB" +COL used_mb FORMAT 99999999.00 HEAD "Used MB" +COL free_mb FORMAT 99999999.00 HEAD "Free MB" +COL max_mb FORMAT 99999999.00 HEAD "MaxSize MB" +COL Pct_Used FORMAT 999.00 HEAD "% Used" +COL BIGFILE FORMAT A8 HEAD "Bigfile" + +select /* db-html-report */ + a.con_id, + c.NAME, + a.tablespace_name, + t.bigfile, + a.bytes_alloc/1024/1024 alloc_mb, + (a.bytes_alloc - nvl(b.bytes_free, 0))/1024/1024 used_mb, + (nvl(b.bytes_free, 0))/1024/1024 free_mb, + maxbytes/1024/1024 Max_mb, + (a.bytes_alloc - nvl(b.bytes_free, 0)) / maxbytes * 100 Pct_Used +from + ( + select + f.con_id, + f.tablespace_name, + sum(f.bytes) bytes_alloc, + sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes + from + cdb_data_files f + group by + con_id, tablespace_name + ) a, + ( + select + f.con_id, + f.tablespace_name, + sum(f.bytes) bytes_free + from + cdb_free_space f + group by + con_id, tablespace_name + ) b, + v$containers c, + cdb_tablespaces t +where + a.con_id = b.con_id + and a.con_id = c.con_id(+) + and a.con_id = t.con_id + and a.tablespace_name = b.tablespace_name (+) + and a.tablespace_name = t.tablespace_name +order by + a.con_id, + c.NAME, + a.tablespace_name +; \ No newline at end of file diff --git a/sql/20d_tempfile.sql b/sql/20d_tempfile.sql index 88e8e59..091f6bf 100644 --- a/sql/20d_tempfile.sql +++ b/sql/20d_tempfile.sql @@ -1,62 +1,25 @@ prompt

Détail des tempfile :

COL con_id HEAD "CON ID" -COL pdb_name HEAD "PDB Name" +COL name HEAD "PDB Name" COL file_id HEAD "File ID" -COL file_name HEAD "Tempfile" COL tablespace_name FORMAT A20 HEAD "Tablespace" - -COL file_size_mb FORMAT 999999999.00 HEAD "File Size MB" --- COL space_used_mb FORMAT 999999999.00 HEAD "Space Used MB" --- COL space_free_mb FORMAT 999999999.00 HEAD "Space Free MB" -COL maxsize_mb FORMAT 999999999.00 HEAD "Max Size MB" --- COL percent_used FORMAT 999.00 HEAD "% Used" - -COL autoextensible FORMAT A15 HEAD "Auto Extensible" +COL file_name HEAD "Tempfile" COL status head "Status" --- COL online_status format a15 head "Online Status" +COL file_size_mb FORMAT 999999999.00 HEAD "File Size MB" +COL maxsize_mb FORMAT 999999999.00 HEAD "Max Size MB" +COL autoextensible FORMAT A15 HEAD "Auto Extensible" -WITH --- Sous-requête pour les fichiers de données dans une CDB -cdb_files AS ( - -- cdb_files.sql - select /* db-html-report */ - p.con_id AS pdb_id, - p.pdb_name AS pdb_name, - d.file_id, - d.tablespace_name, - d.file_name, - d.bytes/1024/1024 AS file_size_mb, - d.maxbytes/1024/1024 AS maxsize_mb, - d.autoextensible, - d.status - FROM - cdb_temp_files d - RIGHT JOIN cdb_pdbs p ON d.con_id = p.pdb_id - WHERE - (SELECT cdb FROM v$database) = 'YES' - ORDER BY p.pdb_id, d.tablespace_name, d.file_name -), --- Sous-requête pour les fichiers de données dans une non-CDB -non_cdb_files AS ( - -- non_cdb_files.sql - SELECT - 0 AS pdb_id, - NULL AS pdb_name, - d.file_id, - d.tablespace_name, - d.file_name, - d.bytes/1024/1024 AS file_size_mb, - d.maxbytes/1024/1024 AS maxsize_mb, - d.autoextensible, - d.status - FROM - dba_temp_files d - WHERE - (SELECT cdb FROM v$database) = 'NO' - ORDER BY d.tablespace_name, d.file_name -) --- Requête finale combinant les résultats des sous-requêtes -SELECT * FROM cdb_files -UNION ALL -SELECT * FROM non_cdb_files; +select + t.con_id, + c.name, + t.file_id, + t.tablespace_name, + t.file_name, + t.status, + round(t.bytes/1024/1024) file_size_mb, + round(t.maxbytes/1024/1024) maxsize_mb, + t.autoextensible +from cdb_temp_files t, v$containers c +where t.con_id = c.con_id +order by t.con_id, t.file_id, t.file_name; \ No newline at end of file