22868: table with LOBs contains segments in different tablesp

今天做实验的时候创建了一个表空间lob_tbs, 并且在该表空间上创建了一个包含大对象字段的表lob_tab。 当实验结束想要删除该表空间时报错ORA-22868。使用Oracle的帮助信息oerr ora 22868很容易定位问题的原因,根据提示先删除含有大字段的表,然后在删除该表空间就可以了。

问题还原如下:

1. 创建表空间lob_tbs

create tablespace lob_tbs datafile ‘/dbfiles/lob_tbs01.dbf’ size 100m

autoextend on extent management local;

2. 在users表空间创建表lob_tab,  大字段列存储在lob_tbs表空间中

create table lob_tab (id int, doc blog) tablespace users

lob(doc) store as securefile(tablespace lob_tbs compress high deduplicate);

3. 删除表空间lob_tbs报错ORA-22868

drop tablespace lob_tbs including contents;

drop tablespace lob_tbs including contents

*

ERROR at line 1:

ORA-22868: table with LOBs contains segments in different tablespaces

使用oerr帮助信息查到提示drop these tables and reissure drop tablespace. 先删除表,然后在删除表空间

enmoedu1*PROD1 ~ $ oerr ora 22868

22868, 00000, "table with LOBs contains segments in different tablespaces"

// *Cause: An attempt was made to drop a tablespace which contains the

// segment(s) for the LOB columns of a table but does not contain

// the table segment.

// *Action: Find table(s) with LOB columns which have non-table segments in

// this tablespace. Drop these tables and reissue drop tablespace.

HR@PROD1 > drop table lob_tab;

SYS@PROD1 > drop tablespace lob_tbs;

Tablespace dropped.

遇到报错信息时,使用oerr可提供说明,甚至给出指导性建议来帮助我们处理问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/640331315e5674b96695fa91a3b5e379.html