评估应用使用oracle磁盘空间,Oracle磁盘空间使用统计
对于大型数据库,Oracle占用的磁盘空间非常大,掌握数据库中那些用户、表占用了多杀磁盘空间,以及增长情况,可以方便日后对磁盘系统进行维护和扩充。
对Oracle磁盘空间使用情况,可以分为按照表空间、用户或者表来进行统计。
(一)、表空间
计算表空间的剩余大小
select A.TABLESPACE_NAME,A.BYTES/(1024*1024*1024) "SPACE(G)", C.BYTES/(1024*1024) "FREE SPACE(M)",(C.BYTES*100)/A.BYTES "% FREE" FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=C.TABLESPACE_NAME;
或者select tablespace_name, sum(bytes)/(1024*1024*1024) "SPACE(G)" from dba_free_space group by tablespace_name;
(二)、用户
计算每个用户占用的磁盘空间select owner,sum(bytes)/1024/1024/1024 "Space(G)" from dba_segments group by owner order by 2;
计算某个用户占用的磁盘空间select owner,sum(bytes)/1024/1024/1024 "Space(G)" from dba_segments where owner=‘LIAOJL‘ group by owner;
(三)、表
Oracle都是以段为存储的,segment_name包含了表、索引、回滚段等,所以在dba_extents,dba_segments都可以找到占用空间大小的信息。select sum(bytes)/1024/1024 "Space(M)" from dba_extents where owner=‘LIAOJL‘ and segment_name=‘STUDENTS‘;
dba_segments也可以计算表的大小:select segment_name,bytes/1024/1024 "Space(MB)" from dba_segments where SEGMENT_TYPE=‘TABLE‘ and segment_name=upper(‘你要查找的表的名字‘);
当时上面的写法不完全正确,当表是分区表,dba_segments有多条信息,可改成:select segment_name,sum(bytes)/1024/1024 "Space(MB)" from dba_segments where segment_name=upper(‘你要查找的表的名字‘);
上述方法对于一个很大的数据库,SQL语句执行起来会很慢,而且消耗数据库资源。Oracle支持对表进行分析,执行分析表操作后可以在dba_tables等系统表中查询表大小、行数等信息,不过这些信息不是实时更新的,可以在数据库空闲时,通过计划任务来更新。
分析SQL方法:analyze table tab_name compute statistics;
表太大的话可以执行:analyze table tab_name estimate statistics;
/*SELECT tablespace_name, sum ( blocks ) as free_blk ,
trunc ( sum ( bytes ) /(1024*1024) ) as free_m,
max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks
FROM dba_free_space GROUP BY tablespace_name;*/
/*
* SqlName: obj_seg
* 2006-11-17 By HuiYi
* 查詢對象大小
*/
select owner,sum(bytes)/1024/1024/1024 "Space(G)" from dba_segments group by owner order by 2 desc
col segment_name format a30
col segment_type format a15
col tablespace_name format a10
col bytes heading "Size(M)"
with t as(
select segment_name,owner,owner||‘.‘||segment_name,
segment_type,
tablespace_name,
bytes / 1024 / 1024 bytes
from dba_segments
where owner = upper(‘&user‘)
order by bytes desc
)
select * from t where rownum<10;
原文:http://my.oschina.net/u/133558/blog/512092
评估应用使用oracle磁盘空间,Oracle磁盘空间使用统计相关推荐
- oracle缩减临时表空间,oracle的临时表空间写满磁盘空间解决改问题的步骤
oracle的临时表空间写满磁盘空间,解决改问题的具体步骤,以下的操作是用数据库的sys超级用户操作 刚开始打算把临时表空间的数据文件重新缩小就好了 执行: SQL> alter databas ...
- 监视Oracle ASM磁盘组上的空间使用情况(空闲和已用)
监视Oracle ASM磁盘组上的空间使用情况(空闲和已用) sqlplus: SELECT name, free_mb, total_mb, free_mb/total_mb*100 as perc ...
- ORACLE 11G RAC ASM磁盘全部丢失后的恢复
故障描述 (1)存储故障导致ASM磁盘丢失. (2)CRS因为OCR和VOTEDISK的丢失,除了OHAS还联机外,CLUSTERWARE服务都已经停止 操作步骤 一.恢复OCR和VOTEDISK ( ...
- oracle仲裁磁盘是一块磁盘吗,基于ASM冗余设计的架构,仲裁磁盘组应该如何去规划?...
ASM使用独特的镜像算法:不镜像磁盘,而是镜像盘区.作为结果,为了在产生故障时提供连续的保护,只需要磁盘组中的空间容量,而不需要预备一个热备(hot spare)磁盘.不建议用户创建不同尺寸的故障组, ...
- oracle 查询数据库io,查看Oracle数据文件和磁盘i/o情况
查看Oracle数据文件和磁盘i/o情况 --查询当前用户使用了多少还原表空间 select d.username,c.name,b.writes from v$transaction a,v$rol ...
- oracle中asm磁盘不足,Oracle用户无法访问ASM磁盘组问题
1. 权限问题引起找不到ASM磁盘组 1.1 确认操作系统用户属主 # 确认属主 Grid Infrastructure Home Owner : grid Primary Group : oinst ...
- oracle asm spfile丢失,Oracle 11g RAC ASM磁盘全部丢失后的恢复
Oracle 11g RAC ASM磁盘全部丢失后的恢复,Oracle 11.2.0.3 RAC ON Oracle Linux 6 x86_64,只有一个ASM外部冗余磁盘组mdash;m 一.环境 ...
- oracle备份磁盘头,oracle asm 磁盘头数据以及备份与恢复基础篇(2)
oracle asm 磁盘头数据以及备份与恢复基础篇(二) 今天是2014-03-11,对于Oracle asm的元数据分为固定源数据和逻辑源数据,固定源数据一般占用磁盘的前两个au,其中内容包括di ...
- grid赋予oracle磁盘权限,grid 与 Oracle 用户下 Oracle 程序权限不一致导致无法连接 ASM 问题...
grid 与 Oracle 用户下 Oracle 程序权限不一致导致无法连接 ASM 问题 在 RAC 中, 启动数据库时遇到如下报错:Oracleinstance started. TotalSys ...
- Oracle数据库占用磁盘,导致磁盘活动时间为100%的解决方法
在使用Oracle的过程中,发生了一件猝不及防的事情,那就是Oracle数据库导致电脑磁盘的活动时间占有率为100%,没错是100%,导致电脑一段时间内无缘无故的卡死,无缘无故的死机,重启后过了一段 ...
最新文章
- ORACEL游标的使用实例
- .NET之全平台一体化的体验
- QT乱码总结8.编码测试和总结三
- Maven的安装以及在Myeclipse上的配置——超详细
- 以太网和局域网的关系
- mysql 工具 国产_推荐一款国产化比较好用的数据可视化工具(BI工具)
- RSync实现文件同步备份配置详解
- javascript上传图片前预览
- nodejs 游戏框架_Pomelo:网易开源基于 Node.js 的游戏服务端框架
- 华为U2000北向接口开发中遇到的坑——获取HW_MSTPInventory管理对象失败
- oracle系统FA调整折旧年限,Oracle财务管理系统培训手册.doc
- the OCD JTAG adapter was detected ,but there is...
- 零基础的小明要如何成为前端工程师?
- 安卓app源码和设计报告——简易记账本
- Cannot assign requested address错误解决
- python查看汉字的编码_python有关汉字编码问题
- 跟我学Android之一 概述
- 广播、组播 socket编程
- ios375对应Android,iOS开发之尺寸(一):各种机型尺寸
- 递归求二叉排序树ASL值
热门文章
- CSS使用display:incline与float:left的区别:脱离文档流 参差不齐
- jQuery的var that=this
- 对mysql日志进行操作的总结包括 启用,过期自动删除 等
- 原生APP与web APP的区别
- api可以主动采集用户数据吗_模拟量数字量采集卡之EC-8001篇
- maven不能拉取私服的原因
- python实现字典树 时间复杂度_Python实现字典树
- 计算机网络 闯关,2009计算机网络考研试题过关必练.docx
- java线程池应用的好处_java高级应用:线程池全面解析
- MySQL 错误 #1113