Update 20c_datafile.sql
This commit is contained in:
@@ -4,83 +4,79 @@ WITH
|
|||||||
-- Sous-requête pour les fichiers de données dans une CDB
|
-- Sous-requête pour les fichiers de données dans une CDB
|
||||||
cdb_files AS (
|
cdb_files AS (
|
||||||
(
|
(
|
||||||
select
|
-- cdb_files.sql
|
||||||
|
SELECT
|
||||||
p.con_id AS pdb_id,
|
p.con_id AS pdb_id,
|
||||||
p.pdb_name AS pdb_name,
|
p.pdb_name AS pdb_name,
|
||||||
d.file_id,
|
d.file_id,
|
||||||
d.file_name,
|
|
||||||
d.tablespace_name,
|
d.tablespace_name,
|
||||||
a.bytes_alloc/1024/1024 file_size_mb,
|
d.file_name,
|
||||||
(a.bytes_alloc - nvl(b.bytes_free, 0))/1024/1024 space_used_mb,
|
a.bytes_alloc/1024/1024 AS file_size_mb,
|
||||||
nvl(b.bytes_free, 0)/1024/1024 space_free_mb,
|
(a.bytes_alloc - NVL(b.bytes_free, 0))/1024/1024 AS space_used_mb,
|
||||||
a.maxbytes/1024/1024 maxsize_mb,
|
NVL(b.bytes_free, 0)/1024/1024 AS space_free_mb,
|
||||||
round((a.bytes_alloc - nvl(b.bytes_free, 0)) / a.maxbytes * 100,2) percent_used,
|
a.maxbytes/1024/1024 AS maxsize_mb,
|
||||||
|
ROUND((a.bytes_alloc - NVL(b.bytes_free, 0)) / a.maxbytes * 100, 2) AS percent_used,
|
||||||
d.autoextensible,
|
d.autoextensible,
|
||||||
d.status,
|
d.status,
|
||||||
d.online_status
|
d.online_status
|
||||||
from
|
FROM
|
||||||
(
|
(
|
||||||
select
|
SELECT
|
||||||
f.file_id,
|
f.file_id,
|
||||||
sum(f.bytes) bytes_alloc,
|
SUM(f.bytes) AS bytes_alloc,
|
||||||
sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
|
SUM(DECODE(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) AS maxbytes
|
||||||
from dba_data_files f group by file_id
|
FROM cdb_data_files f GROUP BY file_id
|
||||||
) a,
|
) a
|
||||||
(
|
LEFT JOIN (
|
||||||
select
|
SELECT
|
||||||
f.file_id,
|
f.file_id,
|
||||||
sum(f.bytes) bytes_free
|
SUM(f.bytes) AS bytes_free
|
||||||
from dba_free_space f group by file_id
|
FROM cdb_free_space f GROUP BY file_id
|
||||||
) b,
|
) b ON a.file_id = b.file_id
|
||||||
dba_data_files d,
|
JOIN cdb_data_files d ON a.file_id = d.file_id
|
||||||
cdb_pdbs p
|
JOIN cdb_pdbs p ON d.con_id = p.pdb_id
|
||||||
where
|
|
||||||
a.file_id = b.file_id (+) and d.file_id=a.file_id and d.pdb_id=p.con_id
|
|
||||||
-- order by
|
|
||||||
-- p.con_id, p.pdb_name, d.file_name
|
|
||||||
)
|
|
||||||
WHERE
|
WHERE
|
||||||
(SELECT cdb AS is_cdb FROM v$database) = 'YES'
|
(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
|
-- Sous-requête pour les fichiers de données dans une non-CDB
|
||||||
non_cdb_files AS (
|
non_cdb_files AS (
|
||||||
(
|
(
|
||||||
select
|
-- non_cdb_files.sql
|
||||||
|
SELECT
|
||||||
NULL AS pdb_id,
|
NULL AS pdb_id,
|
||||||
NULL AS pdb_name,
|
NULL AS pdb_name,
|
||||||
d.file_id,
|
d.file_id,
|
||||||
d.file_name,
|
|
||||||
d.tablespace_name,
|
d.tablespace_name,
|
||||||
a.bytes_alloc/1024/1024 file_size_mb,
|
d.file_name,
|
||||||
(a.bytes_alloc - nvl(b.bytes_free, 0))/1024/1024 space_used_mb,
|
a.bytes_alloc/1024/1024 AS file_size_mb,
|
||||||
nvl(b.bytes_free, 0)/1024/1024 space_free_mb,
|
(a.bytes_alloc - NVL(b.bytes_free, 0))/1024/1024 AS space_used_mb,
|
||||||
a.maxbytes/1024/1024 maxsize_mb,
|
NVL(b.bytes_free, 0)/1024/1024 AS space_free_mb,
|
||||||
round((a.bytes_alloc - nvl(b.bytes_free, 0)) / a.maxbytes * 100,2) percent_used,
|
a.maxbytes/1024/1024 AS maxsize_mb,
|
||||||
|
ROUND((a.bytes_alloc - NVL(b.bytes_free, 0)) / a.maxbytes * 100, 2) AS percent_used,
|
||||||
d.autoextensible,
|
d.autoextensible,
|
||||||
d.status,
|
d.status,
|
||||||
d.online_status
|
d.online_status
|
||||||
from
|
FROM
|
||||||
(
|
(
|
||||||
select
|
SELECT
|
||||||
f.file_id,
|
f.file_id,
|
||||||
sum(f.bytes) bytes_alloc,
|
SUM(f.bytes) AS bytes_alloc,
|
||||||
sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
|
SUM(DECODE(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) AS maxbytes
|
||||||
from dba_data_files f group by file_id
|
FROM dba_data_files f GROUP BY file_id
|
||||||
) a,
|
) a
|
||||||
(
|
LEFT JOIN (
|
||||||
select
|
SELECT
|
||||||
f.file_id,
|
f.file_id,
|
||||||
sum(f.bytes) bytes_free
|
SUM(f.bytes) AS bytes_free
|
||||||
from dba_free_space f group by file_id
|
FROM dba_free_space f GROUP BY file_id
|
||||||
) b,
|
) b ON a.file_id = b.file_id
|
||||||
dba_data_files d
|
JOIN dba_data_files d ON a.file_id = d.file_id
|
||||||
where
|
|
||||||
a.file_id = b.file_id (+) and d.file_id=a.file_id
|
|
||||||
order by
|
|
||||||
d.file_name
|
|
||||||
)
|
|
||||||
WHERE
|
WHERE
|
||||||
(SELECT cdb AS is_cdb FROM v$database) = 'NO'
|
(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
|
-- Requête finale combinant les résultats des sous-requêtes
|
||||||
SELECT * FROM cdb_files
|
SELECT * FROM cdb_files
|
||||||
|
|||||||
Reference in New Issue
Block a user