본문 바로가기
IT/Oracle DB

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

by 직장인W군 2022. 1. 20.
728x90

Oracle DB에 DB Dump Backup 자동 설정 방법 가이드 정리하여 공유합니다.

 


 

■ 개요

 - 운영중인 Oracle DB에 주기적으로 Dump 백업 설정 
 - CentOS 내 Crontab을 이용하여 주기적으로 Dump Backup

 



■ 환경

 - OS : CentOS 6.10
 - DB : Oracle 11g release2 



■ 설정 방법

1. Dump 파일 경로 확인

SELECT * FROM DBA_DIRECTORIES;

 


 

2. Dump 경로 추가
 - system 계정 로그인

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

 


 

3. 백업 실행 용 shell 파일 생성
 - DB 서버 접속

#) vi ORACLE_BACKUP_SHELL.sh

 


 

4. shell 파일 내용 입력

#!/bin/bash
#
# 2021.04.27 : Oracle Dump Backup Setting
#
###
export ORACLE_SID=orcl
export ORACLE_BASE=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

 


 

반응형

 

5. shell 파일 권한 변경

#) chmod 775 ORACLE_BACKUP_SHELL.sh

 


 

6. 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

 


 

7. shell 파일 테스트
 - 정해진 경로에 dump 파일이 생성 되면 성공

#) ./data/db-dmp/ORACLE_BACKUP_SHELL.sh

 


 

8. Crontab 테스트
 - 다음날 Crontab 실행 및 Dump 파일 생성 확인

 


 

반응형

댓글