#/bin/bash
#script. desc full backup of online
#author marco.xi
#create date 2010-07-18
# User specific environment and startup programs for oracle
export ORACLE_BASE=/opt/oracle/
export ORACLE_HOME=/opt/oracle/product/10g
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
backuplog="/opt/oracle/backup/backuplog/backup.log"
if [! -f backuplog]; then
touch /opt/oracle/backup/backuplog/backup.log
fi
sqlplus -s / as sysdba <set feedback off;
set heading off;
set linesize 1000;
set pagesize 1000;
spool /opt/oracle/backup/scripts/backup1.sql
select 'host cp -v '||name||' /opt/oracle/backup/oradata/' from v$datafile
union all
select 'host cp -v '||name||' /opt/oracle/backup/oradata/' from v$controlfile
union all
select 'host cp -v '||member||' /opt/oracle/backup/oradata/' from v$logfile;
spool off
host sed -e '/^SQL/d' -e '/^[[:digit:]]/d' -e '/^select/d' -e '/^union/d' -e '/^[[:space:]]/d' /opt/oracle/backup/scripts/backup1.sql > /opt/oracle/backup/scripts/backup2.sql
host rm /opt/oracle/backup/scripts/backup1.sql
host mv /opt/oracle/backup/scripts/backup2.sql /opt/oracle/backup/scripts/backup1.sql
host echo "begin backup online at `date`" |tee -a /opt/oracle/backup/backuplog/backup.log
alter system archive log current;
alter database begin backup;
@/opt/oracle/backup/scripts/backup1.sql
alter database end backup;
alter system archive log current;
host echo "finsh backup online at `date`" |tee -a /opt/oracle/backup/backuplog/backup.log
exit
END
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21126685/viewspace-668324/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21126685/viewspace-668324/