programing

Oracle의 데이터베이스 스키마를 덤프 파일로 내보내는 방법

easyjava 2023. 9. 6. 23:06
반응형

Oracle의 데이터베이스 스키마를 덤프 파일로 내보내는 방법

리눅스 시스템에 설치된 오라클 서버의 데이터베이스 스키마가 있습니다.스키마 관련 정보를 덤프 파일로 내보내야 합니다.

이거 어떻게 해요?

어떤 버전의 Oracle이냐에 따라 달라집니다.이전 버전은 exp(내보내기)가 필요하고, 새 버전은 expdp(데이터 펌프)를 사용합니다. exp는 더 이상 사용되지 않지만 대부분의 경우 여전히 작동합니다.

시작하기 전에 Data Pump가 데이터베이스에서 물리적 위치에 매핑된 Oracle 심볼릭 위치인 서버측 Oracle "directory"로 내보냅니다.기본 디렉토리(DATA_PUMP_DIRECTORIES)가 있을 수 있습니다. DBA_DIRECTORIES:

  SQL> select * from dba_directories;

... 그렇지 않으면 하나를 만듭니다.

  SQL> create directory DATA_PUMP_DIR as '/oracle/dumps';
  SQL> grant all on directory DATA_PUMP_DIR to myuser;    -- DBAs dont need this grant

SYSTEM 사용자 또는 다른 DBA로 연결할 수 있다고 가정하면 다음과 같은 스키마를 기본 디렉토리로 내보낼 수 있습니다.

 $ expdp system/manager schemas=user1 dumpfile=user1.dpdmp

또는 특정 디렉토리를 지정하거나, 추가directory=<directory name>:

 C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR

이전 내보내기 유틸리티를 사용하면 다음을 사용하여 작업 디렉토리로 내보낼 수 있으며 서버에서 원격으로 떨어져 있는 클라이언트 컴퓨터에서도 내보낼 수 있습니다.

 $ exp system/manager owner=user1 file=user1.dmp

내보내기가 올바른 문자 집합으로 이루어졌는지 확인합니다.환경을 설정하지 않은 경우 Oracle 클라이언트 문자 집합이 DB 문자 집합과 일치하지 않을 수 있으며 Oracle은 원하는 문자 집합 변환을 수행합니다.경고가 나타나면 클라이언트 문자 집합이 데이터베이스 문자 집합과 일치하도록 NLS_LANG 환경 변수를 설정한 후 내보내기를 반복합니다.이렇게 하면 Oracle이 문자 집합 변환을 건너뛸 수 있습니다.

미국 UTF8(UNIX)의 예:

 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

윈도우는 SET를 사용하며, 예를 들어 일본어 UTF8을 사용합니다.

 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8

Data Pump에 대한 자세한 정보는 여기: http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624

언급URL : https://stackoverflow.com/questions/23647408/how-to-export-database-schema-in-oracle-to-a-dump-file

반응형