ITPub博客

首页 > 数据库 > Oracle > 一次 rman 备份策略的调整

一次 rman 备份策略的调整

原创 Oracle 作者:wangxiangtao 时间:2011-07-12 17:46:58 0 删除 编辑
公司一台内部oracle 服务器磁盘空间告警, 查看了一下情况如下:

[oracle@pro101 rmanback]$ df -h

Filesystem Size Used Avail Use% Mounted on

[@more@]

公司一台内部oracle 服务器磁盘空间告警, 查看了一下情况如下:

[oracle@pro101 rmanback]$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sdb1 284G 91G 180G 34% /

/dev/sda3 1.7T 1.5T 122G 93% /data

/dev/sda1 99M 12M 83M 12% /boot

tmpfs 7.9G 0 7.9G 0% /dev/shm

192.168.18.117:/data1/pro101bak/oracledb

1.8T 591G 1.1T 35% /data/app/oracle/backup/rmanback

[oracle@pro101 rmanback]$ cd /data/app/oracle/backup/archivelog/

[oracle@pro101 archivelog]$ du -sh

735G

为何归档日志会这么大呢, 此数据库相当于一个类似的OLAP的系统,其主要功能:日常就是一些jobs负责数据的批量录入,以及运营的提取数据,开发人员对一些数据在后台进行update, 查看了一下归档日志的情况, 发现归档一个月左右的归档都没有删除,于是查看了一下备份策略:

[oracle@pro101 ~]$ crontab -l

30 18 * * 0 /home/oracle/script/rmanback.sh >/dev/null

30 18 * * 6 /home/oracle/script/expback.sh >/dev/null

通过详细的脚本,可知此数据库的进行了两次有效备份,

(1) 每个星期天的1830 对数据库进行一次rman的全备, 并删除归档, 备份冗余策略为默认的1

(2) 每个星期六的1830 对数据进行一次数据泵 的逻辑导入导出

如果备份能正常进行,没理由归档日志不会删除啊? 仔细看了一下rman 以及 expdp产生的日志,发现expdp正常, rman log只到6月份的,初步确认是由于nfs 挂载后,rman就没有正常工作了。

因此需要对归档日志进行处理, 要彻底的解决 此问题, 还需要对备份策略作出脚本变更,在做策略改动前, 先对数据库做一个完整的全备,利用rman删除一些没有必要的归档, 备份后:

[oracle@pro101 rmanback]$ ll

total 79477760

-rw-r----- 1 oracle oinstall 45515264 Jul 12 05:20 arch_MOSTDT4_20110712_503

-rw-r----- 1 oracle oinstall 25244606464 Jul 12 04:44 fullback_MOSTDT4_20110712_498

-rw-r----- 1 oracle oinstall 27282857984 Jul 12 05:07 fullback_MOSTDT4_20110712_499

-rw-r----- 1 oracle oinstall 28730761216 Jul 12 05:19 fullback_MOSTDT4_20110712_500

-rw-r----- 1 oracle oinstall 1851392 Jul 12 04:44 fullback_MOSTDT4_20110712_501

-rw-r----- 1 oracle oinstall 98304 Jul 12 04:44 fullback_MOSTDT4_20110712_502

[oracle@pro101 rmanback]$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sdb1 284G 91G 180G 34% /

/dev/sda3 1.7T 856G 783G 53% /data

/dev/sda1 99M 12M 83M 12% /boot

tmpfs 7.9G 0 7.9G 0% /dev/shm

由于前期专门做过一次 rman增量备份的部署,于是整个过程就比较简单了,修改了一下incremental backup 脚本, 将以前的备份策略变更为:

[oracle@pro101 logs]$ crontab -e

30 0 * * * /home/oracle/script/incremental_backup.sh >/dev/null 2>&1 &

#30 18 * * 6 /home/oracle/script/expback.sh >/dev/null //取消数据泵的导入导出

经过测试 脚本运行通过, 后续还得观察一下备份空间情况。 在此对脚本中的备份策略作一个详细的说明:

***************************************************************

1 . Sun incremental level =0

2.Mon incremental level=2

3.Tue incremental level=2

4.Wed incremental level=2

5.Thu incremental level=1

6.Fri incremental level=2

7.Sat incremental level=2

****************************************************************

由于每天的备份发生与凌晨,故障后需要恢复的备份:

星期天故障: 1

星期一故障: 1+2

星期二故障: 1+2+3

星期三故障: 1+2+3+4

星期四故障: 1+5

星期五故障: 1+5+6

星期六故障: 1+5+6+7

故为了确保数据恢复能顺利完成,备份保存策略需要至少设置 7天以上, 当然可以手工对备份进行调整

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8117479/viewspace-1052320/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-08-18

  • 博文量
    26
  • 访问量
    97618