日期:2014-05-16  浏览次数:20392 次

简单的oracle备份恢复批处理文件 -- 转

建议一:?

利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。:?
1、建立批处理文件backup.bat\.?
exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log?
将生成oracle2006-01-09.dmp文件?
exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log?
将生成oracle星期一.dmp文件,则每周循环保留一个备份文件,共7个备份文件循环?
2、添加一个任务计划?
利用任务计划向导,根据备份策略设置自动执行任务的时间频率(例如每天零时),执行d:\oracle\backup.bat?
3、以后每天将在目录中生成形如“oracle2005-08-31.dmp和oracle2005-08-31.log”的备份和日志文件。?
说明:?
1、%date%的值在不同的系统、语言版本下可能是不一样的,控制面板里面区域选项的设定也会改变%date%的值。请先在命令行中测试 echo %date% 的返回值。%date:~4,10% 是返回日期函数,~后的第一个参数是要截取的起始位置(从0开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。?

C:\>echo %date:~-3%?
星期三?
这里面的负数代表倒数,也就取最后3个字符?
C:\>echo %date:~-3,-1%?
星期?
这里的-1是不输出最后1个字符-2当然是2个类推
?
2、如需要准确的时间做为文件名,请用%time%函数,参数同上。?


rem CODE BY t0nsha?
rem 关于提取date,time输出结果的一个批处理?
rem “:”(冒号)和“~”波浪号必不可少!?
rem “~”后的数字:为正数表示舍弃输出结果的前几位;直接跟负数表示取到输出结果的后第几位。?
rem “,”后的数字:为正数表示取到输出结果的前第几位;为负数表示舍弃输出结果的后几位。?
rem %date:~begin,length%echo %date%?
echo %date:~4%?