|
##===========================================================
# # Db_bak_rman.sh
# # Created by Robinson
# # 2011/11/07
# # Usage:db_bak_rman.sh < $ORACLE _sid> < $BACKUP _level>
# # Backup_level:
# # F:full Backup
# # 0:level 0
# # 1:level 1
##============================================================
#!/bin/bash
# User specific environment and startup programs
If [f ~/.bash_profile];
Then
. ~/.bash_profile
Fi
Oracle_sid=${1}; Export Oracle_sid
RMAN_LEVEL=${2}; Export Rman_level
timestamp= ' Date +%y%m%d%h%m '; Export TIMESTAMP
Date= ' Date +%y%m%d '; Export DATE
Rman_dir=/u02/database/${oracle_sid}/backup/rman; Export Rman_dir
Rman_data=${rman_dir}/${date}; Export Rman_data
#RMAN_LOG = $RMAN _data/log; Export Rman_log
Rman_log=/u02/database/${oracle_sid}/backup/rman/log Export Rman_log
# Check Rman Level
#======================================================================
If ["$RMAN _level" = = "F"];
Then unset INCR_LVL
Backup_type=full
Else
Incr_lvl= "incremental level ${rman_level}"
Backup_type=lev${rman_level}
Fi
Rman_file=${rman_data}/${oracle_sid}_${backup_type}_${timestamp}; Export Rman_file
Ssh_log=${rman_log}/${oracle_sid}_${backup_type}_${timestamp}.log; Export Ssh_log
maxpiecesize=4g; Export Maxpiecesize
#Check RMAN Backup Path
#=========================================================================
if! Test-d ${rman_data}
Then
Mkdir-p ${rman_data}
Fi
echo "---------------------------------" >>${ssh_log}
echo "" >>${ssh_log}
echo "Rman Begin to Working ..." >>${ssh_log}
echo "Begin at:" ' Date '--' date +%y%m%d%h%m ' >>${ssh_log}
#Startup Rman to Backup
#=============================================================================
$ORACLE _home/bin/rman Log=${rman_file}.log <<eof
Connect Target/
Run {
CONFIGURE RETENTION POLICY to RECOVERY windows of 3 days;
CONFIGURE BACKUP optimization on;
CONFIGURE Controlfile autobackup on;
CONFIGURE controlfile autobackup FORMAT for DEVICE TYPE DISK to ' ${rman_file}_%f ';
ALLOCATE CHANNEL ' ch1 ' TYPE DISK maxpiecesize=${maxpiecesize};
ALLOCATE CHANNEL ' CH2 ' TYPE DISK maxpiecesize=${maxpiecesize};
Set limit channel CH1 readrate=10240;
Set limit channel CH1 kbytes=4096000;
Set limit channel CH2 readrate=10240;
Set limit channel CH2 kbytes=4096000;
Crosscheck Archivelog All;
DELETE noprompt expired Archivelog all;
BACKUP
#AS Compressed Backupset
${INCR_LVL}
DATABASE FORMAT ' ${rman_file}_%u ' TAG ' ${oracle_sid}_${backup_type}_${timestamp} ';
SQL ' ALTER SYSTEM ARCHIVE LOG current ';
BACKUP archivelog all FORMAT ' ${rman_file}_arc_%u ' TAG ' ${oracle_sid}_arc_${timestamp} '
DELETE INPUT;
DELETE noprompt OBSOLETE;
Release CHANNEL Ch1;
Release CHANNEL CH2;
}
SQL "ALTER DATABASE backup Controlfile to ' ${rman_data}/cntl_${backup_type}.bak '";
Exit
Eof
Rc=$?
Cat ${rman_file}.log >>${ssh_log}
echo "Rman Stop working @ time:" ' Date ' date +%y%m%d%h%m ' >>${ssh_log}
Echo >>${ssh_log}
echo "------------------------" >>${ssh_log}
echo "------Disk space------" >>${ssh_log}
Df-h >>${ssh_log}
Echo >>${ssh_log}
If [$RC-ne "0"]; Then
echo "------error------" >>${ssh_log}
Else
echo "------No error found during RMAN backup peroid------" >>${ssh_log}
RM-RF ${rman_file}.log
Fi
#Remove old backup than 3 days
#============================================================================
rmdir=${rman_dir}/'/bin/date +%y%m%d-d ' 3 days ago '; Export RMDIR
Echo >>${ssh_log}
Echo-e "------Remove old backup than 3 days------n" >>${ssh_log}
If Test-d ${rmdir}
Then
RM-RF ${rmdir}
Rc=$?
Fi
Echo >>${ssh_log}
If [$RC-ne "0"]; Then
Echo-e "------Remove old Backup exception------n" >>${ssh_log}
Else
ECHO-E "------No error found during remove old backup set peroid------n" >>${ssh_log}
Fi
Exit
oracle@szdb:~/robinson/scripts/dba_scripts/custom/sql>./db_bak_rman.sh GOBO1 0
RMAN> RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15>
16> 17> 18> 19> 20> 21> 22> 23> 24> rman> rman>
Oracle@szdb:~/robinson/scripts/dba_scripts/custom/sql>
oracle@szdb:/u02/database/gobo1/backup/rman> ls
20120928 log
oracle@szdb:/u02/database/gobo1/ backup/rman/20120928> ls
cntl_lev0.bak gobo1_ Lev0_201209281421_arc_4onmb9ro_1_1
gobo1_lev0_201209281421_4knmb9jn_1_1 GOBO1_ lev0_201209281421_c-733951103-20120928-00
gobo1_lev0_201209281421_4lnmb9jn_1_1 GOBO1_LEV0_201209281421_C-733951103-20120928-01
Gobo1_lev0_201209281421_arc_4nnmb9rn_1_1
|