2010-01-05 4 views
2

하나의 PC에 Oracle 데이터베이스가 있습니다. 다른 PC로 마이그레이션해야합니다. 둘 다 별도의 Oracle 설치를 사용합니다. 이제 어떻게 내 PC에서 내 보낸 다음 다른 PC로 가져올 수 있습니까?오라클 데이터베이스 내보내기 (데이터 .sql 파일 만들기)

내보내고 가져 오는 명령은 무엇입니까?

내보낼 데이터는 물론 구조도 필요합니다. Oracle DB를 사용하고 있습니다.

답변

6

원본 데이터베이스에서 데이터를 내보내고 새 데이터베이스로 가져올 수 있습니다.

%> exp USERID=<username>/<password> FULL=Y FILE=dbExport.dmp 
%> imp USERID=<username>/<password> FILE=dbExport.dmp FULL=Y 

모두를위한 다양한 옵션이 있습니다

이 명령의 사용을 보여주는 좋은 링크 그것은 전체 데이터베이스를 수출에 대해 다음과 같이 아래로 비등 here

을 찾을 수 있습니다 귀하의 필요에 맞게 명령을 내릴 수 있습니다. 예를 들어, 가져 오기 명령이 TABLES 매개 변수를 통해 특정 테이블 만 가져 오도록 제한하거나 TOUSER, FROMUSER 매개 변수를 사용하여 사용자간에 데이터베이스 오브젝트를 이동할 수 있습니다. 수출 또는 수입 제약, 인덱스 등 당신은 실행하여 두 명령에 대한 모든 유효한 매개 변수를 찾을 수 있는지 여부에 대한 옵션도 있습니다 중 하나

%> exp help=Y 
%> imp help=Y 
3

당신은 당신이 사용하고있는 데이터베이스의 버전 말을하지 않습니다 . 새로운 기능이 출시 될 때마다 Oracle에 추가되기 때문에 이는 중요한 정보입니다. 예를 들어, 10g에서 오라클은 새로운 유틸리티 인 DataPump를 도입했습니다.이 유틸리티는 이전 IMP 및 EXP를 대체합니다 (해당 유틸리티는 여전히 설치에 포함되어 있지만 사용되지 않습니다).

DataPump에 대한 좋은 점 중 하나는 OS 명령 줄뿐만 아니라 데이터베이스 내부에서도 실행할 수 있다는 것입니다. 최근에 PL/SQL에서 DataPump를 사용하여 this SO thread에 예제를 게시했습니다. 오라클은 comprehensive documentation을 제공합니다.

편집

구식 IMP/EXP이나 데이터 펌프 둘은 SQL 파일 (*)를 생성합니다. 그게 정말로 원하는 경우 (스키마와 데이터를 이식하는 것과 반대로 어쨌든) 그런 일이 좀 더 까다 롭습니다. 오라클은 DDL 스크립트를 생성하는 데 사용할 수있는 DBMS_METADATA 패키지를 가지고 있지만 데이터를 처리하지는 않습니다. 실제 INSERT 문을 생성하려면 IDE를 사용하는 것이 가장 좋습니다. Quest의 TOAD는 오라클 (무료) SQL Developer tool처럼이 작업을 수행 할 것입니다. 두 IDE는 모두 DDL 스크립트를 생성합니다.

(*) Datapump 가져 오기는 SQLFILE= 매개 변수를 사용하여 이전 Datapump 내보내기 파일에서 DDL 문을 파생시킬 수 있습니다. 그러나 그것은 단지 데이터가 아닌 구조입니다.

+1

오라클의 SQL 개발자 도구에는 OP -가 원하는대로 할 수있는 것처럼 들리는 도구 -> 데이터베이스 내보내기 아래에 기능이 있습니다. –

관련 문제