暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 为什么dba_extents没有答案,但dba_segments有结果

ASKTOM 2020-06-30
438

问题描述

我有一个安装了oracle 10.2.0.1的测试环境,今天我想调整一个名为ANNEX的表空间的大小: 347921216KB,因为那里

其中没有可用的数据。0.7% 此表空间对应的数据文件的使用,

我使用以下命令调整表空间附件的大小:

ALTER DATABASE DATAFILE '/test/ANNEX.dbf' RESIZE 247921216K


但是调整大小失败,并显示以下消息:
提交失败: ORA-03297: 文件包含超出请求的调整大小值的已使用数据

所以我查询了分段和扩展,得到了以下结果:

SQL> select segment_name,segment_type,extents,bytes from dba_segments where tablespace_name='ANNEX';

SEGMENT_NAME                          SEGMENT_TYPE     EXTENTS      BYTES
------------------------------------- -------------- --------- ----------
SYS_IL0000445585C00006$$              LOBINDEX              17    2097152
SYS_LOB0000445585C00006$$             LOBSEGMENT           210 1751121920
BIN$qRP3thbzAC7gU6wQAQIALg==$0        TABLE                 83  100663296
BIN$qRP3thbyAC7gU6wQAQIALg==$0        INDEX                 22    7340032
BIN$qRP3thbxAC7gU6wQAQIALg==$0        INDEX                 24    9437184

SQL> select segment_name,extent_id,file_id,bytes from dba_extents where tablespace_name='ANNEX';

SEGMENT_NAME                                                                      EXTENT_ID    FILE_ID      BYTES
-------------------------------------------------------------------------------- ---------- ---------- ----------

SQL> 


你能告诉我为什么吗?从dba_segments我查询了一些段,但从dba_extents我什么也没查询?

段是由一些范围组成的,但是为什么我不能查询任何范围?



专家解答

注意有多少对象以BIN $ 开头?

这意味着他们在回收装置里。“范围” 视图排除了这些被丢弃的对象。我怀疑吊球在这张掉落的表上。

create tablespace tblsp datafile 'tblsp.dbf' size 10m;

create table t tablespace tblsp as 
  select level c1, sysdate c2, rpad ( 'x', 100, 'x' ) c3 from dual
  connect by level <= 1000;
  
drop table t;

select segment_name, bytes from dba_extents
where  tablespace_name = 'TBLSP';

no rows selected

select segment_name, bytes from user_segments
where  tablespace_name = 'TBLSP';

SEGMENT_NAME                     BYTES    
BIN$qUtmPEW0WdDgUwQAAArguA==$0   196608 

select * from recyclebin;

OBJECT_NAME                      ORIGINAL_NAME   OPERATION   TYPE    TS_NAME   CREATETIME            DROPTIME              DROPSCN PARTITION_NAME   CAN_UNDROP   CAN_PURGE   RELATED   BASE_OBJECT   PURGE_OBJECT   SPACE   
BIN$qUtmPEW0WdDgUwQAAArguA==$0   T               DROP        TABLE   TBLSP     2020-06-30:10:21:32   2020-06-30:10:21:33   8990240            YES          YES           82897         82897           82897     24 


要恢复空间,请清除retyclebin:

purge recyclebin;

select * from recyclebin;

no rows selected

select * from user_segments
where  tablespace_name = 'TBLSP';

no rows selected


文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论