设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 百科 > 正文

oracle – 未启用延迟段创建功能(ORA-00439)

发布时间:2021-01-28 20:48 所属栏目:128 来源:网络整理
导读:我有带有DDL的.sql脚本文件超过60个表.我正在尝试将脚本复制粘贴到SQL Developer中,连接到“Oracle Database 11g Express Edition Release 11.2.0.2.0 – 64bit Production”的数据库. 示例DDL脚本: CREATE TABLE UserName."Table_Name" ( "Col1" NUMBER(*,

我有带有DDL的.sql脚本文件超过60个表.我正在尝试将脚本复制粘贴到SQL Developer中,连接到“Oracle Database 11g Express Edition Release 11.2.0.2.0 – 64bit Production”的数据库.

示例DDL脚本:

CREATE TABLE UserName."Table_Name" 
   (    "Col1" NUMBER(*,0),"Col2" VARCHAR2(50 BYTE),"Col3" VARCHAR2(50 BYTE)
   ) SEGMENT CREATION DEFERRED 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "USERS" ;

Error report -
SQL Error: ORA-00439: feature not enabled: Deferred Segment Creation
00439. 00000 -  "feature not enabled: %s"
*Cause:    The specified feature is not enabled.
*Action:   Do not attempt to use this feature.

如果我删除DDL脚本中的SEGMENT CREATION DEFERRED:

CREATE TABLE UserName."Table_Name" 
   (    "Col1" NUMBER(*,"Col3" VARCHAR2(50 BYTE)
   ) 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "USERS" ;

这有效.但我无法在每个表脚本中手动删除它.

如果我有.dmp转储文件,那么以下语法也将解决问题;在源实例上:

EXPDP user/pwd dumpfile=somename.dmp directory=DATA_DUMP_DIR nologfile=Y version=10.2

并在目标实例上

IMPDP user/pwd dumpfile=somename.dmp directory=DATA_DUMP_DIR nologfile=Y version=10.2

但是我没有.dmp文件,我只有一个.sql文件.

这是最好的方法吗?

解决方法

延迟段创建选项 is not available in Oracle 11g Express Edition (XE),这是您正在使用的.它只有 available in Enterprise Edition (EE).

如果您不想进行导出/导入并且只能使用已提供的脚本文件,则唯一的选择是查找并删除SEGMENT CREATION DEFERRED子句的所有实例.

当然,任何文本编辑都可以在SQL Worksheet窗口中执行,也可以使用SQL Developer has its own find/replace.

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读