dba_tables和dba_segments里记录的表大小的比较

oracle查看库中用户及其表的内存大小 1、某个表大小查询: 通过系统视图DBA_SEGMENTS、DBA_TABLES、USER_SEGMETNS、User_Extents来查看一个表所占空间的大小;需要注意的是由于统计信息过时或总是持续有DML操作,所以内容是统计不准的。 第一种方式: SELECT SEGMENT_NAME TABLE_NAME,SUM(BLOCKS) BLOCKS,SUM(BYTES)/(1024*1024) "TABLE_SIZE[MB]" FROM USER_SEGMENTS WHERE SEGMENT_TY. 阅读详情
  11G数据库,以scott用户所拥有的表为例
--1.先查看这两个表
SQL> select table_name, num_rows, avg_row_len, blocks, blocks from dba_tables where owner='SCOTT';
 
TABLE_NAME        NUM_ROWS AVG_ROW_LEN     BLOCKS     BLOCKS
--------------- ---------- ----------- ---------- ----------
DEPT                     4          20          5          5
EMP                     14          38          5          5
SALGRADE                 5          10          5          5
BONUS                    0           0          0          0   --这个表里面没有记录,dba_tables记下了这个表
 
SQL> select segment_name, blocks, bytes from dba_segments where owner='SCOTT' and segment_type='TABLE';
 
SEGMENT_NAME        BLOCKS      BYTES
--------------- ---------- ----------
DEPT                     8      65536
EMP                      8      65536
SALGRADE                 8      65536
                                             --BONUS表没记录,没有占用物理空间,dba_segments没有关于这个表的记录

--2.创建一个没有记录的空表,再查看这两个表											 
SQL> create table test as select * from all_objects where 0=1;

create table 成功。

SQL> select count(*) from test;

COUNT(*)               
---------------------- 
0                      

1 rows selected

SQL> select table_name, num_rows, avg_row_len, blocks, blocks from dba_tables where owner='SCOTT';
 
TABLE_NAME        NUM_ROWS AVG_ROW_LEN     BLOCKS     BLOCKS
--------------- ---------- ----------- ---------- ----------
DEPT                     4          20          5          5
EMP                     14          38          5          5
SALGRADE                 5          10          5          5
TEST                                                           --记录了test表,但是没有详细信息
BONUS                    0           0          0          0
 
SQL> select segment_name, blocks, bytes from dba_segments where owner='SCOTT' and segment_type='TABLE';
 
SEGMENT_NAME        BLOCKS      BYTES
--------------- ---------- ----------
DEPT                     8      65536
EMP                      8      65536
SALGRADE                 8      65536
                                         --test表没有占用物理空间,还是没有记录这个表

--3.插入数据,再查看这两个表
SQL> insert into test select * from all_objects;

65665 行 已插入

SQL> select table_name, num_rows, avg_row_len, blocks, blocks from dba_tables where owner='SCOTT';
 
TABLE_NAME        NUM_ROWS AVG_ROW_LEN     BLOCKS     BLOCKS
--------------- ---------- ----------- ---------- ----------
DEPT                     4          20          5          5
EMP                     14          38          5          5
SALGRADE                 5          10          5          5
TEST                                                            --test表,还是没有详细信息  
BONUS                    0           0          0          0
 
SQL> select segment_name, blocks, bytes from dba_segments where owner='SCOTT' and segment_type='TABLE';
 
SEGMENT_NAME        BLOCKS      BYTES
--------------- ---------- ----------
DEPT                     8      65536
EMP                      8      65536
SALGRADE                 8      65536
TEST                  1024    8388608                           --记录了test表,且记录了占用物理空间的大小

--4.收集scott用户的统计信息,再查看这两个表
SQL> exec dbms_stats.gather_schema_stats(ownname => 'scott',cascade => true,estimate_percent => dbms_stats.auto_sample_size);
 
PL/SQL procedure successfully completed
 
SQL> select table_name, num_rows, avg_row_len, blocks, blocks from dba_tables where owner='SCOTT';
 
