这是在Windows平台下,自动执行rman备份的一个批处理脚本,方便进行快速备份。
要求在数据库服务器上运行,并在数据库服务器上创建 D:\backup 目录 存放备份文件。
此脚本包含3个文件
--backupscript
--setupbackup.bat
--archivelog.sql
--backup.txt
--Setupbackup.bat批处理脚本
@echo 欢迎进入数据库备份!
@echo 特别说明,本脚本在客户端运行将出错,需要在数据库服务器端运行
@echo 请确认本脚本及所在文件夹已在数据库服务器端,按任意键确定
@echo off
pause>nul
@echo 请创建备份文件存放文件夹:D:\backup
@echo 确认创建完成后,按任意键继续
@echo off
pause>nul
set /p p=请输入 sys 用户的密码 :
@echo on
@echo 启动数据库归档模式.....
@echo off
@echo 启动数据库归档模式..... >> "Setup.log"
sqlplus sys/%p% as sysdba @archivelog.sql >> "Setup.log"
@echo on
@echo 数据库归档成功......
@echo
@echo off
@echo 数据库归档成功......>>"Setup.log"
@echo on
@echo 数据库开始备份,因数据库较大,备份可能需要 若干小时
@echo 请耐心等待,切勿关闭本界面...
@echo off
rman target sys/%p% cmdfile=backup.txt >>"Setup.log"
@echo on
@echo 数据库备份完成......
@echo off
@echo 数据库备份完成......>>"Setup.log"
@echo on
@echo 您可以查看本文件夹下的Setup.log日志文档,获取详细信息,请按任意键退出......
@echo off
pause>nul
--archivelog.sql文件
alter system set db_recovery_file_dest_size=107374182400;
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
exit
--backup.txt文件
configure controlfile autobackup on;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:\backup\%T_ctl_%F.bak';
run{
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
backup full database format 'D:\backup\%T_FULL_%s_%p.bak' plus archivelog format 'D:\backup\%T_FULL_archive_%s_%p.bak' delete all input;
release channel d3;
release channel d2;
release channel d1;
}
exit