问题描述:有一个数据库起不来了,根据层层排查,是因为归档设置在了闪回区,文件的大小已经超出了闪回区限制。最后直接给数据库拖挂

环境:windows server2012 , oracle 19c,单机

1.sqlplus 连接到空闲实例,发现数据库已经挂掉,直接startup 数据,只能到mount状态

2.hang住一会开始报错

ORA-16038: log 2 sequence# 1325 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: 'O:\ORACLE_DATA\SYNVNACDB\REDOo2.LOG'
ORA-00312: online log 2 thread 1: 'F:\FAST_RECOVERY_AREA\SYNVNACDB\REDOo2.LOG'

3. 日志组log 2 ,序列号为sequence #1325 号日志不能被归档,后面是有查到原因是因为归档在闪回区,这里无法被归档,前期我们还没有查到是这个原因,只能清理日志组,来处理当前不能被归档的日志

这个时候数据库是可以启动到mount状态的,在mount状态下操作

SQL> startup mount;

查看v$log日志视图
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 1327 YES INACTIVE
2 1325 NO CURRENT
3 1326 YES INACTIVE

可以知道,该组1是非当前状态,而且已经归档。

3、先清理没有被归档的日志,这里清理了有问题的log2,所幸清理完数据库可以open了
SQL>alter database clear unarchived logfile group 2;

如果不成功过,用CLEAR命令重建该日志文件
SQL>alter database clear logfile group 3;

4、打开数据库,重新备份数据库
SQL>alter database open;

5、重启数据库来验证是否存在问题
SQL>shutdown immediate
SQL>startup

4.重启完数据库可以正常起来了,但是在切换归档的时候又出现了报错,切换归档时一直卡着,到后台看alert日志发现了如下报错

ORA-19815: WARNING: db_recovery_file_dest_size of 73014444032 bytes is 100.00% used

发现其最终原因还是归档设置在了闪回区内,闪回区目前大小为70G,调整方法为可以在闪回区内删除一下旧的归档,或者在线扩大一下闪回区的大小,我们盘符的空间充足,两种方式同步进行

解决方式:

alter system set db_recovery_file_dest_size=100G scope=both;

手动删除了一些归档文件,去切换归档还是没有成功,应该是数据库内存还是认为空间不够。在线扩充闪回,扩充完成,归档就立马切换成功

5.全部做完一定要做一次数据库的全备,如果归档设置在闪回区内,一定要加强对闪回区的空间监控。

查看闪回区的使用情况

select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, number_of_files as "number" from v$flash_recovery_area_usage;  

ORA-19815: WARNING: db_recovery_file_dest_size闪回区爆满问题处理的更多相关文章

  1. oracle 闪回区故障

    之前为了验证rman,把数据库改为了归档备份,但闪回区却还是4G,结果自动备份在五一执行了,悲剧,幸好没出门.一顿乱搞,其实走了错误方向.思路: 提示untle free,将数据库闪回区先增加:alt ...

  2. Oracle 闪回区满解决的方法

    闪回区满: OS: rm -rf [archivelog  autobackup  backupset  controlfile  flashback  onlinelog] eg : archive ...

  3. ORACLE_11G归档空间满,由于数据库装完后使用的是默认空间是闪回区

    1.首先根据alert跟踪日志发现归档空间满,路径大致如下:cd $ORACLE_BASE/diag/rdbms/jsswgsjk/jsswgsjk1/tracetail -f alert_jsswg ...

  4. 闪回恢复区大小不够。报ORA-19809、ORA-19804

    问题: 闪回恢复区大小不够,rman默认备份路径报错.RMAN> backup database;Starting backup at 01-DEC-14using target databas ...

  5. 配置闪回恢复区开启归档,未配置清理归档脚本,数据库hang住

    问题现象,测试环境执行SQL hang住 enmo:/home/oracle/worksh dg.sh SQL*Plus: Release Production on Mon May :: Copyr ...

  6. 闪回flashback

    1.flashback query(使用UNDO)查询某个scn时该表的内容 SQL> select current_scn ; 已更新 行. ;        //查询之前scn时的值 ID ...

  7. Oracle 六闪回技术,flashback

    Flashback 技术基于Undo segment基于内容的, 因此,限制UNDO_RETENTON参数. 要使用flashback 特征,您必须启用自己主动撤销管理表空间. 在Oracle 11g ...

  8. Oracle 闪回

    Oracle 闪回特性(FLASHBACK DATABASE) 本文来源于:gerainly 的<Oracle 闪回特性(FLASHBACK DATABASE) > -========== ...

  9. Oracle 闪回特性(FLASHBACK DATABASE)

    --===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...

随机推荐

  1. 人生重开模拟器「GitHub 热点速览 v.21.36」

    作者:HelloGitHub-小鱼干 人生是不能重来的,但是 lifeRestart 能满足你的重开心愿.初始值不满意,你可以一直随机生成或者自动添加颜值.智力.运气值,倒是一种"重生&qu ...

  2. Python - 面向对象编程 - 三大特性之封装

    简单介绍封装 封装是面向对象编程的一大特点 封装可以被认为是一个保护屏障,防止该类的属性.方法和数据结构被外部随意访问 要访问该类的属性.私有方法.数据结构,必须由指定的方法控制访问 深入理解封装 在 ...

  3. Element MenuNav刷新后点击菜单保留选中状态

    正常情况刷新后选中菜单会失去选中的状态,需要把default-active 当前激活菜单的 index保存下来这样刷新后读取 methods方法中增加 getSess() { this.active ...

  4. Java单例-双重检查锁

    问题引入 Java中实现单例模式,一般性的做法是如下方式: class Singleton { private static Singleton INSTANCE = null; private Si ...

  5. go中如果想要实现别人写的接口,如何保证确实实现了那个接口而不是错过了什么?

    在类型的实现方法上定义通用代码指令 var _ 要实现的接口  = (receiver类型)(nil) 比如要定义一个web处理程序 type  handler_def struct{} var _ ...

  6. EXCEL中给包含某个字段的单元格所在行标注颜色

    条件格式->新建规则->使用公式确定要设置格式的单元格 公式: =COUNTIF($A1,"*字符串*") 注意:通配符的使用.

  7. 中心对称数 II

    中心对称数 II 1.题目描述 中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看). 找到所有长度为 n 的中心对称数. 示例 : 输入: n = 2 输出: [& ...

  8. POJ——3278 Catch That Cow(BFS队列)

    相比于POJ2251的三维BFS,这道题做法思路完全相同且过程更加简单,也不需要用结构体,check只要判断vis和左右边界的越界情况就OK. 记得清空队列,其他没什么好说的. #include< ...

  9. 让PHP能够调用C的函数-FFI扩展

    在大型公司中,一般会有很我编程语言的配合.比如说让 Java 来做微服务层,用 C++ 来进行底层运算,用 PHP 来做中间层,最后使用 JS 展现效果.这些语言间的配合大部分都是通过 RPC 来完成 ...

  10. php curl下载文件由于空格导致下载文件失败

    <?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($ ...