TABLE_NAME        NUM_ROWS AVG_ROW_LEN     BLOCKS     BLOCKS
--------------- ---------- ----------- ---------- ----------
DEPT                     4          20          5          5
EMP                     14          38          5          5
SALGRADE                 5          10          5          5
TEST                     0           0       1000       1000     --test表有了详细的信息,但是信息明显不对 ??? 难道收集的方式不对
BONUS                    0           0          0          0
 
SQL> select segment_name, blocks, bytes from dba_segments where owner='SCOTT' and segment_type='TABLE';
 
SEGMENT_NAME        BLOCKS      BYTES
--------------- ---------- ----------
DEPT                     8      65536
EMP                      8      65536
SALGRADE                 8      65536
TEST                  1024    8388608


结论:dba_segments里记录的表的大小的信息是实时的信息

UFS软件分区介绍 本文主要介绍了ufs软件分区管理的概况,能够使大家对软件分区有个大体的认识 阅读详情

相关推荐

uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available. MDK5.37安装ARM_Compiler_5

MDK5.37安装ARM_Compiler_5 最后一个AC5编译器,从MDK5.37开始,不再默认安装,需要独立安装 ARMCompiler_506_Windows_x86_b960.zip (80.94MB) 否则使用AC5编译代码报错如下: Build started: Project: Project *** Target 'STM3210C_EVAL' uses ARM-Compiler 'Default Compiler Version 5' which is not available. *

mowwwcom的专栏 2万+

Oracle 11G表空间管理与表大小查询实战

数据库表空间是Oracle存储管理的核心逻辑单元,由物理数据文件组成。其核心原理是通过数据块(默认8KB)组织存储,DBA_SEGMENTS等数据字典视图记录了段级存储信息。精确计算表大小对容量规划、性能调优和成本控制至关重要,特别是在包含LOB字段或分区表的场景下。通过SQL查询可以获取表大小、表空间使用率等关键指标,结合AWR历史数据还能进行趋势分析。实际运维中,这些技术可应用于存储预警、高水位线回收、表压缩等典型场景,是DBA日常工作的基础技能。Oracle 11G的Segment Advisor和分

weixin_29309213的博客 249

DFT ATPG提升coverage的方法

采用更精确的故障模型,如桥接故障模型(用于描述电路中不应连接的节点之间的短路故障)和路径延迟故障模型(考虑信号在电路路径上的传输延迟),可以使ATPG工具生成更有效的测试向量来覆盖这些特殊故障。假设电路中有一个与门的输入引脚存在固定为0的故障(stuck - at - 0),D - 算法会分析与门的其他输入以及与门输出连接的后续电路逻辑,从而确定整个电路的输入值,使得当该故障存在时,电路的输出与无故障时不同。通过增加测试向量的类型,如功能测试向量和结构测试向量的结合,可以提高故障覆盖率。

Loving_enjoy的博客 968

dba_segements 没有所有的表的信息

dba_segements 没有所有的表的信息 这是oracle11g新增的功能,假设一个一般的用户user新建了一张表user_table,这时切换到sys用户查看dba_segments 查看user_table的信息,发现dba_segments 没有这张表, 这是因为oracle11g觉得用户如果新建了一张表,没有往表里插入数据之前,or...

u013165852的博客 1317

信息系统项目管理师(高项)重点!

学习高项自己做的笔记

PanJWei的博客 3301

VisionMaster位置修正功能深度解析:如何让找圆工具自动跟随移动目标?

本文深度解析海康威视VisionMaster平台的位置修正功能,重点介绍如何通过模板匹配与找圆工具的智能联动实现移动目标的动态追踪。文章详细阐述了工业视觉检测中的坐标系同步原理、模板匹配配置技巧及异常处理策略,为工程师提供了一套完整的工业级解决方案。

uu89012的博客 281

DBA_TABLES 和DBA_SEGMENTS的区别

DBA_TABLES视图描述“逻辑”结构,DBA_SEGMENTS描述了“物理”数据段,如数据文件。 对于DBA_TABLES和DBA_SEGMENTS,像“块”这样的列也不同。在dba_tables中,当运行dbms_stats时将计算“块”;而在dba_segments中,“ blocks”是磁盘上对象使用的实际块数。 DBA_SEGMENTS的源数据来自于sys_dba_segs;DBA_TABLES则是来自ys.user $ U,sys.ts $ TS,sys.seg $ S,SYS.O...

