gpt4 book ai didi

oracle - 未启用延迟的分割创建功能(ORA-00439)

转载 作者:行者123 更新时间:2023-12-04 23:17:04 24 4
gpt4 key购买 nike

我有DDL的.sql脚本文件,可容纳60多个表。我试图将脚本复制粘贴到连接到数据库“SQL Server 11g Express Edition 11.2.0.2.0版-64位生产”的SQL Developer中。

示例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文件。

最好的方法是哪一种?

最佳答案

正在使用的延迟段创建选项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也可以。

关于oracle - 未启用延迟的分割创建功能(ORA-00439),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37941314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com