2016-06-21 67 views
3

我有.sql具有DDL的脚本文件超过60个表。我试图将脚本复制粘贴到SQL Developer中,连接到“Oracle数据库11g速成版版本11.2.0.2.0 - 64位生产”数据库。延迟段创建功能未启用(ORA-00439)

样品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. 

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

CREATE TABLE UserName."Table_Name" 
    ( "Col1" NUMBER(*,0), 
    "Col2" VARCHAR2(50 BYTE), 
    "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文件。

这是做这件事的最好方法吗?

+1

你的'.sql'文件来自哪里,如果你不能在没有子句XE不支持的情况下生成它,为什么你不能编辑段创建子句?这似乎是一个相当简单的查找/替换? –

+0

感谢您的编辑/回复。 * .sql文件位于已安装数据库的本地系统中。查找/替换将正常工作,这是我现在所做的。但是,“没有子句XE不支持”是什么意思? – MAX

回答