rem ---------------------------------------------------------------------------------------------
rem Oracle数据库冷备份脚本文件coldbackup.cmd
rem tendyming
rem 2009-05-13
rem 用于Windows NT/2000/XP平台
rem 脚本执行后,在temp目录中产生以下文件:
rem listfiles.sql,shutdown.sql
rem startup.sql,cpfile.cmd,shutdown.cmd,startup.cmd
rem
rem 设置oracle_sid
set oracle_sid=orcltest
rem 设置sys密码
set password=admin
rem 建立临时文件目录
mkdir e:backuporcltesttemp
rem 设置临时文件目录
set my_temp=e:backuporcltesttemp
rem 建立备份文件目录
mkdir e:backuporcltestfiles
rem 设置备份目录
set my_bkpath=e:backuporcltestfiles
rem list需要备份的数据库文件,控制文件,日志文件
rem 产生listfiles.sql
echo set heading off ; >%my_temp%listfiles.sql
echo set feedback off ; >>%my_temp%listfiles.sql
echo set linesize 300 ; >>%my_temp%listfiles.sql
echo spool %my_temp%cpfiles.cmd >>%my_temp%listfiles.sql
echo select 'copy '^|^| file_name^|^|' %my_bkpath%' from dba_data_files; >>%my_temp%listfiles.sql
echo select 'copy '^|^|name^|^|' %my_bkpath%' from v$controlfile; >>%my_temp%listfiles.sql
echo select 'copy '^|^|member^|^|' %my_bkpath%' from v$logfile; >>%my_temp%listfiles.sql
echo spool off ; >>%my_temp%listfiles.sql
echo exit >>%my_temp%listfiles.sql
echo shutdown immediate >%my_temp%shutdown.sql
echo exit >>%my_temp%shutdown.sql
echo startup >%my_temp%startup.sql
echo exit >>%my_temp%startup.sql
rem 获得所有数据文件,日志文件,控制文件
sqlplus as sysdba @%my_temp%listfiles.sql
echo 关闭数据库shutdown.cmd
sqlplus as sysdba @%my_temp%shutdown.sql
rem 拷贝数据文件,日志文件,控制文件
call %my_temp%cpfiles.cmd
rem 重新启动数据库startup.cmd
sqlplus as sysdba @%my_temp%startup.sql
rem 数据库冷备份结束
rem ----------------------------------------------------------------------------------
[@more@]