查看tablespace实际使用量和剩余空间

到某表空间所有段的加和值,即按表空间分组统计
dba_data_files.bytes-dba_free_space.bytes=dba_segments.bytes
dba_segments中可查询已分配的段空间大小(dba_extents则是dba_segments中的详表,segment是由多个extent组成的),表空间总

大小可查询dba_data_files来获得,剩余大小可查询dba_free_space获得,这两者相减就是已分配掉的空间大小可以通过对表分析后查询dba_tables(下面多个+1就是段头块了)dba_tables.blocks+ dba_tables.empty_blocks+1=user_extents.blocks=user_segments.blocks

另外:
平均行长*总行数=表数据量大小
这里是数据量,oracle分配给该表的空间自然要比这个大,而且还要受到到pctfree的限制以及该表是否有经过删除,例如delete很多记录,空间是不会释放的,分配的空间就浪费更多
一种极端就是表的参数设定pctfree=0 initial跟next也设定很小例如都是16K,然后插入数据
例如10M的数据量,然后对表进行分析,那么这种情况空间利用率很高,按上面公式计算,结果
就会跟dba_segments分配空间的值很接近了,几乎相等了。

大概量算法:

查询tablespace使用量:select tablespace_name,sum(bytes)/1024/1024 from dba_extents where tablespace_name=‘MIS_TABLESPACE‘ group by tablespace_name

查询tablespace剩余空间:select tablespace_name,round(sum(bytes)/1024/1024,2) "FREE_MB" from dba_free_space group by tablespace_name

查询table所占硬碟的大小:select table_name, blocks * (select value from v$parameter where name=‘db_block_size‘)/1024/1024 as size_mb from user_tables where table_name=TABLE_NAME

时间: 2024-10-08 21:31:59

查看tablespace实际使用量和剩余空间的相关文章

Linux 查看文件夹大小,磁盘剩余空间(du/df)

1. 简介 du查看目录大小,df查看磁盘使用情况. 2. du disk usage (1)基本功能 递归查看文件夹下所有文件的大小 (2)常用参数: -h, –human-readable 以可读性较好的方式显示尺寸(例如:1K 234M 2G) -s, –summarize 只分别计算命令列中每个参数所占的总用量 (3)其它参数说明: -a, –all 输出所有文件的磁盘用量,不仅仅是目录 –apparent-size 显示表面用量,而并非是磁盘用量:虽然表面用量通常会小一些,但有时它会因

如何在linux下查看目录的剩余空间大小

df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 494M 19M 450M 4% /boot /dev/hda6 4.9G 2.2G 2.5G 47% /home /dev/hda5 9.7G 2.9G 6.4G

fdisk硬盘分区(1)——系统盘剩余空间创建分区

想必大家都应该会windows下创建新分区吧(如果不熟悉的话,下面的就不用浪费时间看了) 简单回顾分区的关键步骤 1.指定分区大小 2.分区格式化 3.指定访问入口 为啥分区要经过这几个步骤呢?我们可以用制作练习本的流程 1.我们采购一批白纸回来肯定是很大张的,所以第一步要裁剪到练习本的大小--这一步类似指定分区大小 2.然后要在纸上印上横线或者格子,方便人们写字的时候对其--这一步类似格式化 3.最后要把练习本装订成册--这一步类似指定访问入口 所以在centos上分区也要经过以上几个步骤,但

查看oracle数据库的大小和空间使用情况

查看oracle数据库的大小和空间使用情况 (2012-06-19 14:44:30) 转载▼ 标签: 杂谈 分类: oracle 1.查看表空间的使用状况 SELECT upper(f.tablespace_name) 表空间名, d.Tot_grootte_Mb "表空间大小(M) ", d.Tot_grootte_Mb - f.total_bytes "已使用空间(M) ", round((d.Tot_grootte_Mb - f.total_bytes) /

SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测.作为一个高效的DBA不可能每天都要上生产机上查看磁盘剩余或者直到磁盘无剩余空间报错后才采取扩容措施. 当然,作为微软的服务器有着自己的监控软件:SCCM(System Center

Sqlserver查询数据库文件大小和剩余空间

在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率: 1.查询各个磁盘分区的剩余空间:Exec master.dbo.xp_fixeddrives 2.查询数据库的数据文件及日志文件的相关信息(包括文件组.当前文件大小.文件最大值.文件增长设置.文件逻辑名.文件路径等)select * from [数据库名].[dbo].[sysfiles]转换文件大小单位为MB:select name, convert(float,size)

sql 查询服务器硬盘剩余空间

DECLARE @tb1 Table( drive varchar(20), [MB 可用空间] varchar(20)) INSERT INTO @tb1 Exec master.dbo.xp_fixeddrives select drive , CAST( CAST((CAST([MB 可用空间] as decimal(9,2))/1024 ) as decimal(9,2)) as varchar)+'G' as 剩余空间 from @tb1

Android中StatFs获取系统/sdcard存储(剩余空间)大小

package com.orgcent.util; import java.io.File; import android.os.Environment; import android.os.StatFs; public class MemoryStatus { static final int ERROR = -1; /** * 外部存储是否可用 * @return */ static public boolean externalMemoryAvailable() { return andr

能判断是否还有剩余空间的静态链表

第一次系统的学习数据结构是在半年前,看小甲鱼的数据结构与算法视频,自学的话有许多不懂得地方,什么AVL树,红黑树,图的最短路径,最小生成树...但总归对数据结构与算法有一个大体的印象,到现在随着不断写代码,做OJ题,愈发认识到数据结构与算法的重要性,打算再看一遍,现在看着:大话数据结构(程杰著),数据结构(C语言版严蔚敏著),不推荐新手使用 数据结构与算法分析(Mark Allen Weiss 著)这本书真的很难懂. 回归正题,我看了许多书有关静态链表的描述和代码发现都没有判断是否还有剩余空间,