Windows Server系統定時任務備份ORACLE數據庫


Windows Server系統定時任務備份ORACLE數據庫

一、編輯備份腳本

RMAN備份數據庫

1、在備份腳本目錄下,創建bat文件db_rman.bat

 set ORACLE_SID=orcl1

D:\app\admin\product\11.2.0\dbhome_1\bin

rman target /  cmdfile=D:/dbback/db_scripts/db_rman.txt log=D:/dbback/db_scripts/db_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%.log 

 FORFILES /P D:/dbback/db_scripts /M *.log /D -30 /C "cmd /c del @path"

exit

 2、創建rman備份腳本db_rman.txt文件

sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';

run { 

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

CONFIGURE BACKUP OPTIMIZATION ON;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:/dbback/db_rman/%F.ctl';

backup tag 'dbfull' format 'D:/dbback/db_rman/full%u_%s_%p' database;

sql 'alter system archive log current';

backup archivelog all format 'D:/dbback/db_rman/arc_%T_%U.arg';

 

delete noprompt expired archivelog all;

delete noprompt archivelog all completed before 'sysdate-14';

delete noprompt obsolete;

delete noprompt expired backup;

 

list backup summary;

exit; 

EXPDP備份數據庫

在備份腳本目錄下編輯定時任務db_expdp.bat

@echo off 

REM ########################################################### 

REM # Windows Server下Oracle數據庫自動備份批處理腳本

REM # 使用expdb命令導出需要先在數據庫中創建備份文件存貯目錄

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=00

if "%CURTIME%"==" 1" set CURTIME=01

if "%CURTIME%"==" 2" set CURTIME=02

if "%CURTIME%"==" 3" set CURTIME=03

if "%CURTIME%"==" 4" set CURTIME=04

if "%CURTIME%"==" 5" set CURTIME=05

if "%CURTIME%"==" 6" set CURTIME=06

if "%CURTIME%"==" 7" set CURTIME=07

if "%CURTIME%"==" 8" set CURTIME=08

if "%CURTIME%"==" 9" set CURTIME=09

set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

REM 設置所有者、用戶名和密碼 

set OWNER=orcl

set USER=dba

set PASSWORD=manager

REM 創建備份用目錄,目錄結構為F:\expdpbak

 

set FILENAME=%OWNER%_%CURDATE%_%CURTIME%.dmp

set EXPLOG=%OWNER%_%CURDATE%_%CURTIME%.log 

expdp %USER%/%PASSWORD%@%OWNER% DIRECTORY=DUMP_DIR DUMPFILE=%FILENAME% LOGFILE=%EXPLOG%

FORFILES /P F:\expdpbak /M *.dmp /D -30 /C "cmd /c del @path"

FORFILES /P F:\expdpbak /M *.log /D -30 /C "cmd /c del @path"

exit

 EXP/IMP備份數據庫

set filename=d:/db_backup/db_expdp/scott_%date:~0,4%%date:~5,2%%date:~8,2%
exp scott/tiger file=%filename%.dmp log=%filename%.log

FORFILES /P D:\db_backup\db_expdp /M *.dmp /D -15 /C "cmd /c del @path"
FORFILES /P D:\db_backup\db_expdp /M *.log /D -15 /C "cmd /c del @path"
exit

二、編輯定時任務(RMAN備份數據庫)

 

創建任務,輸入定時任務名稱

 

 

新建觸發器,設置每天23:30:00開始任務

 

 

新建操作,選定備份定時任務腳本.bat

 

 

條件選項,默認

 

 

設置選項,設定任務運行時間超過以下時間,即12小時,停止任務

 

 

 

 windows下expdp腳本

#FORFILES /P E:\bak /M *.dmp /D -2 /C "cmd /c del @path"
#刪除E:\bak目錄下.dmp結尾的3天前的文件


set ORACLE_SID=orcl
set dumpfile=dmp%date:~0,4%%date:~5,2%%date:~8,2%%%U.dmp
set logfile=dmp%date:~0,4%%date:~5,2%%date:~8,2%.log
set syncfile=dmp%date:~0,4%%date:~5,2%%date:~8,2%
set insert_head=insert into BACK_USER.sync_file_list (db_ip,INCREMENTAL_LEVEL,file_name,pwd_name,handle,back_completion_time,sync_status) values('10.86.240.10','0',
e:
cd E:\Oracle\app\Administrator\product\11.2.0\dbhome_1\BIN
expdp \"/ as sysdba\" directory=DIRECTORY_NAME dumpfile=%dumpfile% logfile=%logfile% EXCLUDE=STATISTICS parallel=8 compression=all schemas=HIS,CIS filesize=2G
FORFILES /P F:\expdpbak /M *.dmp /D -6 /C "cmd /c del @path"
FORFILES /P F:\expdpbak /M *.log /D -6 /C "cmd /c del @path"
exit

 


免責聲明!

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



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