公司一台内部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) 每个星期天的18:30 对数据库进行一次rman的全备, 并删除归档, 备份冗余策略为默认的1
(2) 每个星期六的18:30 对数据进行一次数据泵 的逻辑导入导出
如果备份能正常进行,没理由归档日志不会删除啊? 仔细看了一下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-702005/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8117479/viewspace-702005/