expdp 및 impdp 명령을 사용하여 데이터를 전송하는 방법은 무엇입니까?


29

저는 Oracle noob이며 모든 데이터와 메타 데이터를 한 스키마에서 Oracle 데이터베이스 내의 다른 스키마로 전송하려고합니다. 데이터 펌프 expdpimpdp명령 을 사용할 계획 입니다. 이것에 관한 질문이 있습니다.

  • 사용자없이 대상 스키마를 생성 할 수 있습니까? 아니면 먼저 사용자를 생성해야합니까 (스키마도 생성)?
  • 나는 실행할 수 expdpimpdpSYS에게 (AS SYSDBA) 계정을 사용하여 명령? 이것이 바람직한 방법입니까?
  • 이 명령문은 스키마에서 모든 오브젝트 (데이터 및 메타 데이터)를 가져 와서 다른 스키마로 이동합니까?

    expdp \"/ as sysdba\" schemas=<schemaname> directory=dumpdir dumpfile=<schemaname>.dmp logfile=expdp_<schemaname>.log  

    대상 스키마는 impdp명령 후 소스 스키마의 정확한 사본 입니까?

답변:


31

impdp 아직 존재하지 않는 경우 사용자를 생성하므로 원하는 것이 아니라면 걱정할 필요가 없습니다.

실행하지 마십시오 impdb또는 expdp으로 sysdba만 그렇게 특정 상황에서 오라클의 지원 요청을하는 경우. dba예를 들어 역할을 부여받은 일반 사용자를 사용하십시오 . ( [IMPORT|EXPORT]_FULL_DATABASE이러한 유형에 대해서는 특권이 있으므로 Oracle 디렉토리 객체에 대한 액세스 권한도 부여해야합니다.)

전체 스키마 내보내기 (메타 데이터 및 내용)는 실제로 다음과 같습니다.

expdp user/pass schemas=<schemaname> directory=dumpdir \
      dumpfile=<schemaname>.dmp \
      logfile=expdp_<schemaname>.log

다른 사용자 / 스키마로 가져 오려면 (대상 데이터베이스가 소스와 동일 할 수 있음) 다음을 사용할 수 있습니다.

impdp user/pass schemas=schema1 directory=dumpdir \
      remap_schema=schema1:schema2 \
      dumpfile=schema1.dmp \
      logfile=impdp_schema2.log

전체 가져 오기를 원하지 않으면 데이터와 메타 데이터 모두에 일부 필터를 설정할 수 있습니다. 가져 오기 작업 중 필터링을 참조하십시오 .

유틸리티 가이드는 모두에게 세부 사항을 가지고, 나는 강하게 개요 부분 적어도 읽어 보시기 바랍니다.


2

잘린 테이블을 가져 오는 경우, 즉 데이터를 다시 테이블로 가져 오려고합니다.

impdp user/pass TABLES=dept DIRECTORY=TEST_dir dumpfile=TEST.dmp logfile=expdpTEST.log TABLE_EXISTS_ACTION=REPLACE

내 테이블 위에 dept가져오고 싶은 것이 있습니다. 나는 그것을 일찍 잘랐다. 는 IS 덤프에서 TEST.dmp, 그리고 logfile이는 expdpTEST.log내가 데이터 만 가져올 할 (우리가 매개 변수를 사용할 수 있도록 테이블 구조는 동일합니다 TABLE_EXISTS_ACTION).

당신은 예를 들어,이 개 테이블을 절단 한 경우 empdept, 그리고 emp테이블이 dept_id외부 키로, 당신은 가져와야 dept후 첫 번째 테이블을하고 emp가져 오는 동안 회피 오류 테이블.

추가 정보 http://satya-dba.blogspot.in/2009/05/datapump.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.