oracle 11.2.0.3 rac集群rman周备份策略

  1 1.1备份策略
  2 周日执行0级的增量备份
  3
  4 周一执行2级的增量备份
  5
  6 周二执行2级的增量备份
  7
  8 周三执行1级的增量备份
  9
 10 周四执行2级的增量备份
 11
 12 周五执行2级的增量备份
 13
 14 周六执行2级的增量备份
 15 周日进行一次零级备份,周一、周二、进行二级备份;周三进行一级备份;周四、周五、周六进行二级备份。在执行备份的时候,我们考 虑将数据文件的全备和归档日志备份分开执行,避免造成一些不必要的麻烦。在进行全备的时候,由于RAC的两个节点是共享的所有数据文件,控制文件,所以我 们只连接其中的一个节点rac1来进行备份。在进行归档日志的备份的时候,由于归档日志并非共享,而是在每个节点本地存储的,所以我们需要分别连接到两个节 点进行归档日志的备份。为节省存储空间,将对备份后归档日志做定期删除。
 16
 17 2.数据库备份脚本
 18 2.1 零级备份脚步(即全备)
 19 0级脚本如下:
 20
 21 cat >> /home/oracle/fullbackup/backup_lv0.sql <
 22
 23 run{
 24
 25 allocate channel c1 type disk maxpiecesize=3500m;
 26
 27 allocate channel c2 type disk maxpiecesize=3500m;
 28
 29 backup incremental level 0 database include current controlfile format ‘+DATA/frxdb/backupset/frxdb_%T_%s_%p.lv0‘ plus archivelog delete all input format ‘+DATA/frxdb/backupset/arch_%T_%s_%p.arc‘;
 30
 31 release channel c1;
 32
 33 release channel c2;
 34
 35 }
 36
 37  EOF
 38
 39 2.2 一级脚本如下:
 40 cat >> /home/oracle/fullbackup/backup_lv1.sql <
 41
 42 run {
 43
 44 allocate channel c1 type disk maxpiecesize=3500m;
 45
 46 backup incremental level 1 database include current controlfile format ‘+DATA/frxdb/backupset/frxdb_%T_%s_%p.lv1‘;
 47
 48 release channel c1;
 49
 50 }
 51
 52 EOF
 53
 54 2.3 二级脚本如下:
 55 cat >> /home/oracle/fullbackup/backup_lv2.sql <
 56
 57 run{
 58
 59 allocate channel c1 type disk maxpiecesize=3500m;
 60
 61 backup incremental level 2 database include current controlfile format ‘+DATA/frxdb/backupset/frxdb_%T_%s_%p.lv2‘;
 62
 63 release channel c1;
 64
 65 }
 66
 67 EOF
 68
 69 3 自动备份
 70 3.1 自动备份脚本
 71 ########################################################################
 72
 73 ##   rac__backup.sh      ##
 74
 75 ##   created by ZHONGYI TECH   ##
 76
 77 ##        2014-6-23                 ##
 78
 79 #########################################################################
 80
 81
 82
 83 #!/bin/sh
 84
 85 export LANG=en_US
 86
 87 BACKUP_DATE=`date +%d`
 88
 89 RMAN_LOG_FILE=${0).out
 90
 91 TODAY=`date`
 92
 93 CUSER=`id|cut -d "(" -f2|cut -d ")" -f1`
 94
 95 echo "-----------------$TODAY-------------------">$RMAN_LOG_FILE
 96
 97 ORACLE_HOME=/u01/app/oracle/product/11.2.0.3/db_1
 98
 99 export ORACLE_HOME
