- #!/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
来源: http://www.bubuko.com/infodetail-2503744.html