oracle计算表的大小,简要分析估算oracle表的大小

查询oracle表的大小有几种方法,笔者简要分析下他们的异同

环境,newsadmin.newlog,原本有244,459,078条记录,delete后,现在只有51,109,919记录。

一、segments

select bytes/1024/1024/1024 from dba_segments where segment_name='NEWLOG';

结果是27.26GB这个结果和

select sum(blokcs)*8/1024/1024 from dba_segments where segment_name='NEWLOG';

是完全一致的。

这个结果就是我们说的,该表在tablespace中实际占的大小。

二、show_space

并非oracle自带的一个procedure,而是thomas写的一个脚本,非常好用,可以前往

http://www.itpub.net/thread-239697-1-1.html

下载安装

begin

sys.show_space(p_segname => 'NEWLOG',p_owner => 'NEWSADMIN');

end;

这样可以看到一个分析结果

Segments................................NEWLOG

Segments Type...........................TABLE

Partition Name..........................

Unformatted Blocks .....................0

FS1 Blocks (0-25)  .....................5

FS2 Blocks (25-50) .....................4336

FS3 Blocks (50-75) .....................12537

FS4 Blocks (75-100).....................2834583

Full Blocks        .....................718526

Total Blocks............................3574016

Total Bytes.............................29278339072

Unused Blocks...........................0

Unused Bytes............................0

Last Used Ext FileId....................16

Last Used Ext BlockId...................924672

Last Used Block.........................128

解释下,FS1 Blocks (0-25)是指,空闲度为0-25%的块,所以从这里可以看见75-100和full blocks占得比例十分惊人,这就说明HWM非常高。我们可以粗略计算一下:

(2834583*2+12537*4+4336*6+5*8)/1024/1024=5.48GB,这是估算的实际表的大小。而上面显示的Total Bytes.............................29278339072就是之前我们查询到的,BLOCKS*db_block_size的大小。

笔者用exp不带索引不带触发器的导出,大小为5.75GB和预估基本一致。

C:\Documents and Settings\yantaiwanhua15>exp user/password@remote file=d:\1.dmp tables=newsadmin.newlog triggers=n indexes=n

三、expdp

大家都知道expdp有个功能就是导出前预估大小,笔者博客之前有介绍过

5. ESTIMATE

指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKS

ESTIMATE={BLOCKS | STATISTICS}

设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间

Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump

第一种是根据blocks计算,就和前文描述的一致,是一种在HWM较低的情况下相对准确的方法。STATISTICS是根据表的统计信息进行估计,相对来说准确多。

但是使用expdp备份时,尽量不要使用estimate参数,因为这个额外操作是非常消耗资源的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NOIP2007 count 统计数字

问题描述 某次科研调查时得到了n个自然数,每个数均不超过1.5109。已知不相同的数不会超过10000个,现在需要统计这些自然数各自出现的个数,并按照自然数从小到大的顺序输出统计结果。 输入 输入文件count.in包含n1行; 第一行是…

【C++11/17】std::map高效插入

我们在使用stl的映射容器std::map时,经常需要向容器中插入数据。由于map的元素key值是唯一的,我们经常遇到这样的场景: 向map中插入元素时,指定的key已经存在则直接更新;指定的key不存在,然后才做插入操作…

oracle 监听 无法连接,oracle监听hang,无法建立新连接TNS-12540

TNS-12518: TNS:listener could not hand off client connectionTNS-12540: TNS:internal limit restriction exceeded监听无法建立新连接,报如上错误,请教各位大神是什么原因!!!!!!…

pgd 游戏教程 基地

http://www.pascalgamedevelopment.com/content.php?417-Castle-Game-Engine-6-2-released转载于:https://www.cnblogs.com/delphi-xe5/p/7237464.html

oracle选择外键列,Oracle外键列上是否需要索引?

外键列上缺少索引会带来两个问题,限制并发性、影响性能。而这两个问题中的任意一个都可能会造成严重性能问题。 无论是Or外键列上缺少索引会带来两个问题,限制并发性、影响性能。而这两个问题中的任意一个都可能会造成严重性能问题。无论是Oracle的官方文…

select * 和select 所有字段的区别

文章取自http://blog.csdn.net/u014305991/article/details/44964171 MySQL 5.1.37 表记录数41,547,002,即4000w行 使用远程客户端取1000条数据,统计时间: SELECT * FROM dmsp.dmsp_dimension_content LIMIT 0, 1000; 时间2.218s,…

php的strpos不支持数字,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...

php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来!PHP 开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚…

css动画详解 (transition animation)

属性 transition(4个属性): transition: width 5s ease 3s; /*简写*/transition-property: width; /*过渡属性名*/transition-duration: 5s; /*持续时间,默认为0*/transition-timing-function: ease; /*速度*/transition-delay: 3s; /*延迟*…

php ajax session死锁,session过期,ajax请求处理

session会话过期,如果是请求。可以直接定位到页面。如果是ajax请求。无法跳转到页面。可以通过如下方式实现,在Response的输出流里面,向前端写一段html代码来实现。public boolean preHandle(HttpServletRequest request, HttpServletRespons…

NYOJ题目 263 精挑细选

题目描述: 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管。这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下:1、 这根钢管一定要是仓库中最长的&…

充电桩系统php源码,源码 充电桩程序设计 - 下载 - 搜珍网

压缩包 : e0f671190e843b596bf8d7dfd98914.zip 列表源码/00/源码/00/delay.crf源码/00/delay.d源码/00/delay.o源码/00/gui.crf源码/00/gui.d源码/00/gui.o源码/00/inc/源码/00/inc/delay.h源码/00/inc/io_bit.h源码/00/inc/main.h源码/00/inc/stm32f10x_conf.h源码/00/inc/stm…

mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)

MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败。查看目前配置: show VARIABLES like %max_allowed_packet%; 显示的结果为: ----------------------------- |…

linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计

0 引言随着VoIP的迅猛发展,越来越多的个人用户正在使用软件电话、IP电话通过VoIP系统拨打国内和国际长途,IP电话的需求量越来越大,同时,人们对IP电话的要求也越来越高,例如要求IP电话体积小、方便携带、功耗低、待机时…

Maven--反应堆(Reactor)

在一个多模块的 Maven 项目中,反应堆是指所有模块组成的一个构建结构。对于单模块的项目,反应堆就是该模块本身。但对于多模块项目来说,反应堆就包含了各模块之间继承与依赖的关系,从而能够自动计算出合理的模块构建顺序。 模块间…