日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nocatalog 下的RMAN 增量备份 shell脚本

發布時間:2025/3/15 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nocatalog 下的RMAN 增量备份 shell脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?????? 之前整理了下catalog下全備的腳本,上次在生產庫上弄了個nocatalog的腳本,結果沒有在本本上保存,這次要用了,重新在整理了一下。

?

Linux 平臺下 RMAN 全備 增量備份 shell 腳本

http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740630.aspx

?

在執行腳本之前,先修改幾個參數值:

1. DB 參數:

修改控制文件的保存時間,從默認的7天改成14

SQL> show parameter control

SQL> alter system set control_file_record_keep_time=14 scope=both;

?

2. RMAN 參數:

開啟控制文件的自動備份,開啟之后在數據庫備份或者數據文件(比如添加數據文件)有修改的時候都會自動備份控制文件和spfile文件。

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

?

3. 備份策略根據自己的系統決

?????? 我這里是周日做0級備份。周四1級備份,其他2級備份。

?

4. 備份腳本如下:

##################################################################

##?? rman_incremental_backup.sh???? ??????????##

##? ??created by Tianlesoftware??????????? ?????##

##??????? 2011-1-25????????????????????? ???##

##################################################################

#!/bin/ksh

export LANG=en_US

BACKUP_DATE=`date +%d`

RMAN_LOG_FILE=${0}.out

TODAY=`date`

USER=`id|cut -d "(" -f2|cut -d ")" -f1`

echo "-----------------$TODAY-------------------">$RMAN_LOG_FILE

ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export ORACLE_HOME

RMAN=$ORACLE_HOME/bin/rman

export RMAN

ORACLE_SID=orcl

export ORACLE_SID

ORACLE_USER=oracle

export ORACLE_USER

?

echo "ORACLE_SID: $ORACLE_SID">>$RMAN_LOG_FILE

echo "ORACLE_HOME:$ORACLE_HOME">>$RMAN_LOG_FILE

echo "ORACLE_USER:$ORACLE_USER">>$RMAN_LOG_FILE

echo "==========================================">>$RMAN_LOG_FILE

echo "BACKUP DATABASE BEGIN......">>$RMAN_LOG_FILE

echo "?????????? ????????">>$RMAN_LOG_FILE

chmod 666 $RMAN_LOG_FILE

?

WEEK_DAILY=`date +%a`

case? "$WEEK_DAILY" in

?????? "Mon")

??????????? BAK_LEVEL=2

??????????? ;;

?????? "Tue")

??????????? BAK_LEVEL=2

??????????? ;;

?????? "Wed")

??????????? BAK_LEVEL=2

??????????? ;;

?????? "Thu")

??????????? BAK_LEVEL=1

??????????? ;;

?????? "Fri")

??????????? BAK_LEVEL=2

??????????? ;;

?????? "Sat")

??????????? BAK_LEVEL=2

??????????? ;;

?????? "Sun")

??????????? BAK_LEVEL=0

??????????? ;;

?????? "*")

??????????? BAK_LEVEL=error

esac

?

export BAK_LEVEL=$BAK_LEVEL

echo "Today is : $WEEK_DAILY? incremental level= $BAK_LEVEL">>$RMAN_LOG_FILE

?

RUN_STR="

BAK_LEVEL=$BAK_LEVEL

export BAK_LEVEL

ORACLE_HOME=$ORACLE_HOME

export ORACLE_HOME

ORACLE_SID=$ORACLE_SID

export ORACLE_SID

$RMAN nocatalog TARGET sys/admin msglog $RMAN_LOG_FILE append <<EOF

run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

backup? incremental level= $BAK_LEVEL? skip inaccessible filesperset 5 Database format='/u01/backup/orcl_lev"$BAK_LEVEL"_%U_%T'? tag='orcl_lev"$BAK_LEVEL"' ;

sql 'alter system archive log current';

backup archivelog all tag='arc_bak' format='/u01/backup/arch_%U_%T' skip inaccessible? filesperset 5 not? backed up 1 times? delete input;

backup current controlfile tag='bak_ctlfile' format='/u01/backup/ctl_file_%U_%T';

backup spfile tag='spfile' format='/u01/backup/ORCL_spfile_%U_%T';

release channel c2;

release channel c1;

}

allocate channel for maintenance device type disk;

report obsolete;

delete noprompt obsolete;

crosscheck backup;

delete noprompt expired backup;

list backup summary;

release channel;

EOF

"

