当前位置: 首页 > news >正文

Oracle查看数据库表空间使用情况

Oracle RAC环境查看表空间使用情况

查询字段释义:

NEED_ADDFILE,--是否需增加表空间文件
TABLESPACE_NAME,--表空间名称
TABLESPACE_FILE_COUNT, --表空间当前数据文件数量
NOW_FILEENABLE_BLOCKS,--表空间文件当前数据块数
NOW_FILEENABLE_BYTES_GB,--表空间文件当前大小
USED_BLOCKS,--已分配的数据块数
USED_BYTES_GB,--已分配的空间大小
FREE_SPACE,--数据文件当前空间中剩余空间大小
MAXBLOCKS,--最大空间数据块数
MAXBYTES_GB,--最大空间数据大小
TABLESPACE_USE_RATE--已分配空间占用率

select NEED_ADDFILE,--是否需增加表空间文件TABLESPACE_NAME,--表空间名称TABLESPACE_FILE_COUNT, --表空间当前数据文件数量NOW_FILEENABLE_BLOCKS,--表空间文件当前数据块数NOW_FILEENABLE_BYTES_GB,--表空间文件当前大小USED_BLOCKS,--已分配的数据块数USED_BYTES_GB,--已分配的空间大小FREE_SPACE,--数据文件当前空间中剩余空间大小MAXBLOCKS,--最大空间数据块数MAXBYTES_GB,--最大空间数据大小TABLESPACE_USE_RATE--已分配空间占用率from (SELECT CASEWHEN TABLESPACE_USE_RATE >= 96 ANDABS(MAXBYTES_GB - NOW_FILEENABLE_BYTES_GB) <= 2 ANDFREE_SPACE <= 2 THEN'YES'ELSE'NO'END AS NEED_ADDFILE, --是否需增加表空间文件A.*FROM (SELECT A.TABLESPACE_NAME, --表空间名称TO_CHAR(COUNT(A.FILE_NAME)) AS TABLESPACE_FILE_COUNT, --表空间当前数据文件数量TO_CHAR(SUM(A.BLOCKS)) AS NOW_FILEENABLE_BLOCKS, --表空间文件当前数据块数TO_CHAR(SUM(A.BYTES) / 1024 / 1024 / 1024, 9990.099) AS NOW_FILEENABLE_BYTES_GB, --表空间文件当前大小TO_CHAR(SUM(DECODE(A.MAXBLOCKS,0,A.BLOCKS,A.MAXBLOCKS)) - MAX(B.FREE_BLOCKS)) AS USED_BLOCKS, --已分配的数据块数TRIM(TO_CHAR(SUM(DECODE(A.MAXBYTES,0,A.BYTES,A.MAXBYTES)) / 1024 / 1024 / 1024 -MAX(B.FREE_SPACE),99990.099)) AS USED_BYTES_GB, --已分配的空间大小ROUND(MAX(B.FREE_SPACE), 2) FREE_SPACE, --数据文件当前空间中剩余空间大小TO_CHAR(SUM(DECODE(A.MAXBLOCKS,0,A.BLOCKS,A.MAXBLOCKS))) AS MAXBLOCKS, --最大空间数据块数TO_CHAR(SUM(DECODE(A.MAXBYTES, 0, A.BYTES, A.MAXBYTES)) / 1024 / 1024 / 1024,9990.099) AS MAXBYTES_GB, --最大空间数据大小TO_NUMBER(((SUM(DECODE(A.MAXBYTES,0,A.BYTES,A.MAXBYTES)) / 1024 / 1024 / 1024) -MAX(B.FREE_SPACE)) * 100 /(SUM(DECODE(A.MAXBYTES,0,A.BYTES,A.MAXBYTES)) / 1024 / 1024 / 1024)) AS TABLESPACE_USE_RATE --已分配空间占用率FROM DBA_DATA_FILES AJOIN (SELECT TABLESPACE_NAME,SUM(BYTES) / 1024 / 1024 / 1024 FREE_SPACE,SUM(BLOCKS) FREE_BLOCKSFROM DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) BON A.TABLESPACE_NAME = B.TABLESPACE_NAMEGROUP BY A.TABLESPACE_NAME, B.TABLESPACE_NAMEUNION ALLSELECT A.TABLESPACE_NAME AS "表空间名",TO_CHAR(COUNT(A.FILE_NAME)) AS "表空间文件数",TO_CHAR(SUM(A.BLOCKS)) AS "当前可用数据块数",TO_CHAR(SUM(A.BYTES) / 1024 / 1024 / 1024, 9990.099) AS "当前可用大小(G)",TO_CHAR(MAX(B.USED_BLOCKS)) AS "已分配数据块数",TRIM(TO_CHAR(MAX(B.USED_SPACE), 99990.099)) AS "已分配大小(G)",ROUND(MAX(TEMPFREE.FREE_SPACE) / 1024 / 1024 / 1024, 2) 自由空间,TO_CHAR(SUM(DECODE(A.MAXBLOCKS,0,A.BLOCKS,A.MAXBLOCKS))) AS "可分配最大数据块数",TO_CHAR(SUM(DECODE(A.MAXBYTES, 0, A.BYTES, A.MAXBYTES)) / 1024 / 1024 / 1024,9990.099) AS "可分配的最大空间(G)",TO_NUMBER(MAX(B.USED_SPACE) * 100 /(SUM(DECODE(A.MAXBYTES,0,A.BYTES,A.MAXBYTES)) / 1024 / 1024 / 1024)) AS "表空间大小使用率"FROM DBA_TEMP_FILES AJOIN (SELECT TABLESPACE_NAME,SUM(BYTES_CACHED) / 1024 / 1024 / 1024 USED_SPACE,SUM(BLOCKS_CACHED) USED_BLOCKSFROM (SELECT DISTINCT * FROM GV$TEMP_EXTENT_POOL)GROUP BY TABLESPACE_NAME) BON A.TABLESPACE_NAME = B.TABLESPACE_NAMEJOIN DBA_TEMP_FREE_SPACE TEMPFREEON TEMPFREE.TABLESPACE_NAME = A.TABLESPACE_NAMEGROUP BY A.TABLESPACE_NAME, B.TABLESPACE_NAME) A)

