반응형
포스팅에 들어가며
백업은 늘 중요하다. 수백번 강조해도 지나치지 않다.
보통 오라클을 신규로 설치하게되면 export 백업과 hotbackup을 스케줄러를 통해 걸어주게된다. 보통의 경우에는 엔지니어의 롤이 아닐 수 있지만 부득이하게 요청을 할 때도 생기고 DBA로 있으면 자신이 관리하는 database에 backup 스케줄은 무조건적으로 걸것이다. 요즘 쉘스크립 짜는 법을 따로 배우는게 아니어서 아직 걸음마 단계이지만 혹시라도 급하게 hotbackup script가 필요하신 분들은 참고하여 사용하시면 될 것이다.
Step 1. script 설명
혹시라도 아예 알아볼 수 없는 분들이 있을 수 있어 각 단락마다 #(숫자)로 표기를 해 두었고 해당 단락마다 어떤 의미인지 어떤것을 변경하여 사용하는 것인지에 대해 설명한다.
#1. 백업일자로 디렉토리를 만들어 hotbackup 대상 파일들을 그 디렉토리에 넣기위해 날짜 변수와 디렉토리를 만든다. mkdir 뒤에는 hotbackup을 위한 경로를 적어주면 된다.
#2. tablespace 단위로 hotbackup을 수행할 것이기 때문에 temporary tablespace(이하 tbs)를 제외한 모든 tablespace를 리스트화 한다.
#3. #2에서 리스트화 한 tbs 목록을 변시로 받아 반복문으로 돌릴 것이다.
#4. 순차적으로 tbs의 begin backup을 진행한다.
#5. 해당 순서의 tbs의 대상 datafile들의 cp 구문을 만든다. 여기서 전자의 file_name은 현재 datafile들의 위치일 것이고 후자의 경로는 백업받을 경로가 된다.
#6. #5에서 생성된 cp 구문을 돌린다.
#7. 백업이 끝났으므로 end backup을 찍는다.
#1
BAKDATE=`date +%Y%m%d`
export BAKDATE
mkdir /u01/app/hotbackup/HOTBACKUP_${BAKDATE}
#2
sqlplus -s '/ as sysdba' <<EOF >TBS_LIST.out
set head off
set echo off
set feed off
set pages 500
select tablespace_name from dba_tablespaces where contents<>'TEMPORARY';
EOF
#3
VAR=`cat TBS_LIST.out`
for i in `echo $VAR`
do
echo $i
#4
sqlplus -s '/ as sysdba' <<EOF
set head off
set echo off
set feed off
set pages 500
alter tablespace ${i} begin backup;
EOF
#5
sqlplus -s '/ as sysdba' <<EOF > cp_dbf.sh
set head off
set echo off
set feed off
set pages 500
set lines 500
select 'cp '||file_name||' '||'/u01/app/hotbackup/HOTBACKUP_${BAKDATE}/'||substr(file_name, instr(file_name, '/', -1)+1)
from dba_data_files
where tablespace_name='${i}';
EOF
#6
sh cp_dbf.sh
#7
sqlplus -s '/ as sysdba' <<EOF
set head off
set echo off
set feed off
set pages 500
alter tablespace ${i} end backup;
EOF
done
포스팅을 마치며
해당 스크립트는 필자가 직접 만든 것이다. 굉장히 허접할 수 있지만 Linux에서는 모두 사용이 가능하니 참고하길 바라고 사용할 때에는 최소한 댓글 하나정돈 달아줬음 한다. 필자의 블로그는 마우스로 복사가 금지되어 있기 때문에 script 파일도 함께 공유한다.
해당 텍스트 파일을 Linux에서
$vi hotbackup.sh 로 파일을 만들어 해당 내용 복붙하여 사용하면된다. 끝.
제 블로그의 내용이 도움이 되셨나요?
▼▼▼▼▼▼▼▼▼▼▼
여러분의 공감과 댓글이 아잇티에게 큰 힘이됩니다 :)
반응형
'Run? Learn! > Oracle - Admin' 카테고리의 다른 글
Oracle 엔진 경로 변경 on Windows (0) | 2017.10.27 |
---|---|
Oracle 11g Engine install on Windows(NT) (0) | 2017.10.26 |
Oracle 11g deinstall on Windows (0) | 2017.10.24 |
11gR2 Installation On Linux(Requirements) (0) | 2017.10.18 |
Linux에서 ODBC를 통한 Connetion from Oracle to MSSQL 2부 (1) | 2017.10.12 |