?# Initiate the command string

?

if [ "$CUSER" = "root" ]

then

??? echo "Root Command String: $RUN_STR" >> $RMAN_LOG_FILE????

??? su - $ORACLE_USER -c "$RUN_STR" >> $RMAN_LOG_FILE

??? RSTAT=$?

else

??? echo "User Command String: $RUN_STR" >> $RMAN_LOG_FILE????

??? /bin/sh -c "$RUN_STR" >> $RMAN_LOG_FILE

??? RSTAT=$?

fi

?

# ---------------------------------------------------------------------------

# Log the completion of this script.

# ---------------------------------------------------------------------------

?

if [ "$RSTAT" = "0" ]

then

??? LOGMSG="ended successfully"

else

??? LOGMSG="ended in error"

fi

echo >> $RMAN_LOG_FILE

echo Script $0 >> $RMAN_LOG_FILE

echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE

echo >> $RMAN_LOG_FILE

/bin/mailx -s "RMAN Backup SID " tianlesoftware@vip.qq.com < $RMAN_LOG_FILE

exit $RSTAT

?

5. 備份腳本的log 日志:

?

connected to target database: DAVE (DBID=801102850)

using target database control file instead of recovery catalog

?

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12>

allocated channel: c1

channel c1: sid=158 devtype=DISK

?

allocated channel: c2

channel c2: sid=147 devtype=DISK

?

Starting backup at 01-FEB-12

channel c1: starting incremental level 2 datafile backupset

channel c1: specifying datafile(s) in backupset

input datafile fno=00001 name=/u01/app/oracle/oradata/orcl/system.256.736598559

input datafile fno=00004 name=/u01/app/oracle/oradata/orcl/users.259.736598641

channel c1: starting piece 1 at 01-FEB-12

channel c2: starting incremental level 2 datafile backupset

channel c2: specifying datafile(s) in backupset

input datafile fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux.257.736598563

input datafile fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs1.258.736598599

channel c2: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/orcl_lev2_0dn287g3_1_1_20120201 tag=ORCL_LEV2 comment=NONE

channel c1: backup set complete, elapsed time: 00:00:36

channel c2: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/orcl_lev2_0en287g3_1_1_20120201 tag=ORCL_LEV2 comment=NONE

channel c2: backup set complete, elapsed time: 00:00:36

Finished backup at 01-FEB-12

?

Starting Control File and SPFILE Autobackup at 01-FEB-12

piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118951_7lmfms6s_.bkp comment=NONE

Finished Control File and SPFILE Autobackup at 01-FEB-12

?

sql statement: alter system archive log current

?

Starting backup at 01-FEB-12

current log archived

channel c1: starting archive log backupset

channel c1: specifying archive log(s) in backup set

input archive log thread=1 sequence=9 recid=9 stamp=774118956

channel c1: starting piece 1 at 01-FEB-12

channel c2: starting archive log backupset

channel c2: specifying archive log(s) in backup set

input archive log thread=1 sequence=10 recid=10 stamp=774118956

channel c2: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/arch_0hn287hc_1_1_20120201 tag=ARC_BAK comment=NONE

channel c1: backup set complete, elapsed time: 00:00:02

channel c1: deleting archive log(s)

archive log filename=/u01/archivelog/1_9_738254360.arch recid=9 stamp=774118956

channel c2: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/arch_0gn287hc_1_1_20120201 tag=ARC_BAK comment=NONE

channel c2: backup set complete, elapsed time: 00:00:03

channel c2: deleting archive log(s)

archive log filename=/u01/archivelog/1_10_738254360.arch recid=10 stamp=774118956

Finished backup at 01-FEB-12

?

Starting backup at 01-FEB-12

channel c1: starting full datafile backupset

channel c1: specifying datafile(s) in backupset

including current control file in backupset

channel c1: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/ctl_file_0in287hg_1_1_20120201 tag=BAK_CTLFILE comment=NONE

channel c1: backup set complete, elapsed time: 00:00:02

Finished backup at 01-FEB-12

?

Starting backup at 01-FEB-12

channel c1: starting full datafile backupset

channel c1: specifying datafile(s) in backupset

including current SPFILE in backupset

channel c1: starting piece 1 at 01-FEB-12

channel c1: finished piece 1 at 01-FEB-12

piece handle=/u02/backup/ORCL_spfile_0jn287hi_1_1_20120201 tag=SPFILE comment=NONE

channel c1: backup set complete, elapsed time: 00:00:01

