9i 서버에서 10g서버의 데이터를 export 에서 9i서버에 import 할려고 합니다.
테스트 (3가지 방법시도)
1. 10g에서 export -> ftp 9i로 전송 -> 9i import 에러
exp aaa/aaa tables=atable,btable file=exp.dmp compress=y
ftp 전송
imp aaa/aaa file=exp.dmp fromuser=aaa touser=aaa --> 에러발생
Import: Release 9.2.0.4.0 - Production on Tue Jan 8 09:58:54 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
JServer Release 9.2.0.4.0 - Production
IMP-00010: not a valid export file, header failed verification
IMP-00000: Import terminated unsuccessfully
2. 10g에서 export후 9i로 import 시 에러발생
exp aaa/aaa tables=atable,btable file=exp.dmp compress=y
imp aaa/aaa@9i file=exp.dmp fromuser=aaa touser=aaa ---> 에러발생
Import: Release 10.2.0.1.0 - Production on Tue Jan 8 10:45:51 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
IMP-00058: ORACLE error 6550 encountered
ORA-06550: line 1, column 33:
PLS-00302: component 'SET_NO_OUTLINES' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
IMP-00000: Import terminated unsuccessfully
3. 9i 에서 10g export시도 에러
exp aaa/aaa@10g tables=atable,btable file=exp.dmp compress=y --> 에러발생
Export: Release 9.2.0.4.0 - Production on Tue Jan 8 10:54:48 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in KO16KSC5601 character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table atable 2380 rows exported
. . exporting table btable
EXP-00003: no storage definition found for segment(6, 32691)
Export terminated successfully with warnings.
===> 해결책
참고로 아래의 내용은 예전에 9i -> 9i 할때 했던 방식입니다..
테스트 DB 세팅하면서 했던 기억이..
10g도 별문제 없이 될거라 예상되네요..
안되면 다시 리플 달아 주세요.. 테스트 해보게요.. ^^
그리고 CLOB 일때 테스트 한거에요..^^
catexp.sql 에서 exu9tne 뷰를 정의해 놓은 부분을 찾으시던지..
아니면 sys.exu9tne view 생성 스크립트 찾으셔서..
아래의 것을 추가 해주시면 됩니다.
UNION ALL
SELECT * from sys.exu9tneb
즉 sys 유저로 exu9tne 뷰만 다시생성 한후 export 를 실행하세요~~
ex)
CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1 =====================> 원래 요기까지 있습니다.
UNION ALL
SELECT * from sys.exu9tneb
/
--> export 후에 다시 원보하시면 끝납니다..
ex)
CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1 =====================> 원래 요기까지 있습니다.
UNION ALL =====================> 이줄삭제.
SELECT * from sys.exu9tneb ===========> 이줄삭제.
/
출처 : DBGuide.net http://www.dbguide.net/dbqa/dbqa111003.jsp?catenum=26&idx=8618