客户数据库宕掉了,连接过去一看可以正常到mount状态,然后alter database open,观察日志里面提示:ORA-19809: limit exceeded
客户数据库宕掉了,连接过去一看
可以正常到mount状态,然后alter database open,观察日志里面提示:
ora-19809: limit exceeded for recovery files
cause: the limit for recovery files specified by the db_recovery_file_dest_size was exceeded.
查询官方对错误的处理方式如下:
ora-19809: limit exceeded for recovery files
cause:the limit for recovery files specified by the db_recovery_file_dest_size was exceeded.
action:there are five possible solutions:
1) take frequent backup of recovery area using rman.
2) consider changing rman retention policy.
3) consider changing rman archived log deletion policy.
4) add disk space and increase db_recovery_file_dest_size.
5) delete files from recovery area using rman.
于是做如下操作:
crosscheck archivelog all;
直接删除7天之前的归档日志,腾出空间来
delete noprompt archivelog until time 'sysdate - 7';
现在sqlplus / as sysdba过去,正常启动数据库
sql> select status from v$instance;
status
------------
mounted
sql> alter database open;
SQL> select status from v$instance;
STATUS
------------
OPEN
后续处理,防止该问题频繁发生:
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
SQL> alter system set db_recovery_file_dest_size=10G scope=both;
SQL> alter system set log_archive_dest_1='location=/opt/oracle/oradata/archive_log' scope=both;
现在切换日志alter system archive log current;可以通过select name from v$archived_log;查看,看归档已经到了新路径,也可去select name from v$archived_log;下检查。
分析:导致该问题主要由于归档日志在快速恢复区下,当快速恢复区被充满的时候,则无法进行归档,所以导致数据库宕机,处理方式即
(1)改变rman的策略,从而进行定期清理归档日志。
(2)修改归档路径,从而不受快速恢复区的影响
(3)修改db_recovery_file_dest_size大小
推荐阅读:
ORA-01172、ORA-01151错误处理
ORA-00600 [2662]错误解决
ORA-01078 和 LRM-00109 报错解决方法
ORA-00471 处理方法笔记
ORA-00314,redolog 损坏,,或丢失处理方法
ORA-00257 归档日志过大导致无法存储的解决办法

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号