为客户部署的备份策略,替换了和客户相关的重要信息


数据库备份方案部署过程:


考虑到系统是高可用性系统(7×24),因此采用rman来热备份db,具体备份步骤部署如下:

1. 把db改为归档模式,2个节点的归档日志分别放在各自的/orabak/archlog目录下

2. 把db的备份文件放在2个节点各自的/orabak/dbbak目录下,每次备份的文件会分布在2个节点上,这样做的目的对2个节点来说相对都能节约一些空间,因为/orabak目前暂时挂载在rootvg下了,由于datavg里已经没有了空间

3. 备份脚本存放在节点1的/orabak/script里面

A.具体os层面的备份脚本是/orabak/script/dbbak.sh,内容如下:

--环境变量设置,最简单的办法就是把oracle用户的环境变量文件.profile的内容全部拿过来即可

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.


export PATH


if [ -s "$MAIL" ] # This is at Shell startup. In normal

then echo "$MAILMSG" # operation, the Shell checks

fi # periodically.

ORACLE_BASE=/opt/oracle

ORACLE_HOME=/opt/oracle/product/11.1/db_1

CRS_HOME=/opt/oracle/product/11.1/crs

DISPLAY=198.14.2.56:0.0

ORACLE_SID=RACDB1

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/rdbms/jlib

SHLIB_PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32

PATH=$PATH:$ORACLE_HOME/bin:$CRS_HOME/bin:/usr/sbin:/usr/local/bin:/usr/lib/builtins:

ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export ORACLE_BASE ORACLE_HOME ORACLE_SID DISPLAY LD_LIBRARY_PATH CLASSPATH SHLIB_PATH PATH ORA_NLS33

NLS_LANG=american_america.zhs16gbk

export NLS_LANG

--备份脚本

rman target / cmdfile='/orabak/script/dbbak.sql' log='/orabak/script/dbbak.log' append <<EOF

B.os层面的备份脚本/orabak/script/dbbak.sh调用的db层面的脚本/orabak/script/dbbak.sql内容如下:

run{

allocate channel c1 device type disk connect sys/system@racdb1;

allocate channel c2 device type disk connect sys/system@racdb2;

backup as compressed backupset database format='/orabak/dbbak/racdb_%T_%U.bak';

delete noprompt obsolete;

crosscheck backup;

crosscheck archivelog all;

delete noprompt expired backup;

delete noprompt expired archivelog all;

backup as compressed backupset archivelog all format='/orabak/dbbak/archlog_%T_%U.bak';

}

exit;

EOF

4. 每天晚上11:30系统自动备份db,具体实现脚本如下:

$ crontab -l

30 23 * * * /orabak/script/dbbak.sh

5.受到/orabak目录所在的rootvg的空间限制,我们制定了备份保留3天的策略,db的备份和归档以及归档日志的备份保留3天之后自动删除,具体备份策略如下:

$ rman target /


Recovery Manager: Release 11.1.0.6.0 - Production on Wed Jun 9 16:24:41 2010


Copyright (c) 1982, 2007, Oracle. All rights reserved.


connected to target database: RACDB (DBID=3428846088)


RMAN> show all;


using target database control file instead of recovery catalog

RMAN configuration parameters for database with db_unique_name RACDB are:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;


6. 通过测试,发现备份可以成功,目前没发现任何问题,具体测试时的备份日志如下:


Recovery Manager: Release 11.1.0.6.0 - Production on Wed Jun 9 15:01:00 2010


Copyright (c) 1982, 2007, Oracle. All rights reserved.


connected to target database: RACDB (DBID=3428846088)


RMAN> run{

2> allocate channel c1 device type disk connect *

3> allocate channel c2 device type disk connect *

4> backup as compressed backupset database format='/orabak/dbbak/racdb_%T_%U.bak';

5> delete noprompt obsolete;

6> crosscheck backup;

7> crosscheck archivelog all;

8> delete noprompt expired backup;

9> delete noprompt expired archivelog all;

10> backup as compressed backupset archivelog all format='/orabak/dbbak/archlog_%T_%U.bak';

11> }

12>

using target database control file instead of recovery catalog

allocated channel: c1

channel c1: SID=110 instance=RACDB1 device type=DISK


allocated channel: c2

channel c2: SID=112 instance=RACDB2 device type=DISK


Starting backup at 09-JUN-10

channel c1: starting compressed full datafile backup set

channel c1: specifying datafile(s) in backup set

input datafile file number=00011 name=/dev/rtbs_big1

input datafile file number=00013 name=/dev/rtbs_big3

input datafile file number=00015 name=/dev/rtbs_zhufo

input datafile file number=00004 name=/dev/rundotbs2

input datafile file number=00002 name=/dev/rsysaux

input datafile file number=00001 name=/dev/rsystem

input datafile file number=00005 name=/dev/rusers

channel c1: starting piece 1 at 09-JUN-10

channel c2: starting compressed full datafile backup set

channel c2: specifying datafile(s) in backup set

input datafile file number=00012 name=/dev/rtbs_big2

input datafile file number=00006 name=/dev/rtbs_common

input datafile file number=00007 name=/dev/rtbs_vts

input datafile file number=00008 name=/dev/rtbs_vesm

input datafile file number=00009 name=/dev/rtbs_idx

input datafile file number=00010 name=/dev/rtbs_x3sys

input datafile file number=00014 name=/dev/rtbs_bhjf

input datafile file number=00003 name=/dev/rundotbs1

