请问一个表空间使用的问题

[复制链接]
查看11 | 回复6 | 2014-9-10 21:37:07 | 显示全部楼层 |阅读模式
朋友遇到一个奇怪的问题:
SQL> SELECT SUM(BYTES/1024/1024/1024) FROM DBA_SEGMENTS WHERE TABLESPACE_NAME='SAMENAME';
SUM(BYTES/1024/1024/1024)
-------------------------

170.380554

SQL> SELECT SUM(BYTES)/1024/1024/1024 FROM DBA_DATA_FILES WHERE TABLESPACE_NAME='SAMENAME';
SUM(BYTES)/1024/1024/1024
-------------------------

262.46875
SQL> select sum(bytes)/1024/1024/1024 from dba_free_space where tablespace_name='SAMENAME';
SUM(BYTES)/1024/1024/1024
-------------------------

25.5291748

可以看到:
free_space + used_spaceselect sum(bytes)/(1024*1024) as mbytes from dba_segments where tablespace_name='';
MBYTES
---------
66711.0
SQL> select sum(bytes)/(1024*1024) as mbytes from dba_free_space where tablespace_name='';
MBYTES
---------
53772.2
SQL> select sum(bytes)/(1024*1024) as mbytes from dba_data_files where tablespace_name='';
MBYTES
---------
66000.0
里面明显地不吻合。
下面是METALINK的回应:
Please confirm that tablespace is LMT and then perform following action plan:
1) Rebuilt the bitmap.
SQL> exec dbms_space_admin.tablespace_rebuild_bitmaps('tablespace_name');
2) Run TABLESPACE_FIX_SEGMENT_EXTBLKS to re-compute the SEG$ total.
SQL> exec DBMS_SPACE_ADMIN.TABLESPACE_FIX_SEGMENT_EXTBLKS('tablespace_name')
3) Now check if the columns are almost matching. If still facing the issue, then please upload the output of below queries :
但实际上我什么都没做,过两天就自动好了。出问题的是BLOB。
回复

使用道具 举报

千问 | 2014-9-10 21:37:07 | 显示全部楼层
file header没有包括在segment中
回复

使用道具 举报

千问 | 2014-9-10 21:37:07 | 显示全部楼层
with a as (select sum(bytes) a_bytes from dba_data_files where tablespace_name='USERS'),
b as (select sum(bytes) b_bytes from dba_segments where tablespace_name='USERS'),
c as (select sum(bytes) c_bytes from dba_free_space where tablespace_name='USERS')
select (a.a_bytes-b.b_bytes-c.c_bytes)/1024 from a,b,c
-----------
64
回复

使用道具 举报

千问 | 2014-9-10 21:37:07 | 显示全部楼层
但实际上我什么都没做,过两天就自动好了。出问题的是BLOB。
什么意思?统计表空间的时候没有包括 blob的segment?
回复

使用道具 举报

千问 | 2014-9-10 21:37:07 | 显示全部楼层
blocksize 8k
file header 8 blocks
8k*8=64
回复

使用道具 举报

千问 | 2014-9-10 21:37:07 | 显示全部楼层
原帖由 hanjs 于 2008-7-27 10:22 发表
什么意思?统计表空间的时候没有包括 blob的segment?

那个TABLESPACE中有几个BLOB SEGMENT。当时有问题时就是那几个BLOB SEGMENT的BYTES都是错的。
因为没导致什么问题,我也就懒得去执行METALINK的建议。过两天再去查,那些BLOB SEGMENT的BYTES居然自动变成正确的了。
可以跟DBA_EXTENTS里面的信息互相验证一下。
回复

使用道具 举报

千问 | 2014-9-10 21:37:07 | 显示全部楼层
谢谢了, 学习了e
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行