程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle備份恢復批量處理文件時的三個建議

Oracle備份恢復批量處理文件時的三個建議

編輯:Oracle數據庫基礎

針對簡單的Oracle備份恢復於批處理文件時,在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%函數,參數同上。

簡單的Oracle備份恢復批處理文件建議二:

  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備份恢復批處理文件建議三:

以下為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 FIVEIF EXIST
     %BACKPATH%\SIX GOTO SIX  
  6. IF EXIST %BACKPATH%\SEVEN GOTO SEVEN  
  7. ECHO E > %BACKPATH%\ONE  
  8. :ONE  
  9. SET BACKPATH_FULL=%BACKPATH%\ONE  
  10. REN %BACKPATH%\ONE TWO  
  11. GOTO BACK  
  12. :TWO  
  13. SET BACKPATH_FULL=%BACKPATH%\TWO  
  14. REN %BACKPATH%\TWO THREE  
  15. GOTO BACK  
  16. :THREE  
  17. SET BACKPATH_FULL=%BACKPATH%\THREE  
  18. REN %BACKPATH%\THREE FOUR  
  19. GOTO BACK  
  20. :FOUR  
  21. SET BACKPATH_FULL=%BACKPATH%\FOUR  
  22. REN %BACKPATH%\FOUR FIVE  
  23. GOTO BACK  
  24. :FIVE  
  25. SET BACKPATH_FULL=%BACKPATH%\FIVE  
  26. REN %BACKPATH%\FIVE SIX  
  27. GOTO BACK  
  28. :SIX  
  29. SET BACKPATH_FULL=%BACKPATH%\SIX  
  30. REN %BACKPATH%\SIX SEVEN  
  31. GOTO BACK  
  32. :SEVEN  
  33. SET BACKPATH_FULL=%BACKPATH%\SEVEN  
  34. REN %BACKPATH%\SEVEN ONE  
  35. GOTO BACK  
  36. :BACK  
  37. EXP TESTUSER/TEST FILE=%BACKPATH_FULL%.DMP  
  38. SET BACKPATH=  
  39. SET BACKPATH_FULL=  
  40. EXIT 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved