본문 바로가기

Linux/Centos

[Oracle] 자동 백업(Dump) 설정 방법 (CentOS 환경)

CentOS 환경에서 Oracle DB 자동 백업 설정 방법 가이드 입니다.

 

개요

- 운영중인 Oracle DB에 주기적으로 Dump 백업 설정


환경

- OS : CentOS 6.10

- DB : Oracle 11g release2


설정 방법

1. Dump 파일 경로 확인

- system 계정 로그인 후 아래 쿼리 실행

SELECT * FROM DBA_DIRECTORIES;

2. Dump 경로 추가

- system 계정 로그인

- 백업 경로를 "/data/db-dmp" 경로로 지정

 
CREATE DIRECTORY DATADUMP AS '/data/db-dmp';

3. 백업 실행 용 shell 파일 생성

- DB 서버 접속

#) vi ORACLE_BACKUP_SHELL.sh

- 아래 내용 입력

 
#!/bin/bash
#
# 2021.04.27 : Oracle Dump Backup Setting
#
###
export ORACLE_SID=orcl
export ORACLE_BASE=/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin

###Dump File Name - Ex) 20190427_PMS_Backup.dmp
backup_file_name=$(date '+%Y%m%d%H%M')"_PMS_Backup.dmp"

expdp system/패스워드@orcl directory=datadump dumpfile=$backup_file_name full=y

###5일 이상 지난 파일은 삭제
find /data/db-dmp -mtime +5 -exec rm -f {} \;

###Backup Copy (Dump 파일 복사 기능 - 임시 주석)
#cp /data/db-dmp/$backup_file_name /home/oracledb/backup/DB-Backup
#find /home/oracledb/backup/DB-Backup -mtime +5 -exec rm -f {} \;

# END

4. shell 파일 권한 변경

#) chmod 775 ORACLE_BACKUP_SHELL.sh

 

5. Crontab에 shell 파일 등록

- oracle 계정으로 변경 후 crontab 등록

 
#) su - oracle
#)
#) crontab -e

- 아래 내용 추가 후 저장 (2:00, 12:00 Batch 기동)

0 2,12 * * * /data/db-dmp/ORACLE_BACKUP_SHELL.sh /data/db-dmp/ORACLE_BACKUP_LOG.log

6. shell 파일 테스트

- 정해진 경로에 dump 파일이 생성 되면 성공