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
    评论
ORA-01547表示数据文件在备份或恢复期间发生了丢失或损坏。这个错误通常会导致数据库无法启动或无法访问特定的数据文件。要解决这个问题,需要找到数据文件的备份,并将其恢复到数据库中,以修复丢失或损坏的数据文件ORA-01152表示无法在数据库中找到要恢复的数据文件。这个错误通常发生在尝试恢复一个不存在的数据文件时。解决这个问题的方法是检查数据库的控制文件和日志文件,确保它们包含了正确的数据文件信息。如果需要,可以手动编辑控制文件中的数据文件列表,然后重新尝试恢复操作。 ORA-01110表示打开数据库时遇到了错误。这个错误通常发生在数据库启动过程中,可能与数据文件丢失、控制文件损坏或其他数据库文件问题有关。解决这个问题的方法是检查数据库的错误日志和跟踪文件,找到导致错误的原因,并按照相应的解决方案来修复该问题。这可能涉及到恢复备份的数据文件、修复损坏的控制文件或执行其他相关的数据库维护操作。 综上所述,ORA-01547、ORA-01152和ORA-01110都是与数据库文件相关的错误。要解决这些错误,需要找到原因,并采取适当的措施来修复或恢复相关的文件。这些错误可能会导致数据库无法启动或无法访问特定的数据文件,因此修复这些错误对于数据库的正常运行非常重要。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值