1.oracle_cool_backup.bat 内容如下:
Remark 定义时间日期变量
set date=%date:~0,10%
set h=%time:~0,2%
set m=%time:~3,2%
set s=%time:~6,2%
set tempvar=%date%-%h%-%m%-%s%
echo %tempvar%
sqlplus /nolog @e:/oracle_cool_backup.sql %tempvar%
2.oracle_cool_backup.sql内容如下:
Remark oracle_cool_backup.sql
Remark 冷备份脚本
Remark 设置SQL*Plus环境变量
conn sys/sunny as sysdba;
set feedback off heading off verify off trimspool off
set pagesize 0 linesize 200
Remark 设置用户变量
define spoolfile = 'e:/oracle_cool_backup_spool.sql'
prompt *** spooling to &spoolfile
Remark 创建包含备份命令的脚本文件
spool &spoolfile
Remark 下面的e:/temp/&1后必须加"/" 不然提示还是目录名(F = 文件,D = 目录)?
select 'host xcopy /e /i ' || name || ' e:/temp/&1/;' from v$datafile;
select 'host xcopy /e /i ' || name || ' e:/temp/&1/;' from v$controlfile;
select 'host xcopy /e /i ' || member || ' e:/temp/&1/;' from v$logfile;
select 'host xcopy /e /i ' || name || ' e:/temp/&1/;' from v$tempfile;
spool off;
Remark 关闭数据库
shutdown immediate;
Remark 运行上面生成的脚本文件
@&spoolfile
Remark 重新启动数据库
startup;
3.oracle_cool_backup_spool.sql 内容如下:
此文件为空白文件,它文件spool的内容到oracle_cool_backup.sql中