Chinaunix首页 | 论坛 | 博客
  • 博客访问: 238215
  • 博文数量: 23
  • 博客积分: 2262
  • 博客等级: 大尉
  • 技术积分: 872
  • 用 户 组: 普通用户
  • 注册时间: 2004-12-26 15:59
文章分类

全部博文(23)

文章存档

2009年(3)

2008年(20)

分类: Oracle

2008-12-15 23:19:31

今天查看数据库管理器出错日志oradim.log 发现如下报警信息:
ORA-16038: log 3 sequence# 472 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\CHEP\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      C:\oracle\product\10.2.0/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.转移或者删除闪回恢复区里的归档日志。

阅读(988) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~