ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-19809: limit exceeded for recovery files

ORA-19809: limit exceeded for recovery files

原创 Linux操作系统 作者:longqidong 时间:2012-04-01 09:37:30 0 删除 编辑
昨天通过imp导入大数据量到oracle中,中途停止到某一个表不往下走了,当时也没来得及看日志,直接kiil掉进程终止了导入,然后连接用户,报错。我重启数据库,报错了:ORA-16038: log 3 sequence# 472 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: '/app/oracle/oradata/orcl/REDO03.LOG'

查了一下错误信息
ORA-19809: limit exceeded for recovery files 
Cause: The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_SIZE was exceeded. 
Action: The error is accompanied by 19804. See message 19804 for further details.

ORA-19804: cannot reclaim string bytes disk space from string limit 
Cause: Oracle cannot reclaim disk space of specified bytes from the DB_RECOVERY_FILE_DEST_SIZE limit. 
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 archivelog deletion policy.
4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE. 
5) Delete files from recovery area using RMAN.

oracle10g在默认情况下,归档日志是保存在闪回恢复区的,如果你建库的时候用的默认设置,
闪回恢复区应该是2G,空间被占满了以后就无法再归档了
你可以用下面的命令查看其大小和存储位置
SQL> show parameter db_recovery_file_dest;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /app/oracle/flash_recovery_area
db_recovery_file_dest_size           big integer 2G


解决方法:
1.增大闪回恢复区。
ALTER SYSTEM SET db_recovery_file_dest_size=4g scope=both;

2.将归档设置到其他目录,修改alter system set log_archive_dest = 其他路径
可事先用show parameter log_archive_dest查看

3.转移或者删除闪回恢复区里的归档日志。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22418990/viewspace-720110/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-26

  • 博文量
    94
  • 访问量
    426008