database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 38819 게시물 읽기
No. 38819
자동백업스크립트입니다.
작성자
오라클초보임(hanbangg)
작성일
2011-08-25 10:06ⓒ
2011-08-25 15:44ⓜ
조회수
5,026

##5개의 스크립트는 리눅스 버전입니다. 솔직히 잘모르겠습니다 뭐가 어떻게 작동되는지...옆에 약간의 주석으로 설명좀 부탁드립니다.

그리고 윈도우버전으로도 만들어주시면 감사하겠습니다. 도움요청합니다.꾸벅.

 

1.main_backup.sh
export LANG=C
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=testdb

touch /home/oracle/total.log
echo ""
echo "set begin backup mode~~"
time sh /home/oracle/begin_backup.sh >> /home/oracle/total.log
echo ""
echo "end begin backup mode~~"
echo ""
echo"start file copy....................."
time sh /home/oracle/copy_backup.sh >> /home/oracle/total.log
echo "end file copy~"
echo ""
echo "set end backup mode~~"
time sh /home/oracle/end_backup.sh >> /home/oracle/total.log
echo "complete hot backup~!"


2.begin_backup.sh
export LANG=C
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=testdb
sqlplus /nolog < conn / as sysdba


set head off
set feedback off
set time off
set timing off
set echo off
spool /tmp/online.tmp
select 'alter tablespace '|| tablespace_name ||' begin backup;' \
from dba_tablespaces \
where status='ONLINE' \
and contents != 'TEMPORARY';
spool off
!cat /tmp/online.tmp | egrep -v spool | egrep -v SQL | egrep -v [2-4] >
/home/oracle/begin.sh
@/home/oracle/begin.sh
!sh /home/oracle/status.sh
exit
EOF1

3.copy_backup.sh
export LANG=C
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=testdb

sqlplus /nolog < conn / as sysdba
set head off
set time off
set timing off
set feedback off
set echo off
set line 200
col name for a100
spool /home/oracle/cp.tmp
select 'mkdir /data/backup/open/'||to_char(sysdate,'YYYY-MM-DD-HH24-MI-SS') from dual;
select 'cp -av '||name||' /data/backup/open/'||to_char(sysdate,'YYYY-MM-DD-HH24-MI-SS') "name" from v\$datafile;
spool off

spool /home/oracle/control.tmp
alter session set nls_date_format='YYYY-MM-DD-HH24-MI-SS';
select 'alter database backup controlfile to ' '/data/backup/open/'||sysdate||\'\'||sysdate||'.ctl' ' ; ' from dual;
spool off
!cat /home/oracle/cp.tmp | egrep -v SQL > /home/oracle/cp.sh
!cat /home/oracle/control.tmp | egrep -v SQL > /home/oracle/control.sql

!sh /home/oracle/cp.sh
@/home/oracle/control.sql
EOF3

4.end_backup.sql
export LANG=C
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=testdb

sqlplus /nolog << EOF4
conn / as sysdba

set head off
set feedback off
set time off
set timing off
set echo off
spool /tmp/online.tmp
select 'alter tablespace '|| tablespace_name ||' end backup;' \
from dba_tablespaces \
where status='ONLINE' \
and contents != 'TEMPORARY';
spool off
!cat /tmp/online.tmp | egrep -v spool | egrep -v SQL | egrep -v [2-4] >
/home/oracle/end.sh
@/home/oracle/end.sh
!sh /home/oracle/status.sh
exit
EOF4

5.status.sh   <---begin backup 모드 상태를 보는
export LANG=C
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10g
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=testdb

sqlplus /nolog < conn / as sysdba

set head on
set echo off
set feedback off
spool /tmp/status.tmp
set line 200
col name for a50
col status for a15
select a.file#,a.name,b.status,to_char(b.time,'YYYY-MM-DD:HH24:Mi,SS')
"Time" \
from v\$datafile a,v\$backup b \
where a.file#=b.file#;
spool off
exit
EOF2

[Top]
No.
제목
작성자
작성일
조회
38823비어있는 시간구하는 방법 sql 좀 알려주세요... [3]
김영민
2011-08-25
4747
38822쿼리 좀 부탁 드립니다. [2]
초보
2011-08-25
3834
38820안뇽하세요 질문이 있습니다. (재귀 프로시져) [2]
윤명철
2011-08-25
5287
38819자동백업스크립트입니다.
오라클초보임
2011-08-25
5026
38816검색 속도 문제 입니다. [7]
최진규
2011-08-24
9458
38815Script 관련 질문입니다. [3]
나그네
2011-08-24
5566
38814MERGE INTO DBLINK 사용~ [2]
주하파파
2011-08-23
7149
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다