ora-16038:日志无法归档 ora-00312 ORA-19809: limit exceeded for recovery files ora-19804

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

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

本文转自杨海龙的博客博客51CTO博客,原文链接http://blog.51cto.com/7218743/1610391如需转载请自行联系原作者


IT达仁

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
4月前
|
SQL Oracle NoSQL
实时计算 Flink版操作报错合集之报错“找不到对应的归档日志文件”,怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4月前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
124 7
|
5月前
|
存储 SQL Oracle
关系型数据库Oracle归档日志备份
【7月更文挑战第19天】
76 5
|
6月前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
7月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之在读取Oracle归档日志时出现日志数量大幅增加的情况如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
116 1
|
7月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用合集之采集Oracle数据库时,归档日志大小暴增的原因是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
关系型数据库 MySQL 调度
实时计算 Flink版产品使用合集之归档日志定时清理导致任务失败如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用合集之Oracle归档日志一天就达到了15GB并导致数据库崩溃,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用合集之是否支持从库归档日志捕获数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

热门文章

最新文章