60 개 이상의 테이블에 대해 DDL이있는 .sql
스크립트 파일이 있습니다. 나는 "Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production"이라는 데이터베이스에 연결된 SQL Developer에 스크립트를 복사하여 붙여 넣으려고합니다.지연된 세그먼트 생성 기능을 사용할 수 없음 (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.
나는 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
이면 다음 구문을 사용하여 문제를 해결할 수도 있습니다. 소스 인스턴스 : 나는 .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
하지만, 나는 단지 .sql
파일이 있습니다.
이렇게하는 가장 좋은 방법은 무엇입니까?
당신의'.sql' 파일은 어디에서오고, XE가 지원하지 않는 절을 생성 할 수 없다면, 왜 세그먼트 생성 절을 편집 할 수 없습니까? 꽤 사소한 찾기/바꾸기처럼 보입니까? –
수정/답장을 보내 주셔서 감사합니다. * .sql 파일은 DB가 설치된 로컬 시스템에 있습니다. 찾기/바꾸기가 바로 지금까지했던 작업입니다. 그러나 "절 XE가 지원하지 않는다"는 것은 무엇을 의미합니까? – MAX