oracle dmp 파일이있어서 데이터를 테이블로 가져와야합니다. 덤프의 데이터에는 새 행과 업데이트 된 행이 없습니다. 나는 import 명령과 IGNORE = Y를 사용하기 때문에 모든 새로운 행을 잘 가져옵니다. 하지만 기존 행을 가져 오거나 덮어 쓰지 않습니다 (위반 된 고유 키 제약 조건에 대한 경고가 표시됨). 가져 오기가 기존 데이터를 새로운 데이터로 업데이트하도록하는 옵션이 있습니까?Oracle 데이터 덤프 가져 오기 및 기존 데이터 덮어 쓰기
1
A
답변
4
아니요. 데이터 펌프를 사용하는 경우 TABLE_EXISTS_ACTION=TRUNCATE
옵션을 사용하여 기존의 모든 행을 제거하고 덤프 파일의 모든 항목을 가져올 수 있지만 기존 행을 업데이트하고 새 파일에없는 행만 남겨 둘 수 있습니다 - 즉 삭제하지 말라. (분명히 밝혀졌지만 업데이트 만 언급했기 때문에 그렇게 생각하지는 않는다.) 그것이 적절하지 않을 수도있다. 그리고 덤프 파일은 expdp
이 아닌 이전의 exp
도구에서 가져온 것이므로 데이터를 다시 내보낼 수있는 경우가 아닙니다.
덤프에없는 기존 행을 삭제하려면 가져 오기 전에 영향을받은 모든 테이블을자를 수 있습니다. 그러나 그것은 당신이 스스로 수행해야 할 별도의 단계 일 것입니다. 어떤 것이 아닙니다. imp
이 당신을 위해 할 것입니다. 테이블은 잠시 동안 비어있을 것이므로 중단 시간을 가져야합니다.
imp
에서 이름 바꾸기를 지원하지 않으므로 다른 스키마의 새 스테이징 테이블로 가져올 수도 있습니다. 그런 다음 실제 테이블에 새 데이터를 merge
으로 사용합니다. 이는 최소한의 파괴적인 접근 방식 일 수 있습니다. 그래도 모든 merge
문을 디자인하고 작성해야합니다. 이 작업을 자동으로 수행 할 수있는 기본 제공 방법은 없습니다.
0
임시 테이블로 가져온 다음이를 조인하여 레코드를 조정할 수 있습니다.
기존 파일을 임시 테이블로로드하려면 impdp 옵션 REMAP_TABLE을 사용하십시오.
impdp .... REMAP_TABLE=TMP_TABLE_NAME
로드가 완료되면 임시 테이블의 기존 테이블에서 MERGE 문을 실행하십시오.
관련 문제
- 1. Oracle 데이터 펌프를 기존 테이블로 가져 오기
- 2. oracle 내보내기 및 가져 오기 데이터 펌프
- 3. geonames.org에서 도시 데이터 가져 오기 덤프 파일
- 4. 데이터 덮어 쓰기 rabbitmq excel
- 5. 오라클 데이터 덤프 및 데이터 복원
- 6. 벡터 데이터 덮어 쓰기
- 7. 기능 데이터 덮어 쓰기
- 8. SQL 덮어 쓰기 데이터
- 9. MySQL 테이블의 데이터 덮어 쓰기
- 10. django의 syncdb에서 데이터 덮어 쓰기
- 11. App Engine에서 데이터 덮어 쓰기
- 12. 데이터 가져 오기 및
- 13. Backbone.sync로 데이터 유형 덮어 쓰기
- 14. mysql 테이블 데이터 덮어 쓰기
- 15. Django 덮어 쓰기 양식 데이터
- 16. Typoscript : typolink로 데이터 덮어 쓰기
- 17. 표보기 셀 덮어 쓰기 데이터
- 18. SQLite 삽입 덮어 쓰기 데이터
- 19. JAVA 데이터 덮어 쓰기 오류
- 20. 파일을 사용하여 데이터 덮어 쓰기
- 21. 기존 데이터를 덮어 쓰지 않고 데이터 세트를 사용하여 XML에 쓰기
- 22. JSM 가져 오기 현재 오브젝트 덮어 쓰기
- 23. 기존 sqlite 데이터베이스에서 데이터 가져 오기
- 24. EDMX 덮어 쓰기 주요 데이터 주석
- 25. Oracle DB 요청의 모든 데이터 가져 오기
- 26. Oracle : 스프레드 시트 데이터 가져 오기
- 27. txt 파일에서 Oracle 데이터베이스로 데이터 가져 오기
- 28. 최대 절전 모드에서 Oracle 데이터 가져 오기
- 29. Oracle BI가 공유 목록에서 데이터 가져 오기
- 30. Oracle 트리거에서 현재 행 데이터 가져 오기