Oracle_for_Windows_autobackup

chenoracle發表於2017-04-03

Oracle_for_Windows_autobackup

 

一: Logical_backup

(1) exp:exp_backup.bat

@echo off

rem set backupfile=chen_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp

set logfile=chen_%date:~0,4%-%date:~5,2%-%date:~8,2%.log

rem backup chen schemas

set backupfile=chen_exp_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%.dmp

set logfile=chen_exp_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%.log

exp chen/chen file=D:\chenjch_backup\%backupfile% log=D:\chenjch_backup\%logfile% owner=chen

REM

forfiles /p "D:\chenjch_backup" /s /m *.dmp /d -7 /c "cmd /c del @path"

forfiles /p "D:\chenjch_backup" /s /m *.log /d -7 /c "cmd /c del @path"

(2) expdp:expdp_backup.bat

@echo off

rem set backupfile=chen_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp

set logfile=chen_%date:~0,4%-%date:~5,2%-%date:~8,2%.log

rem backup chen schemas

set backupfile=chen_expdp_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%.dmp

set logfile=chen_expdp_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%.log

expdp chen/chen directory=chen_dump dumpfile=%backupfile% logfile=%logfile% schemas=chen

REM

forfiles /p "D:\chenjch_backup" /s /m *.dmp /d -7 /c "cmd /c del @path"

forfiles /p "D:\chenjch_backup" /s /m *.log /d -7 /c "cmd /c del @path"

一: rman_backup

(1) full

檔案一: rman_full.bat

rman target / cmdfile 'D:\chenjch_backup\rman_full_backup.bat' log 'D:\chenjch_backup\rman_full_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%".log'

檔案二: rman_full_backup.bat

RUN

{

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

allocate channel c1 type disk;

backup full database format 'D:\chenjch_backup\chenjch_full_%T_%u.bak' tag='full' include current controlfile;

sql 'alter system archive log current';

backup archivelog all format 'D:\chenjch_backup\arc_%T_%u.bak' delete all input;

release channel c1;

report obsolete;

crosscheck backup;

crosscheck copy;

delete noprompt expired backup;

delete noprompt expired copy;

delete noprompt obsolete;

}

exit;


(2) level 0

檔案一: rman_0.bat

rman target / cmdfile 'D:\chenjch_backup\rman_0_backup.bat' log 'D:\chenjch_backup\rman_0_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%".log'

檔案二: rman_0_backup.bat

RUN

{

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

allocate channel c1 type disk;

backup  incremental level 0 database format 'D:\chenjch_backup\chenjch_0_%T_%u.bak' tag='level_0' include current controlfile;

sql 'alter system archive log current';

backup archivelog all format 'D:\chenjch_backup\arc_%T_%u.bak' delete all input;

release channel c1;

report obsolete;

crosscheck backup;

crosscheck copy;

delete noprompt expired backup;

delete noprompt expired copy;

delete noprompt obsolete;

}

exit;


(3) level 1

檔案一: rman_1.bat

rman target / cmdfile 'D:\chenjch_backup\rman_1_backup.bat' log 'D:\chenjch_backup\rman_1_%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%".log'

檔案二: rman_1_bacukup.bat

RUN

{

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

allocate channel c1 type disk;

backup incremental level 1 database format 'D:\chenjch_backup\chenjch_1_%T_%u.bak' tag='level_1' include current controlfile;

sql 'alter system archive log current';

backup archivelog all format 'D:\chenjch_backup\arc_%T_%u.bak' delete all input;

release channel c1;

report obsolete;

crosscheck backup;

crosscheck copy;

delete noprompt expired backup;

delete noprompt expired copy;

delete noprompt obsolete;

}

exit;

其他:

檔名稱格式說明

%DATE:~0,4% --> yyyy

%DATE:~5,2% --> mm

%DATE:~8,2% --> dd

%TIME:~0,2% --> hh

%TIME:~3,2% --> mi

%TIME:~6,2% --> ss

 

啟用歸檔模式說明:

一:啟用歸檔模式,不顯性指定歸檔目錄,不顯性指定歸檔檔案格式;

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

--- 如果DBCA 建庫時啟動閃回區,預設歸檔目錄儲存在閃回區裡,

如果沒有啟用閃回區,歸檔路徑預設在$ORACLE_HOME\RDBMS 下;

例如:D:\app\Administrator\product\11.2.0\dbhome_1\RDBMS

SQL> alter database open;

 

二:啟用歸檔模式,顯性指定歸檔目錄,顯性指定歸檔檔案格式;

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter system set log_archive_dest_1='location=D:\app\Administrator\chenjch_arch';

SQL> alter system set log_archive_format='chenjch_%t_%s_%r.arc' scope=spfile;

SQL> alter database open;

 

log_archive_format:

%s log sequence number

%S log sequence number, zero filled()

%t thread number()

%T thread number, zero filled()

%a activation ID()

%d database ID()

%r resetlogs ID that ensures unique names are constructed for the archived log files across multiple incarnations of the database

 

三:啟用歸檔模式,指定閃回區

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

啟用閃回區

alter system set db_recovery_file_dest_size=3G;

alter system set db_recovery_file_dest='D:\app\Administrator\chenjch_fra';

alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST';

SQL> alter database open;


RMAN透過clear將引數改回預設值;
configure controlfile autobackup on;
configure controlfile autobackup clear;

歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!

Oracle_for_Windows_autobackup

Oracle_for_Windows_autobackup



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2136547/,如需轉載,請註明出處,否則將追究法律責任。