2
Backup Script ابیس به صورت شبانه دیت برای#!/bin/sh export RMAN_DIR;RMAN_DIR=/home/oracle/.admin export BACKUP=/backup-path/%F export ORACLE_SID;ORACLE_SID=MCLSDB export ORACLE_HOME;ORACLE_HOME=/u01/oracle/product/11.2.0/db_1 export PATH;PATH=$PATH:$ORACLE_HOME/bin export NLS_LANG;NLS_LANG=american_america.ar8mswin1256 export dtfmt; dtfmt=`date +%Y%m%d` ######################################################################## rman target / CMDFILE $RMAN_DIR/full_rcv LOG $RMAN_DIR/full.txt ######################################################################## full_rcv: RUN { CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '${BACKUP}/${dtfmt} _%F'; #we can allocate of a sufficient number of channel based on our SAN capabilities ALLOCATE CHANNEL L0C1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt}_L0%u'; ALLOCATE CHANNEL L0C2 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID}_${dtfmt}_L0%u'; BACKUP INCREMENTAL LEVEL 0 DATABASE; ALLOCATE CHANNEL ARC1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt} _Arc%u'; BACKUP ARCHIVELOG ALL; SQL 'ALTER SYSTEM SWITCH LOGFILE’; SQL 'ALTER SYSTEM SWITCH LOGFILE’; SQL 'ALTER SYSTEM SWITCH LOGFILE’; ALLOCATE CHANNEL ARC1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt} _Arc%u'; BACKUP ARCHIVELOG ALL NOT BACKED UP; DELETE NOPROMPT OBSOLETE; } # Check if database can be restored RESTORE DATABASE VALIDATE; # Check if controlfile can be restored RESTORE CONTROLFILE VALIDATE; # Check if archive logs for the past time can be restored RESTORE ARCHIVELOG ALL VALIDATE;

Backup script

Embed Size (px)

DESCRIPTION

Oracle Backup script

Citation preview

Backup Script برای دیتابیس به صورت شبانه

#!/bin/sh export RMAN_DIR;RMAN_DIR=/home/oracle/.admin export BACKUP=/backup-path/%F export ORACLE_SID;ORACLE_SID=MCLSDB export ORACLE_HOME;ORACLE_HOME=/u01/oracle/product/11.2.0/db_1 export PATH;PATH=$PATH:$ORACLE_HOME/bin export NLS_LANG;NLS_LANG=american_america.ar8mswin1256 export dtfmt; dtfmt=`date +%Y%m%d` ######################################################################## rman target / CMDFILE $RMAN_DIR/full_rcv LOG $RMAN_DIR/full.txt ######################################################################## full_rcv: RUN { CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '${BACKUP}/${dtfmt} _%F'; #we can allocate of a sufficient number of channel based on our SAN capabilities

ALLOCATE CHANNEL L0C1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt}_L0%u'; ALLOCATE CHANNEL L0C2 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID}_${dtfmt}_L0%u'; BACKUP INCREMENTAL LEVEL 0 DATABASE; ALLOCATE CHANNEL ARC1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt} _Arc%u'; BACKUP ARCHIVELOG ALL; SQL 'ALTER SYSTEM SWITCH LOGFILE’; SQL 'ALTER SYSTEM SWITCH LOGFILE’; SQL 'ALTER SYSTEM SWITCH LOGFILE’; ALLOCATE CHANNEL ARC1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt} _Arc%u'; BACKUP ARCHIVELOG ALL NOT BACKED UP; DELETE NOPROMPT OBSOLETE; } # Check if database can be restored RESTORE DATABASE VALIDATE; # Check if controlfile can be restored RESTORE CONTROLFILE VALIDATE; # Check if archive logs for the past time can be restored RESTORE ARCHIVELOG ALL VALIDATE;

منتقل شوند بهتر است از فرمان زیر برای انجام پروسه Tapeها به صورت هفتگی و یا چند روز یکبار به Backupدر صورتی که

Backup .استفاده شود

#!/bin/sh export RMAN_DIR;RMAN_DIR=/home/oracle/.admin export BACKUP=/backup-path/%F export ORACLE_SID;ORACLE_SID=MCLSDB export ORACLE_HOME;ORACLE_HOME=/u01/oracle/product/11.2.0/db_1 export PATH;PATH=$PATH:$ORACLE_HOME/bin export NLS_LANG;NLS_LANG=american_america.ar8mswin1256 export dtfmt; dtfmt=`date +%Y%m%d` ######################################################################## rman target / CMDFILE $RMAN_DIR/full_rcv_new LOG $RMAN_DIR/full.txt ########################################################################

full_rcv: RUN { CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup-path/%F'; ALLOCATE CHANNEL L0C1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt}_L0%u'; ALLOCATE CHANNEL L0C2 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID}_${dtfmt}_L0%u'; RECOVER COPY OF DATABASE WITH TAG 'incr_update' UNTIL TIME 'SYSDATE - 7'; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update' DATABASE; ALLOCATE CHANNEL ARC1 DEVICE TYPE DISK FORMAT '${BACKUP}/${ORACLE_SID} _${dtfmt} _Arc%u'; BACKUP ARCHIVELOG ALL; DELETE NOPROMPT OBSOLETE; }