最近在测试系统上发现dba_segments和dba_extents中统计段空间大小居然不一样

SQL> select bytes,blocks,extents from dba_segments where segment_name='PROFILE' and owner='NAP3';

BYTES BLOCKS EXTENTS
---------- ---------- ----------
0 0 0

SQL> select bytes,blocks,extent_id from dba_extents where segment_name='PROFILE' and owner='NAP3';

BYTES BLOCKS EXTENT_ID
---------- ---------- ----------
167772160 20480 0

在metalink上搜索到如下资料: Doc ID: Note:463101.1
HOW TO DISCOVER AND FIX THE MISTMATCH BETWEEN DBA_SEGMENTS AND DBA_EXTENTS DICTIONARY VIEWS

里面讲到当DML/DDL操作(parallel index creation, frequent deletes/inserts)会导致这种不一致,
导致dba_segments中的不正确, 所以dba_extents中记录的分配给段的空间值才是可信的值。。

解决方法是执行一个Oracle internal的未写入文档的procedure:

DBMS_SPACE_ADMIN.TABLESPACE_FIX_SEGMENT_EXTBLKS('<tablespace_name>');

(注意要把COMPATIBLE设置到10.0.0以上)

Issuing DBMS_SPACE_ADMIN.TABLESPACE_FIX_SEGMENT_EXTBLKS fixes the DBA_SEGMENTS values. The tablespace 
must be kept
online and read/write when this procedure is called. Runing this procedure requires 
COMPATIBLE parameter to be set to 10.0.0.0 or greater. 
The procedure fixes extents, blocks and bytes in the segment headers to synchronize seg$ and 
segment header entries.
It holds the allocation enqueue for the tablespace till the command 
is completed and this may delay some sort of operations in this tablespace (new extent allocation, 
deallocate extent, etc.). So it needs to be run during an idle period.

可以通过如下语句来检查系统中所有不一致的segment:

select
/*+ RULE */ s.tablespace_name, s.segment_name segment, s.partition_name, 
s.owner owner, s.segment_type,
s.blocks sblocks, e.blocks eblocks, 
s.extents sextents, e.extents eextents, s.bytes sbytes, e.bytes ebytes
from
dba_segments s, 
(select count(*) extents, sum(blocks) blocks, sum(bytes) bytes, segment_name, 
partition_name, segment_type, owner 
from dba_extents 
group
by segment_name,partition_name,segment_type,owner) e 
where s.segment_name=e.segment_name 
and s.owner = e.owner 
and (s.partition_name = e.partition_name or s.partition_name is
null) 
and s.segment_type = e.segment_type

本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/744490,如需转载请自行联系原作者

发现dba_segments和dba_extents中统计段空间大小居然不一样相关推荐

  1. oracle中dba_segments,发现dba_segments和dba_extents中统计段空间大小居然不一样

    最近在测试系统上发现dba_segments和dba_extents中统计段空间大小居然不一样 SQL> select bytes,blocks,extents from dba_segment ...

  2. 2.当vmware中的Linux磁盘大小不足了的时候,修改vmware中Linux磁盘空间大小的解决方案

     重新设置虚拟机下的大小: 修改扩展后的磁盘大小 3第三步 4 启动Linux 5使用fdisk –l命令查看磁盘信息 6打开一个终端窗口,并查看parted命令 man parted 输入par ...

  3. ORA-01658: 无法为表空间space中的段创建 INITIAL

    解决: 1.查看表空间总大小SQL:select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespac ...

  4. ora-01658 :无法为表空间USERS 中的段创建INITIAL区

    查看表空间大小SQL: select SEGMENT_TYPE,owner,sum(bytes)/1024/1024 from         dba_segments        where ta ...

  5. ORA-01658:无法为表空间XXX中的段创建initial区

    一:问题分析 有可能是因为表空间大小不够造成在插入数据或者其他需要占用表空间大小的时候报错. 二: 1.查看表空间大小:select tablespace_name,sum(bytes)/1024/1 ...

  6. oracle建表后添加数据报错:ORA-01658:无法为表空间中的段创建INITIAL区

    看到这个,是表空间不足咧. 首先呢,我看了下建表时的表空间分配大小,分的挺多了64M,不行,改掉改成64k,ok啦. 别的表也报错.纠结了,决定给表空间大小改了. 1.先看下我的表空的位置 selec ...

  7. sql server 监视_如何在SQL Server中监视对象空间增长

    sql server 监视 介绍 (Introduction) There are many situations in a DBA's life that lead him or her to mo ...

  8. 本地管理表空间(LMT)与自动段空间管理(ASSM)概念(未看)

    本地管理表空间(LMT)与自动段空间管理(ASSM)概念 创建表空间时,extent management local 定义本地管理表空间(LMT),segment space management ...

  9. 本地管理表空间LMT自动段空间管理ASSM

    --------------------------------------------LMT本地管理表空间---------------------------- LMT:改进了表空间中对象的性能, ...

最新文章

  1. 设置VSCode快捷键Alt+U(首字母转换为大写)、Shift+Alt+U(全部转换为大写)、Shift+Alt+L(全部转换为小写)
  2. SAP PP 启用了HU管理下的工单入库
  3. 安全起见,这款 IDEA 插件赶紧删了吧!
  4. 局域网内其他电脑通过SSH访问NAT模式下的虚拟机
  5. 谈谈游戏开发中用到设计模式
  6. binder 进程间通讯关于handle一点疑问
  7. java api csdn_java api函数读出当前机器名以及版本号 csdn
  8. 95-872-058-源码-CEP-CEP规则匹配
  9. Java多线程学习六:使用线程池比手动创建线程好在那里以及常用线程池参数的意义
  10. git 入门操作指令
  11. [Ubuntu] apache .htaccess根据访问的域名指向不同的目录
  12. RadHat 6 系列心路历程、新功能及变化
  13. vue上线后,背景图片路径错误
  14. Java工程带库编译运行
  15. 430单片机实现三人投票表决器_关于STC51下载器串口免冷启动简单方案
  16. 文件服务器实验报告,Server 2008 R2 文件服务器资源管理器实验报告.docx
  17. mysql非整型分区_mysql分区
  18. tera term串口文本匹配打印时间脚本
  19. twitter数据爬取
  20. Flume之生产正确的使用方式二(Multiple Agent+ Multiple Channel+Custom)

热门文章

  1. JS页面跳转的各种形式
  2. 关于DruidStatView监控信息
  3. 三维重建13X:一些算法试题-今日头条AI-Lab
  4. 时序分析:隐马尔可夫模型
  5. 酷派android是什么系统版本,酷派大神X7的手机系统是什么?能升级安卓5.0吗?
  6. bzoj 3489 A simple rmq problem——主席树套线段树
  7. java多线程系列:ThreadPoolExecutor源码分析
  8. 28.Node.js 函数和匿名函数
  9. AngularJS学习!
  10. 文件流下载 ASP.NET