Oracle_for_Windows_autobackup
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",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2136547/,如需轉載,請註明出處,否則將追究法律責任。