Oracle 데이터 펌프 내보내기 유틸리티를 사용하여 로컬 시스템에서 덤프 파일을 만드는 방법은 무엇입니까?
Oracle 데이터 펌프 내보내기 유틸리티에는 DB 서버에 존재하는 매개 변수 DIRECTORY (DBA_DIRECTORIES)가 필요합니다.이 디렉토리를 로컬 컴퓨터에 매핑할 수 있습니까? 아니면 오라클 데이터베이스에서 로컬로 여러 테이블을 내보낼 수 있는 다른 방법이 있습니까?
Data Pump를 사용하는 경우 로컬 컴퓨터에 덤프 파일을 저장할 직접적인 방법이 없습니다.그것이 바로 Data Pump가 설계한 방식입니다.
하지만, 여러분이 원하는 것을 성취할 수 있는 방법 중 하나가 있습니다.해결 방법에는 두 가지 단계가 있습니다.
- 실행.
expdp
다에 합니다. - 사용하다
ocp
데이터베이스 서버에서 로컬 컴퓨터로 덤프 파일을 전송하는 도구(그리고 원하는 경우 다시)입니다.
ocp
tool은 "Oracle Copy"의 약자로 덤프 파일을 데이터베이스 서버에 앞뒤로 복사하기 위해 작성되었습니다.여기에서 이용 가능합니다: https://github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz 소스 배포판이므로 다운로드 후 압축을 풀면 실행합니다../configure && make
(클라이언트 측에 Windows가 없기를 바랍니다. 컴파일을 시도한 적이 없기 때문입니다.)
그것은 간단한 구문을 가진 간단한 명령줄 도구입니다.예를 들어, 이 명령을 사용하면 다음과 같이 파일을 꺼낼 수 있습니다.
ocp <connection_string> DATA_PUMP_DIR:remote_file_name.dmp local_file_name.dmp
이 도구는 데이터베이스 연결과 최소 데이터베이스 권한 집합을 사용합니다.
업데이트:
하고 를 할 수 .ocp
Windows 32비트용 도구:
https://github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1-win32.zip
32비트 Instant Client 11.2.0.4를 사용하여 컴파일/테스트되었습니다. 여기: http://www.oracle.com/technetwork/topics/winsoft-085727.html
인스턴트 클라이언트-basiclite-nt-11.2.0.4.0.zip(20,258,449바이트)
전체 Oracle Client 설치에서도 작동할 것으로 생각하지만(비트만 확인하고 32개는 되어야 함), 스스로 확인하지 않았습니다.
ㅇocp
파일 전송 중에 화려한 진행률 미터가 없습니다.그 코드 조각은 너무 많은 *nix 특정한 것들을 가지고 있어서 나는 그것을 잘라내야 했습니다.
및하므로 GnuWin 된 popt zlib 에 32 를 합니다.ocp
Windows의 경우에도 32비트입니다.64비트 버전이 없는 것이 미션 크리티컬하지 않기를 바랍니다.
업데이트 2:
경고!서버에서 파일을 다운로드할 때는 항상 전용 서버 연결을 사용해야 합니다. 그렇지 않으면 다운로드한 파일 복사본이 오류 메시지 없이 손상됩니다.
약간의 해킹만 있으면 데이터 펌프를 통해 원하는 작업을 수행할 수 있지만 로컬 컴퓨터에 데이터베이스가 있어야 합니다.
로컬 시스템에서 원격 시스템에 대한 데이터베이스 링크를 생성해야 합니다.
그런 다음 data pump 옵션에서 db link owner로 로컬 데이터베이스에 로그인하고 'network_link' 옵션을 생성한 데이터베이스 링크 이름으로 지정합니다.이렇게 하면 원격 데이터베이스에서 로컬 데이터베이스를 통해 내보내고 로컬 인스턴스에 파일을 만듭니다.예를 들어,
expdp directory=<local_dir_object> network_link=<dblinkname on local instance> dumpfile=.. logfile=.. tables/schema=...
아니요, 데이터 펌프는 그렇게 생각하지만 Oracle은 db가 있는 서버와 동일한 서버를 사용하여 처리 속도를 높일 수 있기 때문에 이점이 있습니다.다른 향상된 기능들도 있지만, 저는 여전히 이것이 데이터 펌프에 큰 단점이라고 생각합니다.이를 위해 기존 exp/imp 또는 타사 툴을 사용합니다.
"데이터를 데이터베이스 밖에 보관하려는 이유는 무엇입니까? 데이터의 가장 안전한 장소입니다.백업, 복원 및 복구가 이루어지는 곳입니다.
데이터베이스 A에서 데이터베이스 B로 데이터를 이동하려는 경우 두 데이터베이스 모두 디렉토리 객체를 통해 데이터 덤프 파일에 액세스하고 데이터 펌프를 사용할 수 있는 공통 파일 영역에 액세스할 수 있는지 확인합니다.
그래도 클라이언트 측에 데이터를 내보내려면 이전 툴 확장 및 imp를 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/8394243/how-to-use-oracle-data-pump-export-utility-to-create-dump-file-in-local-machine
'programing' 카테고리의 다른 글
nodejs에서 senecajs(micros 서비스 툴킷)를 사용하여 mariadb에 질문 배열을 삽입하는 방법? (0) | 2023.09.23 |
---|---|
객체를 배열로 변환 (0) | 2023.09.23 |
왼쪽 전환에서 CSS 3 슬라이드 인 (0) | 2023.09.23 |
Aligning text in SVG (0) | 2023.09.18 |
WooCommerce - 제품 카테고리 슬러그를 상점 기반으로 변경 (0) | 2023.09.18 |