u014231534的博客 1286

风控域——决策引擎系统设计

本文详细介绍了风控决策引擎系统的设计与应用。决策引擎系统是一种智能化工具,可自动化、数据驱动地辅助或替代人工决策,广泛应用于金融、医疗、营销、风控等领域。文章阐述了决策引擎的核心功能,包括自动化决策、动态规则管理、实时处理和模型集成,以及系统组成,涵盖数据输入层、规则引擎和模型服务层。此外,还探讨了决策引擎的典型应用场景、技术架构、组件设计,以及风控决策引擎系统的技术方案、设计难点和重点。

庄小焱 3317

oracle关于表空间的数据字典,Oracle常用的数据字典

数据字典是Oracle存放关于数据库内部信息的地方,其用途使用来描述数据库内部的运行和管理情况。1、基本数据字典基本数据字典主要包括描述逻辑存储结构和物理存储结构的数据表。DBA_TABLESPACES:关于表空间的信息DBA_TS_QUOTAS:所有用户表空间限额DBA_FREE_SPACE:所有表空间中的自由分区DBA_SEGMENTS:描述数据库中所有段的存储空间DBA_EXTENTS:数据...

weixin_28675839的博客 864

QGIS安装与使用教程

QGIS安装与使用教程

weixin_46713695的博客 2万+

彻底解决tplink路由器无法访问部分https网站

彻底解决tplink无法访问部分https网站

renkai721的专栏 8762

oracle dba_tables.blocks和dba_segments.blocks的区别

  除了已知的 Dba_Segments .blocks = Dba_Tables.Blocks+Dba_Tables.Empty_Blocks +1(segment header block)   测试还发现 dba_tables.blocks不是实时的,收集统计信息之后才会接近真实值 dba_segments.blocks是实时的,当做完shrink表等操作之后,会自动更新真实值 ...

richard的专栏(bigdata.han@gmail.com) 763

SolidWorks软件二次开发:使用C#进行SolidWorks二次开发