若为非RAC环境,将SQL中的gv$前缀替换为v$便可。

http://www.lryc.cn/news/526858.html

相关文章:

  • [护网杯 2018]easy_tornado1
  • 关于java实现word(docx、doc)转html的解决方案
  • 【8】思科IOS AP升级操作
  • 【ROS2】RViz2界面类 VisualizationFrame 详解
  • 2025年01月24日Github流行趋势
  • Gradle buildSrc模块详解:集中管理构建逻辑的利器
  • 【Airsim 仿真】查找配置文件 settings json 的路径优先级
  • 【FreeRTOS 教程 四】队列创建与发布项目到队列
  • STM32项目分享:智能厨房安全检测系统
  • 2025美赛数学建模MCM/ICM选题建议与分析,思路+模型+代码
  • 高并发问题的多维度解决之道
  • Ubuntu环境 nginx 源码 编译安装
  • K8S中的数据存储之基本存储
  • 编码器和扩散模型
  • PAT甲级-1024 Palindromic Number
  • FS8405 Release FS0B
  • IGBT的损耗计算的学习【2025/1/24】
  • Unity|小游戏复刻|见缝插针1(C#)
  • No.1|Godot|俄罗斯方块复刻|棋盘和初始方块的设置
  • SSM框架探秘:Spring 整合 SpringMVC 框架
  • 2025.1.20——二、buuctf BUU UPLOAD COURSE 1 1 文件上传
  • 【架构面试】三、高可用高性能架构设计
  • 11.渲染管线——光栅化阶段
  • 【数据分享】1929-2024年全球站点的逐月平均能见度(Shp\Excel\免费获取)
  • 二叉树的深度
  • MySQL命令及用法(精华版)
  • R语言学习笔记之高效数据操作
  • 将 OneLake 数据索引到 Elasticsearch - 第二部分
  • Linux——冯 • 诺依曼体系结构
  • Java进阶(一)