2012-05-15 2 views
0

Oracle의 imp/exp 유틸리티를 사용하여 데이터베이스를 다른 서버로 전송합니다. 먼저 원본 데이터베이스와 동일한 테이블 공간을 가진 빈 데이터베이스를 만들었습니다.Oracle 덤프 가져 오기 중 오류 행 방지

full mode을 사용할 때 데이터베이스가 올바르게 작동하지만 정상적인 시스템 개체 때문에 많은 수의 오류가 발생했습니다. 상당히 혼란스럽고 "실제"오류 메시지가 있는지 확인할 수 없습니다. 옵션은 ignore=Y을 사용하지만 docs에 따르면 테이블 데이터가 복제 될 수 있음을 의미합니다. 이것은 좋은 것으로 들리지 않습니다. 또는 한 번만 가져 오면 복제가 없습니까?

나는 또한 user mode 임포트를 사용할 수 있지만, 중요한 부분은 이런 식으로 임포트되지 않을 것이며, 나는 피해야한다고 생각한다. 따라서 나는 this table에 따라 나에게 보인다.

해결책은 무엇입니까?

expdp/impdp 대신이 문제를 해결해야합니까? 사전에

감사합니다.

답변

0

일반적으로 특정 스키마에만 관심이 있으며 시스템 스키마를 가져 오지 않으려 고합니다. 덤프 파일이 전체 수출 포함되어있는 경우에는 가져올 수 있습니다 스키마의 다음과 같이 관심이 :

imp system/<password>@<database> file=yourdump.dmp fromuser=<user1>,<user2>...<user_n> 
+0

괜찮지 만 가져올 수없는 역할, 디렉토리 별칭 등은 무엇입니까? – rics

+0

사용자를 직접 작성하기 전에는이 작업을 수행 할 수 없습니다. – rics

2

당신은 확실히 많은 이유 (가용성, 성능 등) expdp/impdp를 사용해야합니다. 물론, 전체 데이터베이스를 언로드 /로드 할 수 있습니다. TABLE_EXISTS_ACTION을 사용하여 테이블의 내용 (SKIP | APPEND | TRUNCATE | REPLACE)이 이미 대상 데이터베이스에 있는지 제어 할 수 있습니다. 변경되지 않은/원치 않는 스키마 개체를 가져 오지 않으려면 EXCLUDE 매개 변수를 사용할 수도 있습니다.