windows下expdp自動備份腳本


第一種方式:我本身用的腳本數據庫

set BACKUP_DIR=backupwindows

set ORACLE_USERNAME=masicong服務器

set ORACLE_PASSWORD=masicongdom

set ORACLE_DB=orclide

set BACK_OPTION=SCHEMAS=masicong工具

set RAR_CMD="C:\Program Files\WinRAR\Rar.exe"命令行

set DUMPDIR=DIRECTORY=dump_dir日誌

for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%atoken

set BACK_NAME=%ORACLE_DB%%TODAY%rem

set BACK_FULL_NAME=%BACK_NAME%

rem 開始備份

expdp %ORACLE_USERNAME%/%ORACLE_PASSWORD% %DUMPDIR%  %BACK_OPTION% dumpfile=%BACK_FULL_NAME%.dmp logfile=%BACK_FULL_NAME%exp.log

rem 壓縮並剔除原有資料

%RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log"

PAUSE

第二種方式:


@echo off

@echo =========================================================================
@echo Oracle 10g 數據庫的自動導出備份腳本(windows環境)。
@echo  說明:啓動備份時,須要配置如下變量
@echo    一、BACKUP_DIR           指定要備份到哪一個中間目錄,壓縮完成後將被移動到BACKUP_WAREHOUSE目錄下
@echo    二、BACKUP_WAREHOUSE     指定歷史備份數據(壓縮後的)及日誌的存放位置
@echo    三、ORACLE_USERNAME      指定備份所用的Oracle用戶名
@echo    四、ORACLE_PASSWORD      指定備份所用的Oracle密碼
@echo    五、ORACLE_DB            指定備份所用的Oracle服務名
@echo    六、BACK_OPTION          備份選項,能夠爲空,能夠爲full=y,能夠爲owner=a用戶,b用戶 或 TABLES=() 等等....
@echo    七、RAR_CMD              指定RAR命令行壓縮工具所在目錄
@echo =========================================================================
REM ======================================================
REM 備份103服務器 ITCQB 賬號下的數據
REM ======================================================
rem 如下變量須要根據實際狀況配置
set BACKUP_DIR=E:\11
set BACKUP_WAREHOUSE=e:\11\11
set ORACLE_USERNAME=manager
set ORACLE_PASSWORD=masicong
set ORACLE_DB=orcl
set BACK_OPTION="SCHEMAS=ekpuser"
set RAR_CMD="C:\Program Files\WinRAR\Rar.exe"
for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a
REM 若是文件名中須要小時及分鐘,用下面第一行語句
REM set BACK_NAME=%ORACLE_DB%_%TODAY%(%time:~0,2%時%time:~3,2%分)_
set BACK_NAME=%ORACLE_DB%_%ORACLE_USERNAME%_%TODAY%
set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%
REM 將操做記入批處理日誌 %BACK_FULL_NAME%_bat.log
echo ==================備份103服務器 ITCQB賬號下的數據================= >>%BACK_FULL_NAME%_bat.log
echo 備份開始...... >>%BACK_FULL_NAME%_bat.log
echo 當前的時間是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log
expdp%ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB%grants=Y %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%_exp.log"
if not exist %BACKUP_WAREHOUSE%\%BACK_NAME%_LOGIC (md %BACKUP_WAREHOUSE%\%BACK_NAME%_LOGIC)
echo 壓縮並刪除原有dmp文件...... >>%BACK_FULL_NAME%_bat.log
echo 當前的時間是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log
%RAR_CMD% a -df "%BACK_NAME%_logic.rar" "%BACK_FULL_NAME%.dmp"
REM "%BACK_FULL_NAME%exp.log"
echo 壓縮並刪除原有dmp文件結束! >>%BACK_FULL_NAME%_bat.log
echo 當前的時間是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log
echo 開始移動文件...... >>%BACK_FULL_NAME%_bat.log
echo 當前的時間是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log
move %BACKUP_DIR%\*.rar %BACKUP_WAREHOUSE%\%BACK_NAME%_LOGIC\
echo 移動文件完成! >>%BACK_FULL_NAME%_bat.log
echo 當前的時間是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log
REM net send %userdomain% "數據庫邏輯備份已於:%DATE% %time% 完成!"
echo .
echo 備份完成!!! >>%BACK_FULL_NAME%_bat.log
echo 當前的時間是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log
echo ===============備份103服務器 ITCQB賬號下的數據完成!!!============== >>%BACK_FULL_NAME%_bat.log
move %BACKUP_DIR%\*.log %BACKUP_WAREHOUSE%\%BACK_NAME%_CLOGIC\
echo .
相關文章
相關標籤/搜索