#!/bin/bashbackup_dir=/oracle/backuplog_file= $ORACLE _base/admin/$ORACLE _sid/hold_backup_$oracle_sid.logecho "Backuping cold backup" > $log _filedata>> $log _filesqlplus -s / As sysdba <<eof >> $log _filealter database backup controlfile to ' $backup _dir/backup_controlfile.ctl '; set pagesize 0 linesize 1000 feedback off heading offcolumn tablespace_name noprincolumn sortorder noprincolumn textout format a120spool hold_backup_$oracle_sid.sqlselect tablespace_name, ' 1 ' SortOrder, ' alter tablespace ' | | tablespace_name| | ' begin backup ; ' &NBSP;TEXTOUTFROM&NBSP;DBA_DATA_FILESUNIONSELECT&NBSP;TABLESPACE_NAME&NBSP, ' 2 ' sortorder, ' HOST&NBSP;CP ' | | file_name| | ' ' | | ' $backup _dir ' textoutfrom dba_data_filesunionselect tablespace_name, ' 3 ' sortorder, ' Alter tablespace ' | | tablespace_name | | ' end backup ; ' textoutfrom dba_data_filesorder by tablespace_name,sortorder,textout;select ' alter system archive log current; ' from dual;spool off; @hold_backup_ $ORACLE _sid.sqlexiteofrm -f hold_backup_$oracle_ sid.sqlecho "hot backup finished." >> $log _file
PS: Cold backup with all libraries
Full-Library hot backup of shell scripts