rman使用catalog 啟用計劃任務並自動備份

wengtf發表於2011-08-04
1.在目錄資料庫中建立恢復目錄所需的表空間
  CREATE TABLESPACE rman_ts DATAFILE '/oradata/RCAT/data/rman.dbf' SIZE 200m;
  PS:刪除掉該表空間 DROP TABLESPACE rman_ts INCLUDING CONTENTS;
2.在目錄資料庫中建立RMAN使用者
  CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rman_ts TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON rman_ts;
  PS:刪除使用者  DROP USER rman CASCADE;
3.給rman使用者授權
  GRANT recovery_catalog_owner,connect,resource TO rman;
4.新開啟一個CMD
  rman catalog rman/rman
  或者: -C:\>rman
        -RMAN>connect catalog rman/rman@idba;
        -RMAN>create catalog tablespace rman_ts //建立catalog於rman_ts表空間
5.在D:\oracle\ora92\network\admin\tnsnames.ora建立
  PROD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.123.127)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = IDBA)
    )
  )
6.以sys使用者登陸上生產資料庫上建立備份使用者
  -SQL>CREATE USER rman IDENTIFIED BY rman
  -SQL>GRANT sysdba TO rman;
7.連線上生產資料庫註冊
  -RMAN>CONNECT TARGET rman/rman@prod
  -RMAN>REGISTER DATABASE

##################################################
####################crontab -e####################
##################################################
0 2 28 1 *    /oraapp/oracle/dba/full_bkup.sh
10 0 * * 0    /oraapp/oracle/dba/lev0_bkup.sh
10 0 * * 1-2  /oraapp/oracle/dba/lev2_bkup.sh
10 0 * * 3    /oraapp/oracle/dba/lev1_bkup.sh
10 0 * * 4-6  /oraapp/oracle/dba/lev2_bkup.sh
10 3 * * 0    /oraapp/oracle/dba/ora_wk.sh

##################################################
########/oraapp/oracle/dba/DBA_rename.sql#########
##################################################
        connect RMAN/RMAN@RCAT;
        set echo off
        set feedback off
        set linesize 1000
        set pagesize 0
        set verify off
        spool /oraapp/oracle/dba/log/rename.txt
        select 'dd bs=1024 if=&1 f=/oraapp/oracle/dba/log/RLog_'||to_char(sysdate,'d')||'.txt' from dual;
        spool off
        host chmod 755 /oraapp/oracle/dba/log/rename.txt
        host /oraapp/oracle/dba/log/rename.txt
        host rm -rf /oraapp/oracle/dba/log/rename.txt
        exit;

