Update 20c_datafile.sql

This commit is contained in:
Yacine31
2024-06-06 05:33:57 +02:00
parent a5752dde60
commit 670ed6c2b8

View File

@@ -1,62 +1,35 @@
prompt <h2>Détail des datafiles : </h2> prompt <h2>CDB/PDB - Détail des datafiles : </h2>
COLUMN is_cdb NEW_VALUE is_cdb_var
SELECT cdb AS is_cdb FROM v$database;
DECLARE SELECT
v_is_cdb VARCHAR2(3); CASE
BEGIN WHEN '&is_cdb_var' = 'YES' THEN p.con_id
-- Vérifier si la base de données est une CDB ELSE NULL
SELECT cdb INTO v_is_cdb FROM v$database; END AS pdb_id,
CASE
IF v_is_cdb = 'YES' THEN WHEN '&is_cdb_var' = 'YES' THEN p.name
-- Si la base de données est une CDB, exécuter la requête avec pdb_id et pdb_name ELSE NULL
FOR rec IN ( END AS pdb_name,
SELECT df.tablespace_name,
p.pdb_id AS pdb_id, df.file_name,
p.pdb_name AS pdb_name, df.bytes/1024/1024 AS Size_Mo,
df.tablespace_name, df.maxbytes/1024/1024 AS Maxsize_Mo,
df.file_name, df.autoextensible
df.bytes/1024/1024 AS Size_Mo, FROM
df.maxbytes/1024/1024 AS Maxsize_Mo, cdb_data_files df
df.autoextensible LEFT JOIN cdb_pdbs p ON df.con_id = p.con_id
FROM WHERE '&is_cdb_var' = 'YES'
cdb_data_files df UNION ALL
JOIN SELECT
cdb_pdbs p NULL AS pdb_id,
ON NULL AS pdb_name,
df.con_id = p.pdb_id df.tablespace_name,
ORDER BY p.pdb_name df.file_name,
) df.bytes/1024/1024 AS Size_Mo,
LOOP df.maxbytes/1024/1024 AS Maxsize_Mo,
DBMS_OUTPUT.PUT_LINE('PDB ID: ' || rec.pdb_id || df.autoextensible
', PDB Name: ' || rec.pdb_name || FROM
', Tablespace Name: ' || rec.tablespace_name || dba_data_files df
', File Name: ' || rec.file_name || WHERE '&is_cdb_var' = 'NO';
', Size (MB): ' || rec.Size_Mo ||
', Max Size (MB): ' || rec.Maxsize_Mo ||
', Autoextensible: ' || rec.autoextensible);
END LOOP;
ELSE
-- Si la base de données n'est pas une CDB, exécuter la requête sans pdb_id et pdb_name
FOR rec IN (
SELECT
df.tablespace_name,
df.file_name,
df.bytes/1024/1024 AS Size_Mo,
df.maxbytes/1024/1024 AS Maxsize_Mo,
df.autoextensible
FROM
dba_data_files df
ORDER BY
df.tablespace_name,
df.file_name
)
LOOP
DBMS_OUTPUT.PUT_LINE('Tablespace Name: ' || rec.tablespace_name ||
', File Name: ' || rec.file_name ||
', Size (MB): ' || rec.Size_Mo ||
', Max Size (MB): ' || rec.Maxsize_Mo ||
', Autoextensible: ' || rec.autoextensible);
END LOOP;
END IF;
END;
/