DEV&OPS/Database

오라클 데이터베이스 19c 리눅스 백업 dump 및 복원

ALEPH.GEM 2024. 1. 12. 23:02

 

사전 준비

여기서는 리눅스(CentOS)에서 설치시 사용했던 oracle 계정으로 작업합니다.

https://blog.aacii.net/277

 

CentOS 7 oracle 19c 설치

오라클 데이터베이스 19c 다운로드 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 파일: Linux x86-64 종류: zip 자신의 운영체제에 맞는 zip 파일을 다운로드합니다. 호스트 네임 등

blog.aacii.net

 

 

먼저 백업 덤프 파일이 저장될 디렉토리와 그 별칭을 생성해야 합니다.

안그러면 ORA-39002, ORA-39070, ORA-39087  에러 삼종 세트를 보게되실 겁니다. 

여기서 dump 및 복원 시 디렉토리 절대 경로는 /home/oracle/dump 라고 가정하겠습니다.

  • dump 용 디렉토리 생성: 리눅스에서 실행합니다.
cd /home/oracle
mkdir dump

 

  • sqlplus 혹은 DBtool에서 오라클에 접속 후 SQL 실행 모드에서 dump 용 디렉토리와 별칭 생성
create directory dump as '/home/oracle/dump';

혹은

create or replace directory dump as '/home/oracle/dump';

를 실행합니다.

여기서 directory 다음에 입력하는 dump는 리눅스의 /home/oracle/dump라는 절대 경로를 가리키는 별칭입니다.

 

  • 위에서 생성한 디렉토리에 읽기 쓰기 권한부여 
grant read, write on directory dump to 백업할오라클사용자이름;


다른 계정에서 사용하려면 권한을 부여해야 사용 가능합니다.

 

 

오라클 19c 백업 덤프 

자 드디어 백업입니다.

백업 덤프 시 여러가지 다양한 옵션들이 있지만 여기서 다 소개하지는 않겠습니다.

DBtool이 아닌 리눅스 bash로 다시 돌아와서 작업합니다.

expdp 사용자이름/비밀번호@데이터베이스인스턴스 DIRECTORY=디렉토리별칭 DUMPFILE=덤프파일이름.dmp SCHEMAS=백업할스키마

 

예를 들어

expdp scott/tiger@orcl DIRECTORY=dump DUMPFILE=backup.dmp SCHEMAS=scott

요렇게 하시면 되겠습니다.

여기서 directory 다음에 입력하는 dump는 리눅스의 /home/oracle/dump라는 절대 경로를 가리키는 별칭입니다.

위의 사전 준비 작업 때 별칭을 DB tool에서 부여했었죠.

 

 

오라클 19c 백업 덤프 파일로부터 복원 

위에서 백업한 backup.dmp 파일을 이용해서 복원 작업을 해보겠습니다.

dump 복원 작업은 데이터, 인덱스, 프로시저 등도 삭제 후 재 생성 복원되어 충돌을 방지합니다. 

impdp 사용자이름/패스워드@데이터베이스인스턴스 directory=디렉토리별칭 dumpfile=덤프파일이름.dmp

 

예를 들어

impdp scott/tiger@orcl directory=dump dumpfile=backup.dmp

이렇게 하시면 됩니다.

 

 

 

 

 

 

 

728x90