【发布时间】:2018-03-12 17:30:27
【问题描述】:
我有 60 多个表的 .sql 带有 DDL 的脚本文件。我正在尝试将脚本复制粘贴到 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(*,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 文件。
最好的方法是什么?
【问题讨论】:
-
你的
.sql文件是从哪里来的,如果没有XE不支持的子句就不能生成,为什么不能编辑掉段创建子句呢?这似乎是一个相当微不足道的查找/替换? -
感谢您的编辑/回复。 *.sql 文件位于我安装了数据库的本地系统中。查找/替换可以正常工作,这就是我现在所做的。但是“没有子句 XE 不支持”是什么意思?
标签: oracle oracle11g oracle-xe