设为首页 收藏本站
查看: 814|回复: 0

[经验分享] ora-16038:日志无法归档 ora-00312 ORA-19809: limit exceeded for recovery files ora-1980

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-2-2 08:38:54 | 显示全部楼层 |阅读模式
ORA-03113:通信通道的文件结尾 进程ID4781
查看alter.log
发现提示联机日志文件有问题
网上的方法看不是很懂,看到有很多错误
ora-16038:日志无法归档
ora-00312
ORA-19809: limit exceeded for recovery files
ora-19804:无法回收。。。磁盘空间
原来Oracle11g在默认情况下,归档日志是保存在闪存恢复区的,并且闪存恢复区的大小默认是2g,空间满了之后就没有办法再归档了。
启动数据库到mount状态,statup mount 更改recovery files空间大小,然后rman,删除过期的备份,指定备份策略,定期删除备份。
SQL> show parameter db_recovery_file_dest
NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      d:\app\qiao\flash_recovery
                                                  _area
db_recovery_file_dest_size          big integer 2G
  
解决办法,有3种:
1.加大闪存恢复区。
ALTER SYSTEM SET db_recovery_file_dest_size=50g scope=both;
2.归档路径设置到其它地方。
alter system set log_archive_dest = 其他路径
3.删除或转移归档日志。
打开RMAN
rman target /
RMAN>crosscheck archivelog all;  -- 运行这个命令可以把无效的expired的archivelog标出来。
RMAN>delete expired archivelog all;  -- 直接全部删除过期的归档日志。
RMAN>delete noprompt archivelog until time "sysdate -3";  --删除系统当前日期3天前的归档,不经过提示、直接删除。或(DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7')
指定retention的策略(RMAN 的备份保留策略),使得archivelog不至于这样增加
命令格式:
configure retention policy clear ---------------备份保留策略使用默认值
configure retention policy to none------------不采用任何备份保留策略
configure retention policy to recover window of integer days------------基于时间的备份保留策略,保留几天前的备份文件
configure retention policy to redundancy integer-------基于冗余备份的备份保留策略,对备份文件保留几个冗余备份
REPORT OBSOLETE命令查看当前处于废弃状态的备份文件
DELETE OBSOLET 命令可立刻删除备份保留策略 不需要的文件(废弃文件)。
RMAN>configure retention policy to recovery window of 7 days;  保留七天内的所有备份。
RMAN>configure retention policy to redundancy 3;                为每个数据文件保留3个冗余备份。
SQL>alter system db_recovery_file_dest_size=4G scope=both;
当然我们可以写一个简单的shell脚本,对归档日志进行管理
#!/bin/bash
#confirm oracle runing environment
. /home/oracle/.bash_profile
ps -ef |grep dbw0_$ORACLE_SID | grep -v grep >> /dev/null
if [ $? -eq 0 ];then
    rman target / log=/orabackup/delarch`date +%Y%m%d`.log  <<EOF
    crosscheck archivelog all;
    delete noprompt  expired archivelog all;
    backup as compressed backupset archivelog all format '/orabackup/cron-archlog_%U_%d_%T_%s_%p' delete input;
exit;
EOF
fi


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41794-1-1.html 上篇帖子: ORACLE RAC11G 更改IP地址 下篇帖子: ORA-30013: undo tablespace 'UNDOTBS1' is currently in use recovery files
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表