2016-06-21 55 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

回答