exp方式導出:1、根據日期自動生成 Oracle 備份文件@echo off echo 正在備份Oracle數據庫,請稍等...... exp userid='用戶名/密碼@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%da...
exp方式導出:
1、根據日期自動生成 Oracle 備份文件
@echo off
echo 正在備份Oracle數據庫,請稍等......
exp userid='用戶名/密碼@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res
echo 任務完成!
2、根據日期時間分秒自動生成 Oracle 備份文件
@echo off
echo 正在備份Oracle數據庫,請稍等......
exp userid='用戶名/密碼@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%.log
echo 任務完成!
3、用exit結尾備份完后自動退出:
@echo off
echo ================================================
echo Windows環境下Oracle數據庫的自動備份腳本
echo 1. 使用當前日期命名備份文件。
echo 2. 自動刪除7天前的備份。
echo ================================================
::以“YYYYMMDD”格式取出當前時間。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%
::創建備份目錄。
if not exist "D:\backup\data" mkdir D:\backup\data
if not exist "D:\backup\log" mkdir D:\backup\log
set DATADIR=D:\backup\data
set LOGDIR=D:\backup\log
exp userid='用戶名/密碼@SID' file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
::刪除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
注:如果有時我們寫bat腳本執行時一閃而過,無法排錯;那么我可以在腳本的最后加個pause(如上面的腳本可以把exit換成pause),用pause結尾執行完后,會提示按任意鍵來繼續或退出,這樣我就能知道是什么報錯。
expdp方法導出:
用exit結尾備份完后自動退出:
@echo off
echo ================================================
echo Windows環境下Oracle數據庫的自動備份腳本
echo 1. 使用當前日期命名備份文件。
echo 2. 自動刪除10天前的備份。
echo 3.使用expdb命令導出需要先在數據庫中創建備份文件存貯目錄,sql如下:
echo create directory backdir as 'D:\backup\data';
echo ================================================
::以“YYYYMMDD”格式取出當前時間。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%
::設置用戶名、密碼和sid。
set bakdbname=app
set bakdbpasswd=123
set sid=orcl
set dumpbame=appbak
set bakdbhome=D:\backup\data
::創建備份目錄。
if not exist "D:\backup\data" mkdir D:\backup\data
::expdp備份
expdp %bakdbname%/%bakdbpasswd%@%sid% directory=backdir dumpfile=%dumpbame%_%BACKUPDATE%.dmp logfile=%dumpbame%_%BACKUPDATE%.log
::切換目錄
d:
cd %bakdbhome%
::調用rar進行壓縮
::方法一winrar把log、dmp文件壓縮成zip,不保留原始文件log,dmp文件(任選一種)
"C:\Program Files\WinRAR\Rar" a -m5 -dw %dumpbame%_%BACKUPDATE%".zip" %dumpbame%_%BACKUPDATE%.DMP
::方法二用winrar把log、dmp文件壓縮成zip并保留原始文件log,dmp文件(任選一種),去掉dw這個參數
"C:\Program Files\WinRAR\WinRAR.exe" a -m5 %dumpbame%_%BACKUPDATE%".zip" %dumpbame%_%BACKUPDATE%.log %dumpbame%_%BACKUPDATE%.DMP
::刪除10天前的備份。
forfiles /p "%bakdbhome%" /s /m *.zip /d -10 /c "cmd /c del @path"
forfiles /p "%bakdbhome%" /s /m *.log /d -10 /c "cmd /c del @path"
forfiles /p "%bakdbhome%" /s /m *.dmp /d -10 /c "cmd /c del @path"
exit
-----------------------------------
?著作權歸作者所有:來自51CTO博客作者M_ling的原創作品,請聯系作者獲取轉載授權,否則將追究法律責任
windows下oracle數據庫自動備份bat腳本
https://blog.51cto.com/meiling/1573848
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計