shell腳本之全庫熱備份
阿新 • • 發佈:2018-02-23
con acl ble nop log_file sel -s ech dual #!/bin/bash
backup_dir=/oracle/backup
log_file=$ORACLE_BASE/admin/$ORACLE_SID/hold_backup_$ORACLE_SID.log
echo "Backuping cold backup..." >$log_file
data>>$log_file
sqlplus -s / as sysdba <<EOF >>$log_file
alter database backup controlfile to '$backup_dir/backup_controlfile.ctl';
set pagesize 0 linesize 1000 feedback off heading off
column tablespace_name noprin
column sortorder noprin
column textout format a120
spool hold_backup_$ORACLE_SID.sql
select tablespace_name,'1' sortorder,'alter tablespace '||tablespace_name||' begin backup ;' textout
from dba_data_files
union
select tablespace_name ,'2' sortorder,'host cp'||file_name||' '||' $backup_dir' textout
from dba_data_files
union
select tablespace_name,'3' sortorder,'alter tablespace '|| tablespace_name ||' end backup ;' textout
from dba_data_files
order by tablespace_name,sortorder,textout;
select 'alter system archive log current;' from dual;
spool off;
@hold_backup_$ORACLE_SID.sql
exit
EOF
rm -f hold_backup_$ORACLE_SID.sql
echo "Hot backup finished.">>$log_file
PS:同全庫冷備份
shell腳本之全庫熱備份