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,18 +1,17 @@
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
v_is_cdb VARCHAR2(3);
BEGIN
-- Vérifier si la base de données est une CDB
SELECT cdb INTO v_is_cdb FROM v$database;
IF v_is_cdb = 'YES' THEN
-- Si la base de données est une CDB, exécuter la requête avec pdb_id et pdb_name
FOR rec IN (
SELECT SELECT
p.pdb_id AS pdb_id, CASE
p.pdb_name AS pdb_name, WHEN '&is_cdb_var' = 'YES' THEN p.con_id
ELSE NULL
END AS pdb_id,
CASE
WHEN '&is_cdb_var' = 'YES' THEN p.name
ELSE NULL
END AS pdb_name,
df.tablespace_name, df.tablespace_name,
df.file_name, df.file_name,
df.bytes/1024/1024 AS Size_Mo, df.bytes/1024/1024 AS Size_Mo,
@@ -20,25 +19,12 @@ BEGIN
df.autoextensible df.autoextensible
FROM FROM
cdb_data_files df cdb_data_files df
JOIN LEFT JOIN cdb_pdbs p ON df.con_id = p.con_id
cdb_pdbs p WHERE '&is_cdb_var' = 'YES'
ON UNION ALL
df.con_id = p.pdb_id
ORDER BY p.pdb_name
)
LOOP
DBMS_OUTPUT.PUT_LINE('PDB ID: ' || rec.pdb_id ||
', PDB Name: ' || rec.pdb_name ||
', 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;
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 SELECT
NULL AS pdb_id,
NULL AS pdb_name,
df.tablespace_name, df.tablespace_name,
df.file_name, df.file_name,
df.bytes/1024/1024 AS Size_Mo, df.bytes/1024/1024 AS Size_Mo,
@@ -46,17 +32,4 @@ BEGIN
df.autoextensible df.autoextensible
FROM FROM
dba_data_files df dba_data_files df
ORDER BY WHERE '&is_cdb_var' = 'NO';
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;
/