ORACLE flash_recovery_area满的解决办法

 

oracle启动报错

ORA-16014: log 3 sequence# 82 not archived, no available destinations
ORA-00312: online log 3 thread 1: '/db/oracle/oradata/gzl/redo03.log'

这是由于Flash Recovery Area空间不足导致数据库不能打开,解决办法如下

一、改变数据状态到mount,alter database mount

二、查看Flash Recovery Area空间的使用状态

SQL> show parameter db_recovery_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string            /db/oracle/flash_recovery_area
db_recovery_file_dest_size       big integer   2G
 
当我们将数据库的模式修改为归档模式的时候,如果没有指定归档目录,默认的归档文件就会放到Flash

Recovery Area的目录,但是这个目录是有大小限制的,如果超过了这个大小,就会导致2个问题,一是不

能完成归档,二是,在出现问题后,如果此时重启数据库,那么数据库就无法正常启动。


三、这个问题有3个解决办法,(1)扩大Flash Recovery Area的容量(2)删除不用的归档日志文件(3

)指定归档日志文件到其他目录

(1)扩大Flash Recovery Area容量治标不治本

SQL> alter system set db_recovery_file_dest_size=3G scope=both;      #增加容量

SQL> show parameter db_recovery_file                                                        

#查看是否增加

SQL> select * from v$flash_recovery_area_usage                                       #检查

Flash Recovery Area使用状况


(2)删除不用的归档日志文件
先到/db/oracle/flash_recovery_area目录下删除不用的归档文件

但是还要到数据库里删除一下,要不然数据库不认,再启动会报下面的错误

ORA-16038: log 3 sequence# 82 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: '/db/oracle/oradata/gzl/redo03.log'

进入RMAN

  rman

  RMAN> connect target /

  RMAN> crosscheck archivelog all;

  RMAN> delete expired archivelog all;

  RMAN>exit

然后再次启动数据库,问题解决

(3)指定归档日志文件到其他目录

推荐使用这个办法 alter system set

log_archive_dest_1='location=/db/oracle/oradata/archive_log'

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值