1. 程式人生 > >shell腳本之全庫冷備份

shell腳本之全庫冷備份

admin page feed 代碼 edi set 數據庫管理 數據庫 member

#!/bin/bash backup_dir=/oracle/backup log_file=$ORACLE_BASE/admin/$ORACLE_SID/cold_backup_$ORACLE_SID.log echo "Backuping cold backup..." >$log_file data>>$log_file sqlplus -s / as sysdba <<EOF >>$log_file set pagesize 0 linesize 1000 feedback off heading off spool file_copy_$ORACLE_SID.sh select 'cp '||name ||' $backup_dir/' from v\$controlfile; select 'cp '||file_name||' $backup_dir/' from dba_data_files; select 'cp '||member||' $backup_dir/' from v\$logfile; spool off shutdown immediate; !bash file_copy_$ORACLE_SID.sh startup exit; EOF rm -r file_copy_$ORACLE_SID.sh if [ -e $ORACLE_HOME/dbs/init$ORACLE_SID.ora ] then cp $ORACLE_HOME/dbs/init$ORACLE_SID.ora $backup_dir/ fi if [ -e $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora ] then #cp $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora $backup_dir/ fi if [ -e $ORACLE_HOME/dbs/orapw$ORACLE_SID ] then #cp $ORACLE_HOME/dbs/orapw$ORACLE_SID $backup_dir/ fi echo "Cold backup finished.">> $log_file data>>$log_file


PS:來源《基於Linux的Oracle數據庫管理》,代碼還可擴展,當前腳本較為單一

shell腳本之全庫冷備份