ORA-10635: Invalid segment or tablespace type

对DML频繁的表执行shrink操作时报 ORA-10635: Invalid segment or tablespace type
 
操作系统版本:
 $ oslevel -s 
5300-07-01-0748


数据库版本  :

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bi
PL/SQL Release 10.1.0.2.0 - Production
CORE    10.1.0.2.0      Production
TNS for IBM/AIX RISC System/6000: Version 10.1.0.2.0 - Productio
NLSRTL Version 10.1.0.2.0 - Production


由于表LSKFCDYE的DELETE操作非常频繁,为了降低这批表的高水位线,执行shrink操作。

SQL> ALTER TABLE LSKFCDYE NABLE ROW MOVEMENT ; 

Table altered.

当执行shrink操作的时候,结果报如下错误:

SQL> ALTER TABLE LSKFCDY SHRINK SPACE;

alter table LSKFCDY shrink space
*
ERROR at line 1:
ORA-10635: Invalid segment or tablespace type

从10g ORACLE开始提供Shrink的命令,但10g的这个新特性仅对ASSM表空间有效 
 

查询LSKFCDYE所在表空间管理方式,果然是LOCAL本地管理,因此也就知道错误的原因了

SQL> SELECT TABLESPACE_NAME, EXTENT_MANAGEMENT FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='DATAZS';

TABLESPACE_NAME                EXTENT_MAN
------------------------------ ----------
JYCQDATAZS                     LOCAL



导致shrink space失败的原因参见Oracle官方介绍

Shrink operations can be performed only on segments in locally managed tablespaces with automatic segment space management (ASSM). Within an ASSM tablespace, all segment types are eligible for online segment shrink except these:

IOT mapping tables

Tables with rowid based materialized views

Tables with function-based indexes

...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值