MYSQL|ORACLE表空间查询SQL

对于工作中,多数环境可以对数据库进行增改,但是个别环境增改存在插入异常,可以考虑表空间是否使用率达到了100%

查看数据库所有表空间

sql 复制代码
select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;

查看具体表单所占空间

sql 复制代码
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

查看所有表空间占用率

sql 复制代码
SELECT --B.file_name "文件名",
       A.TABLESPACE_NAME "表空间名",
       TOTAL "表空间大小",
       FREE "表空间剩余大小",
       (TOTAL - FREE) "表空间使用大小",
       TOTAL / (1024 * 1024 * 1024) "表空间大小(G)",
       FREE / (1024 * 1024 * 1024) "表空间剩余大小(G)",
       (TOTAL - FREE) / (1024 * 1024 * 1024) "表空间使用大小(G)",
       ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "使用率 %"
FROM   (SELECT TABLESPACE_NAME,
               SUM(BYTES) FREE
        FROM   DBA_FREE_SPACE
        GROUP  BY TABLESPACE_NAME) A,
       (SELECT TABLESPACE_NAME,
             --  file_name,
               SUM(BYTES) TOTAL
        FROM   DBA_DATA_FILES
        GROUP  BY TABLESPACE_NAME/*,file_name*/) B
WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME;

查看具体dbf表空间占用率

sql 复制代码
select b.file_id  文件ID,
  b.tablespace_name  表空间,
  b.file_name     物理文件名,
  b.bytes       总字节数,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
  from dba_free_space a,dba_data_files b
  where a.file_id=b.file_id
  group by b.tablespace_name,b.file_name,b.file_id,b.bytes
  order by b.tablespace_name

sqlserver可以不用考虑表空间的问题

相关推荐
王有品1 小时前
Spring MVC 多个拦截器的执行顺序
数据库·spring·mvc
极小狐2 小时前
如何使用极狐GitLab 的外部状态检查功能?
数据库·ci/cd·gitlab·devops·mcp
Leo.yuan2 小时前
数据仓库建设全解析!
大数据·数据库·数据仓库·数据分析·spark
闪电麦坤952 小时前
SQL:子查询(subqueries)
数据库·sql
活跃的煤矿打工人3 小时前
【星海出品】分布式存储数据库etcd
数据库·分布式·etcd
文牧之3 小时前
PostgreSQL的扩展 pgcrypto
运维·数据库·postgresql
老友@4 小时前
小集合 VS 大集合:MySQL 去重计数性能优化
数据库·mysql·性能优化
声声codeGrandMaster4 小时前
django之优化分页功能(利用参数共存及封装来实现)
数据库·后端·python·django
麦麦大数据5 小时前
vue+neo4j+flask 音乐知识图谱推荐系统
vue.js·mysql·flask·知识图谱·neo4j·推荐算法·音乐推荐
熏鱼的小迷弟Liu5 小时前
【Redis】Redis Zset实现原理:跳表+哈希表的精妙设计
数据库·redis·散列表