channel c2: starting piece 1 at 09-JUN-10

channel c1: finished piece 1 at 09-JUN-10

piece handle=/orabak/dbbak/racdb_20100609_09lfqath_1_1.bak tag=TAG20100609T150104 comment=NONE

channel c1: backup set complete, elapsed time: 00:05:40

channel c1: starting compressed full datafile backup set

channel c1: specifying datafile(s) in backup set

including current control file in backup set

channel c1: starting piece 1 at 09-JUN-10

channel c1: finished piece 1 at 09-JUN-10

piece handle=/orabak/dbbak/racdb_20100609_0blfqb86_1_1.bak tag=TAG20100609T150104 comment=NONE

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

channel c1: starting compressed full datafile backup set

channel c1: specifying datafile(s) in backup set

including current SPFILE in backup set

channel c1: starting piece 1 at 09-JUN-10

channel c1: finished piece 1 at 09-JUN-10

piece handle=/orabak/dbbak/racdb_20100609_0clfqb88_1_1.bak tag=TAG20100609T150104 comment=NONE

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

channel c2: finished piece 1 at 09-JUN-10

piece handle=/orabak/dbbak/racdb_20100609_0alfqatu_1_1.bak tag=TAG20100609T150104 comment=NONE

channel c2: backup set complete, elapsed time: 00:05:54

Finished backup at 09-JUN-10


RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

Deleting the following obsolete backups and copies:

Type Key Completion Time Filename/Handle

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

Backup Set 4 09-JUN-10

Backup Piece 4 09-JUN-10 /orabak/dbbak/racdb_20100609_03lfq98d_1_1.bak

Backup Set 1 09-JUN-10

Backup Piece 1 09-JUN-10 /orabak/dbbak/racdb_20100609_04lfq98r_1_1.bak

Backup Set 2 09-JUN-10

Backup Piece 2 09-JUN-10 /orabak/dbbak/racdb_20100609_05lfq9j6_1_1.bak

Archive Log 3 09-JUN-10 /orabak/archlog/1_1910_718202824.dbf

Backup Set 3 09-JUN-10

Backup Piece 3 09-JUN-10 /orabak/dbbak/racdb_20100609_06lfq9jc_1_1.bak

Archive Log 4 09-JUN-10 /orabak/archlog/2_367_718202824.dbf

Backup Set 5 09-JUN-10

Backup Piece 5 09-JUN-10 /orabak/dbbak/archivelog_20100609_07lfq9lp_1_1.bak

Backup Set 6 09-JUN-10

Backup Piece 6 09-JUN-10 /orabak/dbbak/archivelog_20100609_08lfq9m6_1_1.bak

deleted backup piece

backup piece handle=/orabak/dbbak/racdb_20100609_03lfq98d_1_1.bak RECID=4 STAMP=721233165

deleted archived log

archived log file name=/orabak/archlog/1_1910_718202824.dbf RECID=3 STAMP=721233587

deleted backup piece

backup piece handle=/orabak/dbbak/archivelog_20100609_07lfq9lp_1_1.bak RECID=5 STAMP=721233593

Deleted 3 objects


deleted backup piece

backup piece handle=/orabak/dbbak/racdb_20100609_04lfq98r_1_1.bak RECID=1 STAMP=721233186

deleted backup piece

backup piece handle=/orabak/dbbak/racdb_20100609_05lfq9j6_1_1.bak RECID=2 STAMP=721233515

deleted backup piece

backup piece handle=/orabak/dbbak/racdb_20100609_06lfq9jc_1_1.bak RECID=3 STAMP=721233521

deleted archived log

archived log file name=/orabak/archlog/2_367_718202824.dbf RECID=4 STAMP=721233601

deleted backup piece

backup piece handle=/orabak/dbbak/archivelog_20100609_08lfq9m6_1_1.bak RECID=6 STAMP=721233611

Deleted 5 objects



crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/orabak/dbbak/racdb_20100609_09lfqath_1_1.bak RECID=7 STAMP=721234865

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/orabak/dbbak/racdb_20100609_0blfqb86_1_1.bak RECID=8 STAMP=721235207

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/orabak/dbbak/racdb_20100609_0clfqb88_1_1.bak RECID=9 STAMP=721235208

Crosschecked 3 objects


crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/orabak/dbbak/racdb_20100609_0alfqatu_1_1.bak RECID=10 STAMP=721234885

Crosschecked 1 objects



specification does not match any archived log in the recovery catalog



specification does not match any archived log in the recovery catalog


Starting backup at 09-JUN-10

current log archived

channel c1: starting compressed archived log backup set

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

input archived log thread=1 sequence=1911 RECID=5 STAMP=721235228

channel c1: starting piece 1 at 09-JUN-10

channel c2: starting compressed archived log backup set

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

input archived log thread=2 sequence=368 RECID=6 STAMP=721235242

channel c2: starting piece 1 at 09-JUN-10

channel c1: finished piece 1 at 09-JUN-10

piece handle=/orabak/dbbak/archlog_20100609_0dlfqb92_1_1.bak tag=TAG20100609T150713 comment=NONE

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

channel c2: finished piece 1 at 09-JUN-10

piece handle=/orabak/dbbak/archlog_20100609_0elfqb9f_1_1.bak tag=TAG20100609T150713 comment=NONE

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

Finished backup at 09-JUN-10

released channel: c1

released channel: c2


Recovery Manager complete.

#


oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html