重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 135|回复: 0
打印 上一主题 下一主题

[工具] 显示 CDB$ROOT 和所有 PDB 的表空间

[复制链接]
跳转到指定楼层
楼主
发表于 2026-4-6 17:21:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Inkcup 于 2026-4-7 14:01 编辑

-- 正确显示 CDB$ROOT 和所有 PDB 的表空间
SELECT
    CASE
        WHEN d.con_id = 1 THEN 'CDB$ROOT'
        WHEN d.con_id = 2 THEN 'PDB$SEED'
        ELSE p.name
    END AS container_name,
    d.tablespace_name,
    ROUND(SUM(d.bytes) / 1024 / 1024 / 1024, 2) AS size_gb,
    COUNT(d.file_name) AS datafile_count
FROM cdb_data_files d
LEFT JOIN v$pdbs p ON d.con_id = p.con_id
GROUP BY
    CASE
        WHEN d.con_id = 1 THEN 'CDB$ROOT'
        WHEN d.con_id = 2 THEN 'PDB$SEED'
        ELSE p.name
    END,
    d.tablespace_name
ORDER BY container_name, d.tablespace_name;
====================
CONTAINER_NAME  TABLESPACE_NAME                   SIZE_GB DATAFILE_COUNT
--------------- ------------------------------ ---------- --------------
CDB$ROOT        SYSAUX                                .88              1
CDB$ROOT        SYSTEM                               1.17              1
CDB$ROOT        TSP_APEX                                1              1
CDB$ROOT        TSP_ORDS                               .1              1
CDB$ROOT        UNDOTBS1                                1              1
CDB$ROOT        USERS                                   0              1
PDB1            SYSAUX                                .55              1
PDB1            SYSTEM                                .58              1
PDB1            TSP_APEX                                1              1
PDB1            TSP_ORDS                               .1              1
PDB1            UNDOTBS1                              .26              1

CONTAINER_NAME  TABLESPACE_NAME                   SIZE_GB DATAFILE_COUNT
--------------- ------------------------------ ---------- --------------
PDB1            USERS                                   0              1

12 rows selected.

====================

--查看当前PDB下所有表空间
SELECT
    tablespace_name,
    status,
    ROUND(SUM(bytes) / 1024 / 1024 / 1024, 2) AS size_gb,
    COUNT(file_name) AS datafile_count
FROM dba_data_files
GROUP BY tablespace_name,status
ORDER BY tablespace_name;
===============
TABLESPACE_NAME                STATUS       SIZE_GB DATAFILE_COUNT
------------------------------ --------- ---------- --------------
SYSAUX                         AVAILABLE        .55              1
SYSTEM                         AVAILABLE        .58              1
TSP_APEX                       AVAILABLE          1              1
TSP_ORDS                       AVAILABLE         .1              1
UNDOTBS1                       AVAILABLE        .26              1
USERS                          AVAILABLE          0              1

6 rows selected.

===============

--查看PDB1下所有表空间
SELECT
    d.tablespace_name,
    ROUND(SUM(d.bytes) / 1024 / 1024 / 1024, 2) AS size_gb,
    COUNT(d.file_name) AS datafile_count
FROM cdb_data_files d
WHERE d.con_id = (SELECT con_id FROM v$pdbs WHERE name = 'PDB1')
GROUP BY d.tablespace_name
ORDER BY d.tablespace_name;
===============
TABLESPACE_NAME                   SIZE_GB DATAFILE_COUNT
------------------------------ ---------- --------------
SYSAUX                                .55              1
SYSTEM                                .58              1
TSP_APEX                                1              1
TSP_ORDS                               .1              1
UNDOTBS1                              .26              1
USERS                                   0              1

6 rows selected.

===============

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 17:18 , Processed in 0.223761 second(s), 25 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表