Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小

复制代码
SELECT
    tablespace_name,
    sum( bytes ) / 1024 / 1024 
FROM
    dba_data_files 
GROUP BY
    tablespace_name;

2 Oracle查询表空间大小及每个表所占空间的大小

复制代码
SELECT
    tablespace_name,
    file_id,
    file_name,
    round( bytes / ( 1024 * 1024 ), 0 ) total_space 
FROM
    dba_data_files 
ORDER BY
    tablespace_name;

3 查询所有表空间以及每个表空间的大小,已用空间,剩余空间,使用率和空闲率,直接执行语句就可以.

复制代码
SELECT
    a.tablespace_name,
    total,
    free,
    total - free AS used,
    substr( free / total * 100, 1, 5 ) AS "FREE%",
    substr( ( total - free ) / total * 100, 1, 5 ) AS "USED%" 
FROM
    (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS total FROM dba_data_files GROUP BY tablespace_name) a,
    (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS free FROM https://zhida.zhihu.com/search?content_id=231075085&content_type=Article&match_order=1&q=dba_free_space&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3NDg1NzI1MTYsInEiOiJkYmFfZnJlZV9zcGFjZSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzMTA3NTA4NSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.6BaRKjgOV7zPbI0l6UZ-I3Xgn_BZtbQZhh1JUNP--74&zhida_source=entity GROUP BY tablespace_name) b 
WHERE
    a.tablespace_name = b.tablespace_name 
ORDER BY
    a.tablespace_name;

4 查询某个具体的表所占空间的大小,把 TABLE_NAME 换成具体要查询的表的名称就可以了

复制代码
SELECT
    t.segment_name,
    t.segment_type,
    sum( t.bytes / 1024 / 1024 ) "占用空间(M)" 
FROM
    dba_segments t 
WHERE
    t.segment_type = 'TABLE' 
    AND t.segment_name = 'TABLE_NAME' 
GROUP BY
    OWNER,
    t.segment_name,
    t.segment_type;
相关推荐
Goat恶霸詹姆斯6 小时前
mysql常用语句
数据库·mysql·oracle
xiaowu0807 小时前
C# 拆解 “显式接口实现 + 子类强类型扩展” 的设计思想
数据库·oracle
Apple_羊先森8 小时前
ORACLE数据库巡检SQL脚本--19、磁盘读次数最高的前5条SQL语句
数据库·sql·oracle
蚕豆哥13 小时前
【2026马年重启】我的 Primavera P6/Unifier 技术笔记,继续更新!
ai·oracle·项目管理·unifier·p6·进度管理·甲骨文
认真的薛薛15 小时前
数据库-sql语句
数据库·sql·oracle
IT邦德17 小时前
RPM包快速安装Oracle26ai
数据库·oracle
穿过锁扣的风18 小时前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
蓝帆傲亦19 小时前
代码革命!我用Claude Code 3个月完成1年工作量,这些实战经验全给你
jvm·数据库·oracle
惜分飞2 天前
ORA-600 kcratr_nab_less_than_odr和ORA-600 4193故障处理--惜分飞
数据库·oracle
fen_fen2 天前
Oracle建表语句示例
数据库·oracle