SolidWorks 提供的 API(应用程序编程接口)允许开发者使用多种编程语言(如 C#、VB.NET 等)来控制和扩展 SolidWorks 的功能。API 架构基于 COM(组件对象模型),这意味着开发者可以通过引用 SolidWorks 的类型库来访问其对象模型。SolidWorks 的对象模型包括了从文档、零件、装配体到特征、草图等所有 SolidWorks 中可操作的对象。

kkchenjj的博客 3214

oracle dba_segments 查询不出结果

前两天刚装了个11.2.0.4 AIX环境,建了一堆表空间,导入了2T数据。 结果执行下面命令的时候,死活不出结果。 select segment_type,sum(bytes)/1024/1024/1024 from dba_segments where owner ='USER1' group by segment_type; cancel的时候报错 异常退出DBMS_SPACE_AD

jarry_gao的专栏 3009

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Oracle-Mysql:dba_segments数据库对象介绍

一、dba_segments查看数据库对象所分配的物理存储空间 Oracle 逻辑结构的相关数据字典: SELECT * FROM DBA_TABLESPACES -- 记录各个表空间的详细信息 SELECT * FROM DBA_TABLESPACE_USAGE_METRICS -- 记录各个表空间的使用状况 SELECT * FROM DBA_DATA_FILES -- 记录各个数据文件...

Odyssues_lee的博客 3120

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

查询oracle表的大小有几种方法,笔者简要分析下他们的异同环境,newsadmin.newlog,原本有244,459,078条记录,delete后,现在只有51,109,919记录。一、segmentsselect bytes/1024/1024/1024 from dba_segments where segment_name='NEWLOG';结果是27.26GB这个结果和select s...

weixin_32927133的博客 1625

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Oracle 查询表空间及某个表的大小

1、查询某个表的大小 (需更改“你要查询的表名”) --注,仅表数据的大小,不含索引、分区、LOB类型 select Segment_Name "表名",sum(bytes)/1024/1024 "表大小(M)" From User_Extents Group By Segment_Name having Segment_Name='你要查询的表名'; --注,仅表数据的大小,不含索...

qq_41928442的博客 2万+

oracle查询表实际大小,简要分析估算oracle表的大小

查询oracle表的大小有几种方法,笔者简要分析下他们的异同环境,newsadmin.newlog,原本有244,459,078条记录,delete后,现在只有51,109,919记录。一、segmentsselect bytes/1024/1024/1024 from dba_segments where segment_name='NEWLOG';结果是27.26GB这个结果和select s...

weixin_35998457的博客 1139

Oracle数据库空间管理:如何用一条SQL搞定表、LOB和索引的精准空间统计(附完整脚本)

本文针对Oracle数据库空间管理难题,提供了一条整合表、LOB和索引存储信息的精准统计SQL脚本。通过关联dba_segments、dba_lobs等核心视图,该脚本能一站式输出各组件空间占用(GB)及实际存储位置,帮助DBA快速定位空间消耗大户,有效支持容量规划与性能调优。

jj890的博客 379

oracle 占多少内存,MySql、Oracle和达梦统计记录数和占用内存

MySql、Oracle和达梦统计记录数和占用内存项目业务需要,然后baidu了两三个小时、实践、整理了以下可行的方案如下:MySql1、设置更新时间间隔,刷新系统表SET session information_schema_stats_expiry=0;SET @@session.information_schema_stats_expiry=0;这里设置的是session级别,不影响glob...

weixin_39624360的博客 193

Oracle 估算数据库大小的方法

查看了一下ALL_TABLES 表,其中有个字段:avg_row_len. 该值单位为bytes。 可以一句这个字段来进行一个估算。 AVG_ROW_LEN* NUMBER Average length of a row in the table (in bytes) http://download.oracle.com/docs/cd/E1...

yangzhiyong77 132

进口编码器停产怎么办?工程师实战替代选型指南

编码器是工业自动化中负责速度与位置反馈的核心传感元件,其工作原理分为增量式与绝对值两种,前者通过脉冲计数感知相对位移,后者可记忆绝对位置。在伺服电机、数控机床及产线定位等场景中,编码器的稳定性直接决定设备运行精度。当进口编码器面临停产,替代选型便成为工程师必须掌握的工程能力。常见路径包括同品牌系列升级、国产对标替换以及跨技术原理迁移(如光电换磁电)。但替代绝非简单换件,需从机械法兰、电气接口、信号协议到分辨率逐项盘库比对,并通过波形测试、PID整定与老化验证确保系统可靠。本文从实际项目经验出发,梳理了一套从

weixin_34267123的博客 375

Oracle存储概述

一个表空间可以包含多个segments,也可以包含多个datafiles;segments 和datafiles之间没有直接的关系;数据文件可以保持在服务器的文件系统里面也可以保持在ASM设备中; Oracle将一个 segment存储在多个数据文件中,一个数据文件包含多个seg

咸鱼翻身 698

Oracle笔记十八:系统表或系统视图

Oracle数据库系统表-视图1、前述2、系统表或视图2.1、ALL开头2.2、DBA开头2.3、USER开头2.4、V$开头2.4.1、V$ACTIVE_SESSION_HISTORY2.4.12、V$LOCKED_OBJECT2.4.20、V$PROCESS2.4.25、V$SESSION2.5、其他2.5.4、DUAL 1、前述 DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图 V$/GV$开头的绝大部分都是V_$/GV_$表的别名;X$没有对应的X_$

Mavey__的博客 648

批量计算透明表记录条数

REPORT  z_barry_test NO STANDARD PAGE HEADING . TABLES info_tabl. DATA: BEGIN OF it_tablename OCCURS 0 ,         tabname LIKE dd02l-tabna

少年休闲海 1133

Oracle数据库表空间占用分析:如何快速找出‘空间大户’并优化存储?

本文深入探讨了Oracle数据库表空间占用分析的核心方法,帮助DBA和开发者快速定位并优化存储空间。通过解析DBA_SEGMENTS等关键数据字典视图,提供了精准计算表占用空间大小的全景分析SQL脚本,并针对LOB字段和索引等常见“空间大户”给出了专项审计与优化策略,助力构建高效的存储治理体系。

tea88的博客 437
上一篇: 归档路径丢失后,归档日志写进了哪里
下一篇: 批量文件比对
access20032004
博客等级 码龄17年 3粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值