Windows下Oracle定時備份(全量備份)


關於Windows下oracle全量備份的文章,很多網站都有,寫下本文不過是為了以后方便查找,不用再到處找。

以下些許內容有所參考到其他人所寫內容,這里無意冒犯,本文引用內容部分會附上參考地址,還望原作者見諒。

備份腳本

新建txt文檔,把腳本復制進去后改文件格式為bat文件,雙擊運行即可測試該腳本是否有誤。

這里要說明一下,開始把腳本拿過來執行時,一直未能成功備份數據庫

用bat的pause暫停調試發現了一些問題,有時不注意可能會在定義的變量如BACKUPDATE、USER等后面帶了空格

這個時候問題就來了,導致參數的不正確,所以這里需注意!

@echo off   
echo ================================================   
echo  Windows環境下Oracle數據庫的自動備份腳本  
echo  1. 使用當前日期命名備份文件。  
echo  2. 自動刪除7天前的備份。  
echo ================================================  
echo  以“YYYYMMDD”格式取出當前時間。  
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo  設置用戶名、密碼和要備份的數據庫
set USER=ora_user
set PASSWORD=ora_name
set DATABASE=conn_db
echo  創建備份目錄
if not exist "E:\backup\data"       mkdir E:\backup\data  
if not exist "E:\backup\log"        mkdir E:\backup\log  
set DATADIR=E:\backup\data
set LOGDIR=E:\backup\log
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
echo  刪除7天前的備份。
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit

注:該腳本參考Windows環境下Oracle數據庫的自動備份腳本

定時任務

這里需要用到Windows的【任務計划程序】,操作按照下列截圖一一操作。

一、快捷查詢:

 

二、選擇任務計划程序:

 

三、創建基本任務:

 

四、填寫任務相關信息:
1)定時任務描述

 

2)任務執行時間

 

選擇剛剛寫的數據庫備份腳本

 

最后在任務列表里可以看到剛剛創建的定時任務,那么這個任務從設定的時間開始則會每天執行一次,即達到定時備份任務了

 

注:以上內容參考 定時備份ORACLE數據庫:[1]windows環境下

以上便是Windows下定時全量備份Oracle數據庫了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM