Oracle备份恢复批处理文件的3建议


  本文标签:Oracle备份恢复

  我们在处理简单的Oracle备份恢复批处理文件时  。是否遇到过一些令我们十分头疼的一些问题,以下的相关内容就是对处理简单的Oracle备份恢复批处理文件的过程中我们应注意的问题以及相关的建议  。

  建议一:

  利用任务计划、批处理文件和Oracle的EXP导出功能,可以根据日期自动生成Oracle备份文件,大大方便了Oracle数据备份  。:

  1、建立批处理文件backup.bat\.

  

  1. 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文件

  

  1. 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开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改  。

  2、如需要准确的时间做为文件名,请用%time%函数,参数同上  。

  建议二:

  

  1. @echo off  
  2. set filename=e:\data_bak\%date:'8,2%日  
  3. exp useruserid=user/pass@esdata file=%filename%.
    dmp 
    owner=user INDEXES=y grants=y constraints=y 
    compress=y log=%filename%.log  
  4. rar a %filename%.rar %filename%.*  
  5. del %filename%.dmp  
  6. del %filename%.log  

  

  放计划任务里面定时执行,

  文件名以日期的day部分来命名

  备份后调用rar进行压缩

  这样可以保存一个月的历史数据

  注意:需要把program files/winrar目录下的rar.exe拷贝到系统system32目录下

  如果是以星期命名,则需要将set filename=e:\data_bak\%date:'8,2%日修改为

  set filename=e:\data_bak\%date:'0,3%

  建议三:

  以下为Oracle 自动备份批处理文件内容,请配合任务计划实现

  @ECHO OFF

  SET BACKPATH=d:\

  ECHO 准备备份数据库

  REM 7天一个循环

  

  1. IF EXIST %BACKPATH%\ONE GOTO ONE  
  2. IF EXIST %BACKPATH%\TWO GOTO TWO  
  3. IF EXIST %BACKPATH%\THREE GOTO THREE  
  4. IF EXIST %BACKPATH%\FOUR GOTO FOUR  
  5. IF EXIST %BACKPATH%\FIVE GOTO FIVE  
  6. IF EXIST %BACKPATH%\SIX GOTO SIX  
  7. IF EXIST %BACKPATH%\SEVEN GOTO SEVEN  
  8. ECHO E > %BACKPATH%\ONE  
  9. :ONE  
  10. SET BACKPATH_FULL=%BACKPATH%\ONE  
  11. REN %BACKPATH%\ONE TWO  
  12. GOTO BACK  
  13. :TWO  
  14. SET BACKPATH_FULL=%BACKPATH%\TWO  
  15. REN %BACKPATH%\TWO THREE  
  16. GOTO BACK  
  17. :THREE  
  18. SET BACKPATH_FULL=%BACKPATH%\THREE  
  19. REN %BACKPATH%\THREE FOUR  
  20. GOTO BACK  
  21. :FOUR  
  22. SET BACKPATH_FULL=%BACKPATH%\FOUR  
  23. REN %BACKPATH%\FOUR FIVE  
  24. GOTO BACK  
  25. :FIVE  
  26. SET BACKPATH_FULL=%BACKPATH%\FIVE  
  27. REN %BACKPATH%\FIVE SIX  
  28. GOTO BACK  
  29. :SIX  
  30. SET BACKPATH_FULL=%BACKPATH%\SIX  
  31. REN %BACKPATH%\SIX SEVEN  
  32. GOTO BACK  
  33. :SEVEN  
  34. SET BACKPATH_FULL=%BACKPATH%\SEVEN  
  35. REN %BACKPATH%\SEVEN ONE  
  36. GOTO BACK  
  37. :BACK  
  38. EXP TESTUSER/TEST FILE=%BACKPATH_FULL%.DMP  
  39. SET BACKPATH=  
  40. SET BACKPATH_FULL=  
  41. EXIT 

  

  以上的相关内容就是对简单的Oracle备份恢复批处理文件的介绍,望你能有所收获  。