728x90
-- full backup
#!/bin/sh
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
#RMAN_LOG_FILE=${0}.out
RMAN_LOG_FILE=/RMAN/log/fullbackup.`/bin/date +%Y%m%d_%H%M%S`.log
find /RMAN/log/* -mtime +40 -exec rm -f {} \;
if [ -f "$RMAN_LOG_FILE" ]
then
rm -f "$RMAN_LOG_FILE"
fi
echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
ORACLE_HOME=/oracle/base/product/19
export ORACLE_HOME
ORACLE_SID=orcl1
export ORACLE_SID
ORACLE_USER=oracle
TARGET_CONNECT_STR=sys/oracle
RMAN=$ORACLE_HOME/bin/rman
echo >> $RMAN_LOG_FILE
echo "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo "Full backup requested" >> $RMAN_LOG_FILE
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
SKIP INACCESSIBLE
TAG full_level0
FILESPERSET 5
FORMAT '/RMAN/backup/bk_%s_%p_%t'
INCREMENTAL LEVEL 0
DATABASE;
sql 'alter system archive log current';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
#CONFIGURE CHANNEL 1 DE
BACKUP
filesperset 20
FORMAT '/RMAN/backup/al_%s_%p_%t'
ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
FORMAT '/RMAN/backup/control_%s_%p_%t'
CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
exit
EOF
"
# Initiate the command string
if [ "$CUSER" = "root" ]
then
su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
else
/usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
fi
if [ "$RSTAT" = "0" ]
then
LOGMSG="ended successfully"
else
LOGMSG="ended in error"
fi
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT
|
-- cumulative backup
#!/bin/sh
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
#RMAN_LOG_FILE=${0}.out
RMAN_LOG_FILE=/RMAN/log/cumu_incre.`/bin/date +%Y%m%d_%H%M%S`.log
find /RMAN/log/* -mtime +40 -exec rm -f {} \;
if [ -f "$RMAN_LOG_FILE" ]
then
rm -f "$RMAN_LOG_FILE"
fi
echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
ORACLE_HOME=/oracle/base/product/19
export ORACLE_HOME
ORACLE_SID=orcl1
export ORACLE_SID
ORACLE_USER=oracle
TARGET_CONNECT_STR=sys/oracle
RMAN=$ORACLE_HOME/bin/rman
echo >> $RMAN_LOG_FILE
echo "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo "Full backup requested" >> $RMAN_LOG_FILE
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
SKIP INACCESSIBLE
TAG cumu_incre_1
FILESPERSET 5
FORMAT '/RMAN/backup/bk_%s_%p_%t'
INCREMENTAL LEVEL 1 CUMULATIVE
DATABASE;
sql 'alter system archive log current';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
filesperset 20
FORMAT '/RMAN/backup/al_%s_%p_%t'
ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
FORMAT '/RMAN/backup/ctl_%s_%p_%t'
CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
exit
EOF
"
# Initiate the command string
if [ "$CUSER" = "root" ]
then
su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
else
/usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
fi
if [ "$RSTAT" = "0" ]
then
LOGMSG="ended successfully"
else
LOGMSG="ended in error"
fi
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT
|
-- incremental backup
#!/bin/sh
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
#RMAN_LOG_FILE=${0}.out
RMAN_LOG_FILE=/RMAN/log/incre.`/bin/date +%Y%m%d_%H%M%S`.log
find /RMAN/log/* -mtime +40 -exec rm -f {} \;
if [ -f "$RMAN_LOG_FILE" ]
then
rm -f "$RMAN_LOG_FILE"
fi
echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
ORACLE_HOME=/oracle/base/product/19
export ORACLE_HOME
ORACLE_SID=orcl1
export ORACLE_SID
ORACLE_USER=oracle
TARGET_CONNECT_STR=sys/oracle
RMAN=$ORACLE_HOME/bin/rman
echo >> $RMAN_LOG_FILE
echo "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo "Full backup requested" >> $RMAN_LOG_FILE
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
SKIP INACCESSIBLE
TAG incre_2
FILESPERSET 5
FORMAT '/RMAN/backup/bk_%s_%p_%t'
INCREMENTAL LEVEL 2
DATABASE;
sql 'alter system archive log current';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
filesperset 20
FORMAT '/RMAN/backup/al_%s_%p_%t'
ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
FORMAT '/RMAN/backup/ctl_%s_%p_%t'
CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
exit
EOF
"
# Initiate the command string
if [ "$CUSER" = "root" ]
then
su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
else
/usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
fi
if [ "$RSTAT" = "0" ]
then
LOGMSG="ended successfully"
else
LOGMSG="ended in error"
fi
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT
|
728x90
'ORACLE' 카테고리의 다른 글
[ORACLE] DB_NAME 변경 (0) | 2022.05.11 |
---|---|
[ORACLE] RMAN-03009, ORA-00245 (0) | 2022.03.07 |
[ORACLE] RMAN FULLBACKUP (Crontab) (0) | 2022.03.07 |
[ORACLE] RAC interconnect MTU 값이 다를경우 log (0) | 2022.01.28 |
[ORACLE] solaris 11.4 - Oracle Database 12c RAC install (0) | 2022.01.17 |