From 8900c8bcfc2e0f35278df5f300573109330e5949 Mon Sep 17 00:00:00 2001 From: Yacine31 Date: Thu, 6 Jun 2024 05:26:45 +0200 Subject: [PATCH] Create 20c_datafile.sql --- sql/20c_datafile.sql | 69 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 sql/20c_datafile.sql diff --git a/sql/20c_datafile.sql b/sql/20c_datafile.sql new file mode 100644 index 0000000..e356d91 --- /dev/null +++ b/sql/20c_datafile.sql @@ -0,0 +1,69 @@ +prompt

Détail des datafiles :

+ + +ECLARE + 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 + 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); + FOR rec IN ( + SELECT + p.pdb_id AS pdb_id, + p.pdb_name AS pdb_name, + df.tablespace_name, + df.file_name, + df.bytes/1024/1024 AS Size_Mo, + df.maxbytes/1024/1024 AS Maxsize_Mo, + df.autoextensible + FROM + cdb_data_files df + JOIN + cdb_pdbs p + ON + 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 + 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; +/