##################################################
###########/oraapp/oracle/dba/ora_os.sh###########
##################################################
        #!/bin/sh
        #
        # copy all backup files from the db server72
        #
        cp /hotbkup/data/orabk/* /hotbkup/data/tmp/ >>/oraapp/oracle/dba/log/bkup.log
        #
        # move the daily backup to current week directory
        #
        cp /hotbkup/data/tmp/* /offbkup/data/cweek/ >>/oraapp/oracle/dba/log/bkup.log
        #
        # remove the yestoday's backup files
        #
        rm -rf /hotbkup/data/day/* >>/oraapp/oracle/dba/log/bkup.log
        #
        # copy all the backup file to day directory
        #
        mv /hotbkup/data/tmp/* /hotbkup/data/day/ >>/oraapp/oracle/dba/log/bkup.log
        #
        # delete all the db server72's backup files to free diskspace
        # must delete at last for security
        #
        rm -rf /hotbkup/data/orabk/* >>/oraapp/oracle/dba/log/bkup.log
        #
        # list all the backup file
        #
        ls -l /hotbkup/data/orabk/ >>/oraapp/oracle/dba/log/bkup.log
        ls -l /hotbkup/data/tmp/ >>/oraapp/oracle/dba/log/bkup.log
        ls -l /hotbkup/data/day/ >>/oraapp/oracle/dba/log/bkup.log
        ls -l /offbkup/data/cweek/ >>/oraapp/oracle/dba/log/bkup.log
        #
        # send email to dba
        #
        mail -s "BK_`date "+%Y-%m-%d"`_log" westzq@hotmail.com
##################################################
###########/oraapp/oracle/dba/ora_wk.sh###########
##################################################
        #!/bin/sh
        #
        # remove all the last week backup files
        #
        rm -rf /offbkup/data/pweek/*
        #
        # move current week backup file to preview week folder
        #
        mv /offbkup/data/cweek/* /offbkup/data/pweek/

##################################################
#########/oraapp/oracle/dba/full_bkup.sh##########
##################################################
        #!/bin/sh
        export ORACLE_HOME=/oraapp/oracle/92
        export DBA_HOME=/oraapp/oracle/dba
        export ORACLE_SID=RCAT
        export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
        export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
        $ORACLE_HOME/bin/rman cmdfile $DBA_HOME/full_bk.rcv msglog $DBA_HOME/log/bkup.log
        $ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
        /oraapp/oracle/dba/ora_os.sh &

##################################################
#########/oraapp/oracle/dba/full_bkup.rcv#########
##################################################
        connect catalog RMAN/RMAN@RCAT;
        connect target RMAN/RMAN@PROD;
        run {
        allocate channel ch1 device type disk;
        allocate channel ch2 device type disk;
        backup full filesperset=2 tag='Full_%d' format='/oradata/orabk/%T_full_%d_%s_%p' database include current controlfile;
        sql 'alter system archive log current';
        backup filesperset=4 format='/oradata/orabk/arch_%T_%d_%s_%p' archivelog all delete input;
        release channel ch1;
        release channel ch2;
        }
        quit;

##################################################
#########/oraapp/oracle/dba/lev0_bkup.sh##########
##################################################
        #!/bin/sh
        export ORACLE_HOME=/oraapp/oracle/92
        export DBA_HOME=/oraapp/oracle/dba
        export ORACLE_SID=RCVCAT
        export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
        export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
        $ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev0_bkup.rcv log $DBA_HOME/log/bkup.log
        $ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
        /oraapp/oracle/dba/ora_os.sh &

##################################################
#########/oraapp/oracle/dba/lev0_bkup.rcv#########
##################################################
        connect catalog RMAN/RMAN@RCAT;
        connect target RMAN/RMAN@PROD;
        run {
        allocate channel ch1 device type disk;
        allocate channel ch2 device type disk;
        backup incremental level=0 filesperset=2 tag='Lev0_%d' format='/oradata/orabk/%T_lev0_%d_%s_%p' database include current controlfile;
        sql 'alter system archive log current';
        backup filesperset=4 format='/oradata/orabk/arch_%T_%d_%s_%p'
        archivelog all delete input;
        release channel ch1;
        release channel ch2;
        }
        quit;

##################################################
#########/oraapp/oracle/dba/lev1_bkup.sh##########
##################################################
        #!/bin/sh
        export ORACLE_HOME=/oraapp/oracle/92
        export DBA_HOME=/oraapp/oracle/dba
        export ORACLE_SID=RCAT
        export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
        export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
        $ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev1_bkup.rcv log $DBA_HOME/log/bkup.log
        $ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
        /oraapp/oracle/dba/ora_os.sh &

##################################################
#########/oraapp/oracle/dba/lev1_bkup.rcv#########
##################################################
        connect catalog RMAN/RMAN@RCAT;
        connect target RMAN/RMAN@PROD;
        run {
        allocate channel ch1 device type disk;
        allocate channel ch2 device type disk;
        backup incremental
        level=1
        filesperset=2
        tag='Lev1_%d'
        format='/oradata/orabk/%T_lev1_%d_%s_%p'
        database include current controlfile;
        sql 'alter system archive log current';
        backup filesperset=4
        format='/oradata/orabk/arch_%T_%d_%s_%p'
        archivelog all delete input;
        release channel ch1;
        release channel ch2;
        }
        quit;

##################################################
#########/oraapp/oracle/dba/lev2_bkup.sh##########
##################################################
        #!/bin/sh
        export ORACLE_HOME=/oraapp/oracle/92
        export DBA_HOME=/oraapp/oracle/dba
        export ORACLE_SID=RCVCAT
        export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
        export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'
        $ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev2_bkup.rcv log $DBA_HOME/log/bkup.log
        $ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log
        /oraapp/oracle/dba/ora_os.sh &

##################################################
#########/oraapp/oracle/dba/lev2_bkup.rcv#########
##################################################
        connect catalog RMAN/RMAN@RCAT;
        connect target RMAN/RMAN@PROD;
        run {
        allocate channel ch1 device type disk;
        allocate channel ch2 device type disk;
        backup incremental
        level=2
        filesperset=2
        tag='Lev2_%d'
        format='/oradata/orabk/%T_lev2_%d_%s_%p'
        database include current controlfile;
        sql 'alter system archive log current';
        backup filesperset=4
        format='/oradata/orabk/arch_%T_%d_%s_%p'
        archivelog all delete input;
        release channel ch1;
        release channel ch2;
        }
        quit;

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

相關文章