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参数,因为这个额外操作是非常消耗资源的。
oracle计算表的大小,简要分析估算oracle表的大小相关推荐
- oracle查询表实际大小,简要分析估算oracle表的大小
查询oracle表的大小有几种方法,笔者简要分析下他们的异同 环境,newsadmin.newlog,原本有244,459,078条记录,delete后,现在只有51,109,919记录. 一.seg ...
- Oracle如何预估将要创建的索引和表的大小
Oracle如何预估将要创建的索引和表的大小 1. 对于表和索引空间的预估,可以使用DBMS_SPACE包的CREATE_TABLE_COST和CREATE_INDEX_COST存储过程,虽然没有看这 ...
- 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小
2019独角兽企业重金招聘Python工程师标准>>> 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小 其实本来只想找一个方法能查询一下 数据库 的大小,没 ...
- php检测表大小,查询mysql数据库、表的大小
一.关于mysql表数据大小 mysql存储数据文件一般使用表空间存储 : 当mysql使用innodb存储引擎的时候,mysql使用表存储数据分为共享表空间和独享表空间两种方式 .共享表空间:Inn ...
- mysql查看数据库表大小语句_MySQL查看数据库表容量大小的命令语句讲解
MySQL查看数据库表容量大小的命令语句讲解 发布时间:2020-04-27 14:17:23 来源:亿速云 阅读:180 作者:三月 本文主要给大家介绍MySQL查看数据库表容量大小的命令语句讲解, ...
- Oracle 11g常用管理命令(用户、表空间、权限)
PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle ...
- java 获取mysql表的大小_oracle中查询表大小和表空间大小 JAVA
1.查看Oracle数据库中表空间信息的工具方法: 使用oracle enterprise manager console工具,这是oracle的客户端工具,当安装oracle服务器或客户端时会自动安 ...
- mysql 数据库 限制大小_MySQL数据库表各种大小限制小结
本文所有条目总结均来自mysql5.6的官网英文文档: 1. MySQL表的列数限制 1.1 MySQL硬性限制每个表最大4096个列 1.2 InnoDB存储引擎的约束: 每个表最大1017个列; ...
- 查询mysql数据库表占用空间大小_查看 MySQL 数据库中每个表占用的空间大小-阿里云开发者社区...
如果想知道MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE ...
最新文章
- 猜数游戏python_Hello,Python!小鲸教你学Python(九)之文件操作
- 【黑马程序员 C++教程从0到1入门编程】【笔记2】通讯录管理系统
- php如何获取ajax请求,php-从ajax调用获取json数据
- 从Ant Build演进Gradle Build:导入Ant Build文件
- WebService技术详解CXF
- sqlmap源码入门笔记系列
- windows c语言目录操作函数,c语言目录操作在C/C++语言中如何进行目录操作,如得到目录内的 爱问知识人...
- HDU 4336 Card Collector(状压 + 概率DP 期望)题解
- 【SDOI2008】【P1377】仪仗队
- 直接读取Excel文件数据
- complie myplayer on svn source code
- 聊聊技术人的“绩效考核”
- 浪潮服务器如何安装win7系统,WIN7旗舰版操作系统中浪潮ERP-GS5.2安装说明.doc
- html match函数,match函数 Match函数概述
- router跳转外部链接
- jsp中打开新的html网页,jsp中用window.open()打开新页面的相关设置
- Mac环境安装imagemagick及使用imagemagick拼接图片
- 虚拟主机服务器放在哪里,云虚拟主机的目录在哪里
- 程序员,未来你要成为CTO、技术VP还是架构师?
- QQ2005 SP5貌似不错
热门文章
- “约见”面试官系列之常见面试题之第九十六篇之active-class是谁的属性(建议收藏)
- 前端学习(1681):前端系列实战课程之让蛇动起来
- 第二十四期:管理 | 成功领导远程IT团队的7个技巧
- 实例12:python
- KEIL ARM 6.12 compiler 编译__ASM 错误的解决方法
- Linux 多线程开发-线程的结束pthread_kill和pthread_cancel
- Git之diff和status
- python技巧(2)--碾平列表和列表去重
- vueinput里只能输入数字_大佬们,vue里面 限制input只能输入数字怎么做啊?
- put请求方式参数如何传_TP5请求(request)变量