Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2308742
  • 博文数量: 310
  • 博客积分: 6853
  • 博客等级: 准将
  • 技术积分: 2833
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-04 16:41
文章分类

全部博文(310)

文章存档

2013年(17)

2012年(42)

2011年(76)

2010年(71)

2009年(99)

2007年(2)

2006年(1)

2005年(2)

分类: Oracle

2011-05-31 13:33:10

 

今天在BI开发过程中,有人反映无法登录,然后试了一下,发现的确在登录PL/SQL Developer时提示归档器失败。随即检查alert_orcl.log,发现错误信息为:ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00%,使用语句查询

SELECT substr(name, 1, 30) name, space_limit AS quota,space_used     AS used,space_reclaimable AS reclaimable,number_of_files   AS files FROM  v$recovery_file_dest ; 

使用率100%,所以认定是db_recovery_file_dest目录满了所致。使用show parameter db_recovery_file_dest命令查询到磁盘目录,将不用的archive导出,腾出磁盘空间。

再使用命令,将日志组清空:

alter database clear unarchived logfile group 1;

alter database clear unarchived logfile group 2;

alter database clear unarchived logfile group 3;

重启实例,检查连接,成功。

另外:可以使用rman来解决此问题,具体请参阅eygle的blog  

 后记:

第二天一早,又发现不可用,这次的错误信息是

Errors in file e:\oracle\product\10.2.0\admin\orcl\bdump\orcl_arc1_7296.trc:
ORA-16038: log 1 sequence# 674 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

数据库再一次挂起。

使用rman删除旧的过期的日志

c:\>rman

rman>connect target sys/oracle

rman>crosscheck archivelog all;

rman>delete noprompt expired copy;

..........

rman>

执行后,检查空间使用情况

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                   0                         0               0
ONLINELOG                     0                         0               0
ARCHIVELOG                 8.48                         0               4
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG              50.69                     50.36             153

已选择6行。

SQL>alter database open

可以看到空间使用率恢复正常。

还可以通过扩大flash区大小来暂时缓解,但这种方法应属于指标不治本。

alter system set db_recovery_file_dest_size=4G scope=both;

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