100
101 RMAN=$ORACLE_HOME/bin/rman
102
103 export RMAN
104
105 ORACLE_SID=frxdb
106
107 export ORACLE_SID
108
109 ORACLE_USER=oracle
110
111 export ORACLE_USER
112
113
114
115 echo "ORACLE_SID: $ORACLE_SID">>$RMAN_LOG_FILE
116
117 echo "ORACLE_HOME:$ORACLE_HOME">>$RMAN_LOG_FILE
118
119 echo "ORACLE_USER:$ORACLE_USER">>$RMAN_LOG_FILE
120
121 echo "==========================================">>$RMAN_LOG_FILE
122
123 echo "BACKUP DATABASE BEGIN......">>$RMAN_LOG_FILE
124
125 echo "                   ">>$RMAN_LOG_FILE
126
127 chmod 666 $RMAN_LOG_FILE
128
129
130
131 WEEK_DAILY=`date +%a`
132
133
134
135 case  "$WEEK_DAILY" in
136
137        "Mon")
138
139             BAK_LEVEL=2
140
141             ;;
142
143        "Tue")
144
145             BAK_LEVEL=2
146
147             ;;
148
149        "Wed")
150
151             BAK_LEVEL=1
152
153             ;;
154
155        "Thu")
156
157             BAK_LEVEL=2
158
159             ;;
160
161        "Fri")
162
163             BAK_LEVEL=2
164
165             ;;
166
167        "Sat")
168
169             BAK_LEVEL=2
170
171             ;;
172
173        "Sun")
174
175             BAK_LEVEL=0
176
177             ;;
178
179        "*")
180
181             BAK_LEVEL=error
182
183 esac
184
185 export  BAK_LEVEL=$BAK_LEVEL
186
187 echo "Today is : $WEEK_DAILY  incremental level= $BAK_LEVEL">>$RMAN_LOG_FILE
188
189
190
191 RUN_STR="
192
193 BAK_LEVEL=$BAK_LEVEL
194
195 export BAK_LEVEL
196
197 ORACLE_HOME=$ORACLE_HOME
198
199 export ORACLE_HOME
200
201 ORACLE_SID=$ORACLE_SID
202
203 export ORACLE_SID
204
205 $RMAN  nocatalog TARGET sys/[email protected]   msglog $RMAN_LOG_FILE append <
206
207 run
208
209 {
210
211 allocate channel c1  type disk connect  ‘sys/[email protected]‘;
212
213 allocate channel c2  type disk connect  ‘sys/[email protected]‘;
214
215
216
217 backup  incremental level= $BAK_LEVEL Database format=‘+DATA/frxdb/backupset/frxdb_lev"$BAK_LEVEL"_%U_%T‘  tag=‘frxdb_lev"$BAK_LEVEL"‘ ;
218
219
220
221 sql ‘alter system archive log current‘;
222
223
224
225 backup archivelog all tag=‘arc_bak‘ format=‘+DATA/frxdb/backupset/arch_%U_%T‘  not  backed up 1 times  delete input;
226
227
228
229 backup current controlfile tag=‘bak_ctlfile‘ format=‘+DATA/frxdb/backupset/ctl_file_%U_%T‘;
230
231 backup spfile tag=‘spfile‘ format=‘+DATA/frxdb/backupset/frxdb_spfile_%U_%T‘;
232
233 release channel c1;
234
235 release channel c2;
236
237 }
238
239 allocate channel for maintenance device type disk connect  ‘sys/[email protected]‘;
240
241 allocate channel for maintenance device type disk connect  ‘sys/[email protected]‘;
242
243
244
245 report obsolete;
246
247 delete noprompt obsolete;
248
249 crosscheck backup;
250
251 delete noprompt expired backup;
252
253 Release channel;
254
255 list backup summary;
256
257
258
259 EOF
260
261 "
262
263  # Initiate the command string
264
265
266
267 if [ "$CUSER" = "root" ]
268
269 then
270
271     echo "Root Command String: $RUN_STR" >> $RMAN_LOG_FILE
272
273     su - $ORACLE_USER -c "$RUN_STR" >> $RMAN_LOG_FILE
274
275     RSTAT=$?
276
277 else
278
279     echo "User Command String: $RUN_STR" >> $RMAN_LOG_FILE
280
281     /bin/sh -c "$RUN_STR" >> $RMAN_LOG_FILE
282
283     RSTAT=$?
284
285 fi
286
287
288
289 # ---------------------------------------------------------------------------
290
291 # Log the completion of this script.
292
293 # ---------------------------------------------------------------------------
294
295 if [ "$RSTAT" = "0" ]
296
297 then
298
299     LOGMSG="backup finished successfully"
300
301 else
302
303     LOGMSG="backup ended in error"
304
305 fi
306
307
308
309 echo >> $RMAN_LOG_FILE
310
311 echo Script $0 >> $RMAN_LOG_FILE
312
313 echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
314
315 echo >> $RMAN_LOG_FILE
316
317 echo $LOGMSG | mailx -v -s "oracle backup info" [email protected] < $RMAN_LOG_FILE
318
319
320
321 exit $RSTAT
322
323
324
325 3.2加入备份计划任务
326 用cron创建定时执行任务 ,要使用cron必须启动crond服务,最好还设置cron为开机启动(非本主题内容) 执行crontab –e 添加以下语句
327
328 00 03 * * * sh /home/oracle/fullbackup/rac_backup.sh
329
330 计划任务实现每天凌晨3点实施备份工作。
331
332 4 恢复策略
333 针对一周内任意一天出现数据库故障需要恢复可遵循如下恢复策略:
334
335 周一恢复:使用周日全备份
336
337 周二恢复:周日全备+周一增备
338
339 周三恢复:周日全备+周一、二增备
340
341 周四恢复:周日全备+周三增备
342
343 周五恢复:周日+周三、四备
344
345 周六恢复:周日+周三、周四、周五增备
346
347 周日恢复:周日+周三、四、五、六增备
348
349 更低粒度恢复选择使用闪回功能(数据误删除、误操作等)基于时间点、scn等做数据恢复。
350
351 本处将结束简单的恢复操作,即没有归档丢失,同时存在完整可用的备份下进行的恢复操作。在恢复之前,需要将数据库关闭,通过rman启动实例并准备恢复。
352
353 $ srvctl stop database -d frxdb
354
355 因为备份放在共享磁盘上,所以可在单个节点进行恢复,在任一节点:
356
357 rman target /
358
359 rman >startup mount
360
361 rman>restore database;
362
363 rman>recover database;
364
365 如归档连续,操作将成功,可直接执行以下命令打开数据库:
366
367 rman>sql ‘alter database open’;
368
369 注:恢复完成后立即执行备份操作。

