ORA-01089 ORA-19809 ORA-19815 超过了恢复文件的限制

ORA-01089 ORA-19809 ORA-19815

问题描述

执行rman归档日志检查失败:ORA-01089

RMAN> crosscheck archivelog all;
RMAN-00601> fatal error in recovery manager
RMAN-03004> 执行命令期间出现严重错误
ORA-01089: immediate shutdown or close in progress - no operations are permitted

问题分析

# 查看错误日志详情
$ oerr ora 1089
01089, 00000, "immediate shutdown or close in progress - no operations are permitted"
// *Cause:  The SHUTDOWN IMMEDIATE command was used to shut down
//         a running Oracle instance, or CLOSE IMMEDIATE was used to shut down
//         a pluggable database, so your operations have been
//         terminated.
// *Action: Wait for the instance to be restarted, or contact your DBA.

# 检查数据库错误日志,有如下错误:
$ oerr ora 19809
19809, 00000, "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.

$ oerr ora 19815
19815, 00000, "WARNING: %s of %s bytes is %s%% used, and has %s remaining bytes available."
// *Cause: DB_RECOVERY_FILE_DEST is running out of disk space.
// *Action: One of the following:
//          1. Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
//          2. Backup files to tertiary device using RMAN.
//          3. Consider changing RMAN retention policy.
//          4. Consider changing RMAN archived log deletion policy.
//          5. Delete files from recovery area using RMAN.

解决办法

一般出现此情况时,数据库实例可能已无法处于正常打开状态,即open模式,此时需要在mount模式下进行处理:

# 启动数据库到mount状态
$ sqlplus / as sysdba
$ startup mount;
# 检查快速恢复区大小,可以考虑手工增加:db_recovert_file_dest_size
$ show parameter recovery

# 检查rman配置
$ rman target /
# 检查配置参数
RMAN> show all;

# 修改冗余保留策略:如果保留冗余过多,可以适当调低如下参数:
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
# 设置归档日志别发保留策略
RMAN> configure archivelog deletion policy to backed up 1 times to device type disk;

# 检查控制文件和实际物理文件的差别,如果手工清理过归档日志,可能存在不一致的情况;
RMAN> crosscheck archivelog all;
# 执行delete,同步控制文件的信息和实际物理文件的信息:
RMAN> delete noprompt obsolete device type disk;
RMAN> delete noprompt expired backup device type disk;

# 尝试备份数据库,以下方式将数据库备份到默认的快速恢复区,如果备份文件过大,可能导致备份失败,报错:ORA-19809
RMAN> backup database;
# 尝试备份数据库到其他目录:
RMAN> backup database format '/data/backup/db_%d_%T_%U.bak';

# 此时,一般已可以正常打开数据库:
RMAN> alter database open;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值