windows系統下oracle資料庫定時自動備份

來源:互聯網
上載者:User

實現目的:為避免資料丟失或錯誤,對資料庫資料的定時備份

實現方式:oracle匯出+windows 任務 完成

學習方法:Crowdsourced Security Testing其然,後知其所以然

實現過程:

1. 建立檔案 backup.bat  (自訂檔案名稱.bat)

@echo off  REM ###########################################################  REM # Windows Server 2003下Oracle資料庫自動備份批處理指令碼  REM ###########################################################  REM 取當前系統時間,可能因作業系統不同而取值不一樣  set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%set CURMON=%date:~0,4%%date:~5,2%set CURTIME=%time:~0,2%REM 小時數如果小於10,則在前面補0  if "%CURTIME%"==" 0" set CURTIME=00if "%CURTIME%"==" 1" set CURTIME=01if "%CURTIME%"==" 2" set CURTIME=02if "%CURTIME%"==" 3" set CURTIME=03if "%CURTIME%"==" 4" set CURTIME=04if "%CURTIME%"==" 5" set CURTIME=05if "%CURTIME%"==" 6" set CURTIME=06if "%CURTIME%"==" 7" set CURTIME=07if "%CURTIME%"==" 8" set CURTIME=08if "%CURTIME%"==" 9" set CURTIME=09set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%REM 設定所有者、使用者名稱和密碼  set OWNER=orclset USER=bktcglset PASSWORD=bktcglREM 建立備份用目錄,目錄結構為oraclebak/YYYYMMDD/  if not exist "oraclebak"                     mkdir oraclebakcd oraclebakif not exist "%CURMON%"          mkdir %CURMON%set FILENAME=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%.DMP  set EXPLOG=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%_log.log  REM 調用ORACLE的exp命令匯出使用者資料exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% log=%EXPLOG% owner=%USER% grants=n  exit   

註:

    1.bat檔案可雙擊或直接在命令列執行,檢查正確與否

    2.檢查時可注釋掉exit

    3.以上檔案實現按月份建立檔案夾,按時間產生備份檔案

2.建立windows任務

 步驟:

開始 -> 所有程式 -> 附件 -> 系統工具 -> 工作排程器 -> 操作 -> 建立基本任務  -> 任務名輸入"oracle_backup"(自訂任務名),執行這個任務選擇每天,下一步 -> 起始時間下午12:00,起始日期2012-7-11,下一步 ->(啟動程式)下一步 ->在 瀏覽 中尋找剛剛寫好的 backup.bat 檔案 >下一步 > 完成

註:

    1.在任務計劃欄目下新增一個名為"oracle_backup"的任務計劃,表明已經配置完畢。

    2.不同系統的任務計劃略有不同,但基本換湯不換藥,不做一一例舉

問題:系統警告"已建立新任務,但可能不能運行,因為無法設定賬戶資訊。指定的錯誤是:Ox80041315:工作排程器服務沒有運行"
原因:電腦的工作排程器服務沒有啟動起來。
解決:開始 > 所有程式 > 管理工具 > 服務,找到"Task Scheduler"服務,發現啟動類型為"已禁用",
             按右鍵更改為"自動",並把它啟動起來,然後重新添加一次任務計劃就可以了。

3.簡單解釋

1. bat:是dos下的批次檔。批次檔是無格式的文字檔,它包含一條或多條命令。在命令提示下鍵入批次檔的名稱,或者雙擊該批次檔,系統就會調用       Cmd.exe按照該檔案中各個命令出現的順序來逐個運行它們。

2. Echo 命令:開啟回顯或關閉請求回顯功能,或顯示訊息。

3. @ 命令:表示不顯示@後面的命令

4. Rem 命令:注釋命令

5. If命令:if表示將判斷是否符合規定的條件,從而決定執行不同的命令。

6. exit :退出命令列

7. GRANTS: 是許可權的意思,在你匯出的目標資料庫中可能會有一些表的如select 許可權等賦給了別的使用者。

                         【GRANTS=Y】匯出的時候將這些許可權匯出,匯入的時候將這些許可權匯入。

                         【GRANTS=N】許可權不被匯入。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.