归档大小日志问题

今天早上碰到了一个问题,归档日志满了;

ORA-00257: archiver error. Connect internal only, until freed.



用rman target / 登录RMAN,
运行delete archivelog all;删除归档;只是删除了一小部分,还有许多的归档日志没有删除;
运行crosscheck archivelog all;标记当前归档已删除; 问题得以解决;


于是查看asm磁盘组空间:

16:02:28 sys@PORTALDB> select name,total_mb,free_mb from v$asm_diskgroup;

NAME TOTAL_MB FREE_MB
------------------------------ ---------- ----------
CRS 3072 2672
ORAARCH 630784 267085
ORADATA 5677056 5569450


在ORAARCH中发现了


ASMCMD> cd portaldb
ASMCMD> du
Used_MB Mirror_used_MB
376510 376510

ASMCMD> ls
2013_07_07/
2013_07_08/
2013_07_09/
2013_07_10/
2013_07_11/
2013_07_12/
2013_07_29/
2013_07_30/

.........


而且该目录下存放了前两个月的备份文件;

sys@PORTALDB> select distinct(bytes/1024/1024)MB from v$log; //查看文件日志大小;

MB
----------
500


sys@PORTALDB> select max (first_time) max_first_time,to_char (first_time, 'yyyy-mm-dd') day,count (recid)count_number, count (recid) * 200 size_mb from v$log_history group by to_char (first_time,'yyyy-mm-dd') order by 1; //查询获得系统归档日志的切换频率及大小
MAX_FIRST_TI DAY COUNT_NUMBER SIZE_MB
------------ ---------- ------------ ----------
08-OCT-13 2013-10-08 45 9000
09-OCT-13 2013-10-09 39 7800
10-OCT-13 2013-10-10 50 10000
11-OCT-13 2013-10-11 84 16800
12-OCT-13 2013-10-12 85 17000
13-OCT-13 2013-10-13 106 21200
14-OCT-13 2013-10-14 106 21200
15-OCT-13 2013-10-15 160 32000
16-OCT-13 2013-10-16 131 26200
17-OCT-13 2013-10-17 143 28600
18-OCT-13 2013-10-18 124 24800

11 rows selected.


看起来每天的归档都不一样,业务压力不平均;平均下来一天17G左右的归档日志;运行delete archivelog all;删除归档;只是删除了一小部分,还有许多的归档日志没有删除;网上一位oracle高手说”可能因为 控制文件中记录服用的原因导致 30天之前的archivelog 在 CONTROLFILE中已经没有记录了, 这导致 DELETE ARCHIVELOG ALL 无法删除之前的记录。”


这样的话也只有切到grid用户,通过asmcmd进入后直接删除不需要的归档目录

rm -fr 2013_07_*
删除7月份所有归档日志的目录,然后再进rman做crosscheck archivelog all;和delete expired archivelog all;



下面是有位叫兜兜网友给出了这么一个建议(非常感谢),同时共享出来给大家;

数据文件大小:105G
每天日志量:50G
归档备份目录:616G

假设一次全备:所需空间为150G 归档备份目录还有剩余516
采取保留一份备份集的策略,然后周一,周四进行全备并删除无用的归档

周一全备时:150G <=150G
周二:50G <=150G+50G
周三:50G <=200G+50G
周四全备时: <=150G+100G
周五:50G <=250G+50G
周六:50G <=300G+50G
周日:50G <=350G+50G
周一全备时: <=150G

这个估算不一定精确,你可以自己做实验!仅供参考
归档日志最高使用时估算为400G这种备份方案,恢复所需的时间可能会长一点,但是也是可取的,总比没有备份强!最后建议你最好做一个dataguard


参考资料:http://t.askmaclean.com/thread-563-1-1.html

你可能感兴趣的:(oracle,归档日志)