2017-02-21 1 views
1

Oracle 데이터베이스가 있습니다. 데이터베이스에는 세 개의 테이블 (a, b, c 테이블)과 뷰 (a 및 b 테이블의 통합)가 있습니다.oracle에서보기 및 일부 테이블을 백업하는 방법은 무엇입니까?

나는 dan b 테이블과 뷰를 백업하려고합니다. 나는이 구문을 exp user/psw file=backup.dmp tables=(a,b)으로 사용했으나보기 만 백업했다. 백업 할 뷰를 어떻게 포함시킬 수 있습니까?

답변

2

오라클 10g 이후부터 expdp은 표준 내보내기 명령이고 exp은 더 이상 사용되지 않습니다.

expdp에는 include 절이 있습니다. 여기서 내보낼 테이블과 뷰를 지정할 수 있습니다. 다음은 샘플 명령입니다.

expdp scott/[email protected] schemas=MYSCHEMA 
include=TABLE:"IN ('A', 'B','C')",VIEW:"IN('my_view')" 
directory=MY_DIR dumpfile=Exp_ABC_MyView.dmp logfile=expdpExp_ABC_MyView.log 

또한 개체 정의 나 데이터 또는 둘 다를 내보낼 수 있습니다. https://oracle-base.com/articles/10g/oracle-data-pump-10g

+1

대단히 감사합니다. 실제 테이블과 뷰를 다음과 같이 사용하여 구현했습니다 : 'expdp blacklizard/pswd @ mydb schemas = blacklizard include = TABLE : "('DEPARTEMEN1', 'DEPARTEMEN2', 'DEPARTEMEN4', ... ' ", VIEW :"VIEW_DEPARTEMEN1 ','VIEW_DEPARTEMEN2 ','VIEW_DEPARTEMEN3 ','VIEW_DEPARTEMEN4 ', ...,'VIEW_DEPARTEMEN20 ') "보기 :"디렉토리 = exp_loc 덤프 파일 = try.dmp 로그 파일 = try.log', 'UDE-00014 : 매개 변수 'include'에 대한 값이 올바르지 않습니다. – flyingbird013

+0

큰 따옴표가있는 가장 큰 문제입니다. 운영 체제가 인수로 expdp로 전달하는 동안 운영 체제에서이를 제거 할 수 있습니다. 답변에서 공유 한 링크에 표시된대로 구문을 시도하십시오. 'include = TABLE : \ "IN (\'EMP \ ', \'DEPT \ ') \"'문자를 이스케이프 처리하기 위해 \를 사용하는 것입니다 .. 그렇지 않으면 단순히 expdp를 명령으로 줄 수 있습니다. 올바른 수출 데이터 세트를 얻으려는 응답을받을 수 있습니다. –

+0

아래의 구문 작업 모두에서 Microsoft 명령 프롬프트에서 테스트했습니다. '),보기 : IN ('ALL_DD ') 덤프 파일 = test4.dmp' 및 시스템/******** @ xe 스키마 = platformall 포함 = TABLE : \ "IN (\'DIM_DIM \ ') \" ,보기 : \ "IN (\ 'ALL_DD \') \"dumpfile = test5.dmp' –

1

"exp"유틸리티를 사용하는 동안 백업 할보기를 포함 할 수 없습니다. 오라클의 expdp 유틸리티는 내보낼 때보기를 포함하는 옵션을 제공합니다.

관련 문제