ORA-03001 with LOB how to

在创建含有LOB字段的表时,出现这样的报错:
ORA-03001: unimplemented feature

OERR的解释是:

ORA-03001 unimplemented feature
Cause: At attempt was made to use a feature that is not currently implemented.
Action: Do not attempt to use this feature at this time.

这个很自然让人想到难道是LOB的功能没有安装?但是我们也知道对于LOB的支持是内置在Oracle数据库中的,不需要额外安装,那么到底是什么原因?

因为数据库版本是9.0.1.5,也就是是Oracle9i release1 的数据库,检查数据库的文档我们发现这样一段话:

Restrictions on AUTO:
* You can specify this clause only for permanent, locally managed tablespace.
* You cannot specify this clause for the SYSTEM tablespace.
* You cannot store LOBs in AUTO segment-managed tablespaces.

也就是在Oracle9iR1版本中,我们不能在ASSM的表空间中创建LOB字段,这个限制在9iR2中被移除了。

解决方法:
1。升级数据库到9iR2,或者
2。将LOB字段存储在非ASSM的表空间中。

比如:
CREATE TABLESPACE manual_seg_ts DATAFILE ‘file_2.f’ SIZE 1M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT MANUAL;

Leave a Reply

Your email address will not be published. Required fields are marked *