windows下oracle天天定時備份

最近一個同事修改 表結構的時候不當心刪了幾張表,雖然恢復部分數據,可是有個表的數據已經找不回了,數據庫

由於以前數據庫沒有作備份,因此今天花了半天時間作了個邏輯備份,總體的思路以下:首先寫好exp語句作成bat文件,而後用windows計劃任務去執行windows



第一步:創建備份腳本oraclebackup.batoracle

首先創建一個備份bat文件,在D盤下新建備份目錄oraclebackup,將oracle安裝目錄下的EXP.EXE複製到此目錄下,再新建一個文本文件oraclebackup.txt,內容以下:測試

@echo off 
echo 刪除10天前的備分文件和日誌
spa

forfiles /p "D:\oraclebackup" /m *.dmp /d -10 /c "cmd /c del @path" 
forfiles /p "D:\oraclebackup" /m *.log /d -10 /c "cmd /c del @path"
.net

echo 正在備份 Oracle 數據庫,請稍等…… 
expsystem/oracle@orclfile=D:/oraclebackup/mdb%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:/oraclebackup/mdb%date:~0,4%%date:~5,2%%date:~8,2%.log full=y buffer=65535 
echo 任務完成!
日誌

完成後,將該記事本的後綴txt改爲bat便可。orm

雙擊oraclebackup.bat能夠測試是否能夠正常備份。get

第二步:新建windows計劃任務cmd

進入windows的控制面板,打開計劃與任務,新建任務,點擊瀏覽,選擇剛纔新建的d盤oraclebackup目錄下的oraclebackup.bat文件。接着選擇天天晚上22:00點執行,再輸入本機的administrator密碼便可。

備註:這裏我記錄下,我遇到的問題,主要是由於我一個用戶裏面有不少表,可是如今我不須要所有備份,只須要備份XXX打頭的表,

OK,修改exp語句exp system/oracle@orcl tables=(system.XXX%%)file=D:/oraclebackup/mdb%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:/oraclebackup/mdb%date:~0,4%%date:~5,2%%date:~8,2%.log full=y buffer=65535 ,

注意,當時 我是這樣加的tables=(system.XXX%),結果bat文件不能執行,原來bat'文件裏面的%必需要是%%,這個問題我搞了好久才搞清楚~~~~~

相關文章
相關標籤/搜索