Finished backup at 01-FEB-12

?

Starting Control File and SPFILE Autobackup at 01-FEB-12

piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118963_7lmfn45l_.bkp comment=NONE

Finished Control File and SPFILE Autobackup at 01-FEB-12

?

released channel: c2

?

released channel: c1

?

RMAN> RMAN>

allocated channel: ORA_MAINT_DISK_1

channel ORA_MAINT_DISK_1: sid=158 devtype=DISK

?

RMAN> RMAN>

RMAN retention policy will be applied to the command

RMAN retention policy is set to recovery window of 7 days

no obsolete backups found

?

RMAN> RMAN>

RMAN retention policy will be applied to the command

RMAN retention policy is set to recovery window of 7 days

no obsolete backups found

?

RMAN> RMAN>

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_06n2877c_1_1_20120201 recid=1 stamp=774118636

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_05n2877c_1_1_20120201 recid=2 stamp=774118636

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118723_7lmfdojy_.bkp recid=3 stamp=774118725

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_08n287ab_1_1_20120201 recid=4 stamp=774118732

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_09n287ab_1_1_20120201 recid=5 stamp=774118732

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ctl_file_0an287al_1_1_20120201 recid=6 stamp=774118742

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ORCL_spfile_0bn287ao_1_1_20120201 recid=7 stamp=774118744

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118745_7lmffb20_.bkp recid=8 stamp=774118746

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_0dn287g3_1_1_20120201 recid=9 stamp=774118915

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/orcl_lev2_0en287g3_1_1_20120201 recid=10 stamp=774118923

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118951_7lmfms6s_.bkp recid=11 stamp=774118953

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_0gn287hc_1_1_20120201 recid=12 stamp=774118957

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/arch_0hn287hc_1_1_20120201 recid=13 stamp=774118957

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ctl_file_0in287hg_1_1_20120201 recid=14 stamp=774118961

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u02/backup/ORCL_spfile_0jn287hi_1_1_20120201 recid=15 stamp=774118962

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/u01/app/oracle/flash_recovery_area/DAVE/autobackup/2012_02_01/o1_mf_s_774118963_7lmfn45l_.bkp recid=16 stamp=774118964

Crosschecked 16 objects

?

?

RMAN> RMAN>

?

RMAN> RMAN>

?

List of Backups

===============

Key???? TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag

------- -- -- - ----------- --------------- ------- ------- ---------- ---

1?????? B? 2? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? ORCL_LEV2

2?????? B? 2? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? ORCL_LEV2

3?????? B? F? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? TAG20120201T165843

4?????? B? A? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? ARC_BAK

5?????? B? A? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? ARC_BAK

6?????? B? F? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? BAK_CTLFILE

7?????? B? F ?A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? SPFILE

8?????? B? F? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? TAG20120201T165905

9?????? B? 2? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? ORCL_LEV2

10????? B? 2? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? ORCL_LEV2

11????? B? F? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? TAG20120201T170231

12????? B? A? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? ARC_BAK

13????? B? A? A DISK????? ??01-FEB-12?????? 1?????? 1?????? NO???????? ARC_BAK

14????? B? F? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? BAK_CTLFILE

15????? B? F? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? SPFILE

16????? B? F? A DISK??????? 01-FEB-12?????? 1?????? 1?????? NO???????? TAG20120201T170243

?

RMAN> RMAN>

released channel: ORA_MAINT_DISK_1

?

RMAN> RMAN>

?

Recovery Manager complete.

?

Script rman_incremental_backup.sh

==== ended successfully on Wed Feb 1 17:02:50 EST 2012 ====

?

?

6. 將備份腳本添加到Crontab

[oracle@singledb u02]$ crontab -l

20 17 * * * /u02/rman_incremental_backup.sh 1>/u02/rman.log 2>&1 &

?

關于crontab 參考:

?????? Linux Crontab 定時任務 命令詳解

?????? http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315039.aspx

?

?

?

?

?

?

------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

網上資源: http://tianlesoftware.download.csdn.net

相關視頻:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(滿); DBA2 群:62697977(滿)

DBA3 群:62697850?? DBA 超級群:63306533;????

聊天 群:40132017

--加群需要在備注說明Oracle表空間和數據文件的關系,否則拒絕申請

?

轉載于:https://www.cnblogs.com/zlja/archive/2011/01/26/2449724.html

總結

以上是生活随笔為你收集整理的Nocatalog 下的RMAN 增量备份 shell脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。