adaptation des resultats tablespace et datafile aux bases CDB
This commit is contained in:
56
sql/20b_tablespaces.sql
Normal file
56
sql/20b_tablespaces.sql
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
prompt <h2>Détail des tablespaces (dans toutes les PDB si la base est CDB) : </h2>
|
||||||
|
|
||||||
|
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
|
||||||
|
;
|
||||||
@@ -1,62 +1,25 @@
|
|||||||
prompt <h2>Détail des tempfile : </h2>
|
prompt <h2>Détail des tempfile : </h2>
|
||||||
|
|
||||||
COL con_id HEAD "CON ID"
|
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_id HEAD "File ID"
|
||||||
COL file_name HEAD "Tempfile"
|
|
||||||
COL tablespace_name FORMAT A20 HEAD "Tablespace"
|
COL tablespace_name FORMAT A20 HEAD "Tablespace"
|
||||||
|
COL file_name HEAD "Tempfile"
|
||||||
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 status head "Status"
|
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
|
select
|
||||||
-- Sous-requête pour les fichiers de données dans une CDB
|
t.con_id,
|
||||||
cdb_files AS (
|
c.name,
|
||||||
-- cdb_files.sql
|
t.file_id,
|
||||||
select /* db-html-report */
|
t.tablespace_name,
|
||||||
p.con_id AS pdb_id,
|
t.file_name,
|
||||||
p.pdb_name AS pdb_name,
|
t.status,
|
||||||
d.file_id,
|
round(t.bytes/1024/1024) file_size_mb,
|
||||||
d.tablespace_name,
|
round(t.maxbytes/1024/1024) maxsize_mb,
|
||||||
d.file_name,
|
t.autoextensible
|
||||||
d.bytes/1024/1024 AS file_size_mb,
|
from cdb_temp_files t, v$containers c
|
||||||
d.maxbytes/1024/1024 AS maxsize_mb,
|
where t.con_id = c.con_id
|
||||||
d.autoextensible,
|
order by t.con_id, t.file_id, t.file_name;
|
||||||
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;
|
|
||||||
Reference in New Issue
Block a user