ITPub博客

首页 > Linux操作系统 > Linux操作系统 > flashback_area 区域溢出导致数据库宕机

flashback_area 区域溢出导致数据库宕机

原创 Linux操作系统 作者:wuweilong 时间:2012-02-07 09:26:31 0 删除 编辑
问题:
ORA-00257      
ORA-16014 log 1 sequence# 1085 not archived, no available destinations
ORA-00312 online log 1 thread 1 'usrapporacleoradatawanyanredo01.log'
     
原因:
      归档日志闪回恢复区的2G都被写满了.
检查步骤:
SQL>shutdown immediate
SQL>startup
ORA-00257      
ORA-16014 log 1 sequence# 1085 not archived, no available destinations
ORA-00312 online log 1 thread 1 'usrapporacleoradatawanyanredo01.log'
SQL> alter database open;
ERROR at line 1:
ORA-16014: log 1 sequence# 92 not archived, no available destinations
ORA-00312: online log 1 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
SQL> select * from v$log
;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
         1          1         93   52428800          1 NO  INACTIVE               4345718 04-FEB-09
         3          1         94   52428800          1 NO  INACTIVE               4347356 04-FEB-09
         2          1         95   52428800          1 NO  CURRENT                4368182 04-FEB-09
从以上信息猜测,由于GROUP1无法归档引起,检查归档空间
 
SQL> show parameter db_recovery_file_dest_size
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size           big integer 3G

解决问题步骤
第一种方法、删除recovery 文件
通过检查实际的归档文件夹后发现,实际使用的归档空间的远远小于3G,猜测可能由于手工删除归档日志所致。
采用以下方法解决:

当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行。
所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常。
1.Crosscheck日志
$ rman target /
Recovery Manager: Release 9.2.0.4.0 - 64bit Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: AVATAR2 (DBID=2480694409)
RMAN> crosscheck archivelog all;
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=25 devtype=DISK
validation failed for archived log
.........................................
2.使用delete expired archivelog all 命令删除所有过期归档日志:

RMAN> delete expired archivelog all;

RCL\ARCHIVELOG\2009_02_04\O1_MF_1_86_4RL2RJWB_.ARC
81      1    87      X 04-2月 -09 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\O
RCL\ARCHIVELOG\2009_02_04\O1_MF_1_87_4RL2RYGN_.ARC
82      1    88      X 04-2月 -09 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\O
RCL\ARCHIVELOG\2009_02_04\O1_MF_1_88_4RL2SGFO_.ARC
83      1    89      X 04-2月 -09 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\O
RCL\ARCHIVELOG\2009_02_04\O1_MF_1_89_4RL2SY0H_.ARC
84      1    90      X 04-2月 -09 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\O
RCL\ARCHIVELOG\2009_02_04\O1_MF_1_90_4RL2TOB8_.ARC
85      1    91      X 04-2月 -09 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\O
RCL\ARCHIVELOG\2009_02_04\O1_MF_1_91_4RL2VHC7_.ARC
SQL> alter database open;
 
Database altered.
 

第二种方法:修改默认参数文件,让数据库允许存放过大的recovery文件
据数据库目前可用存储空间为200GB、FLASH_RECOVERY_AREA空间为2GB的实际情况,把FLASH_RECOVERY_AREA的空间修改为20GB。
alter system set DB_RECOVERY_FILE_DEST_SIZE=20g;

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

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2010-01-08

  • 博文量
    251
  • 访问量
    1987341