原文地址:https://www.cnblogs.com/vmsysjack/p/12323101.html

时间: 2024-10-09 00:56:46

oracle 11.2.0.3 rac集群rman周备份策略的相关文章

ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RAC 版权声明:本文为博主原创文章,未经博主允许不得转载. VBOX + Oracle Linux 6U3 + ORACLE 11.2.0.3.0 RAC 安装 环境: 虚拟机          VIRTUAL BOX OS                ORACLE LINUX 6.3_X86_64

我的淘宝:Ubuntu 14.04.5上安装 Oracle 11.2.0.4 RAC

进入淘宝店铺 教程:Ubuntu 14.04.5上安装 Oracle 11.2.0.4 RAC 请支持下.价格好商量!

我的淘宝:Ubuntu 16.04.2上安装 Oracle 11.2.0.4 RAC

进入淘宝店铺 教程:Ubuntu 16.04.2上安装 Oracle 11.2.0.4 RAC 请支持下.价格好商量!

我的淘宝:Ubuntu 12.04.5上安装 Oracle 11.2.0.4 RAC

进入淘宝店铺 教程:Ubuntu 12.04.5上安装 Oracle 11.2.0.4 RAC 请支持下.价格好商量!

oracle 11.2.0.4 rac 打补丁

本次安装pus环境是11.2.0.4 rac,打的patch为11.2.0.4.180717 (Includes Database PSU),gi补丁和数据库补丁一起打 安装最新opatch版本 unzip p6880880_112000_AIX64-5L.zip -d /oracle/app/crs unzip p6880880_112000_AIX64-5L.zip -d /oracle/db/product/11.2 查看版本 opatch version OPatch Version:

Oracle 11.2.0.4 RAC Standby实施手册

Oracle RAC Standby实施手册   目录 1 实施环境规划 3 1.1 IP地址规划 3 1.2 归档配置相关参数 3 1.3 主库软件环境信息 4 1.4 备库软件环境信息 4 2 Active DataGuard实施条件 6 3 Active DataGuard实施准备 8 3.1 配置DG专用监听 8 3.1.1 创建LISTENER_DG 8 3.1.2 将监听加入到crs资源 10 3.2 配置TNS别名 10 3.3 同步口令文件 11 3.4 测试TNS配置有效性 1

关于安装Oracle 11.2.0.1 RAC的笔记

这是第一次安装RAC,参考了国外一位大神的安装文档,在安装过程中,也遇到了一些问题,从网上查了相关问题的解决方法,在此感谢. 操作系统是 Oracle Enterprise Linux 5,两个节点 rac1和rac2,网卡eth0作为public,eth1作为private,假设之前已添加一块20G容量的共享磁盘. 关于Oracle Enterprise Linux 下载,可以在https://edelivery.oracle.com/osdc/faces/Home.jspx登陆后下载. 主机

oracle 11.2.0.4 rac 恢复到单实例

一.备份原库 run{ backup database format '/home/oracle/backup/db_%U_%T.bak'; backup current controlfile format '/home/oracle/backup/ctl_%U_%T.bak'; backup spfile format '/home/oracle/backup/spfile_%U_%T.bak'; backup archivelog from time 'sysdate -1' format

centos6.5 x86_64安装oracle 11.2.0.3grid

 1.安装前的准备 工作 1.1.配置node1 1.1.1.配置虚拟机并安装centos 安装node1----- 1.安装node1 1.1.加入30G的硬盘,1G内存,2个处理器,加入两个网卡NAT 1.2.设置主机名同一时候配置网络 node1.localdomain  192.168.0.3/255.255.255.0/192.168.0.1  eth0 node1-priv.localdomain  10.10.10.31/255.255.255.0/10.10.10.1 eth