一次快速闪回区满导致数据库不能启动的解决过程

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 一、事件背景描述:一个测试系统的数据库由于磁盘空间满了,清理了磁盘空间的,等待很久系统没有相应,因此通过shutdown immediate命令重新启动数据库,但是数据库一直关闭不了,所以通过shutdown abort命令关闭数据库,然后启动数据库的时候报以下...
一、事件背景描述:一个测试系统的数据库由于磁盘空间满了,清理了磁盘空间的,等待很久系统没有相应,因此通过shutdown immediate命令重新启动数据库,但是数据库一直关闭不了,所以通过shutdown abort命令关闭数据库,然后启动数据库的时候报以下错误:ORA-38760: This database instance failed to turn on flashback database;

二、处理步骤:
1、针对报错初步认为是由于系统开了闪回,所以启动不了,因此关闭了数据库的闪回;命令:alter database flashback off;
重新启动数据库,发现问题依旧;
2、检查快速闪回区的使用情况,默认是3GB,重新配置成5GB后,重启数据库依然有问题;(后面查询日志,发现5GB的空间仍然不够, WARNING: db_recovery_file_dest_size of 5368709120 bytes is 100.00% used,如果设置的大写应该可以解决问题;)
3、删除快速闪回区的日志,并重新启动数据库,数据库依然报错;
4、经过检查数据库之前创建了闪回的还原点,删除了还原点后数据库可以打开;(原因:由于创建了还原点,所以即使关闭了快速闪回,数据库依然也要写闪回日志,因为需要保证创建的还原点能够被闪回,删除还原点后,闪回日志自动被删除;)

日志如下:Drop guaranteed restore point BCD
Stopping background process RVWR
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_904oxfxb_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_904oxhsr_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_9056qs4b_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_905bpoz6_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_9079prqj_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_907k1vdb_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_907kcvb5_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90b5h7x1_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90hg7smd_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90hlttpk_.flb

三、问题总结:
本次的系统宕机,有两个原因
1、由于磁盘空间满了,所以数据库不能写归档;
2、由于快速闪回去满了,所以数据库不能写闪回日志;
解决方法:
1、归档的问题:删除了磁盘上面的无效数据,保证能够写归档;
2、快速闪回去的问题:a)可以扩大快速闪回区的大小,必须足够大,本例中设置成5G依然不够;
                                       b)关闭快速闪回,并删除闪回创建的还原点;
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
SQL 缓存 Oracle
Oracle的学习心得和知识总结(一)|Oracle数据库闪回技术详解
Oracle的学习心得和知识总结(一)|Oracle数据库闪回技术详解
524 0
Oracle的学习心得和知识总结(一)|Oracle数据库闪回技术详解
|
Oracle 关系型数据库 数据库
关于PostgreSQL数据库兼容Oracle数据库闪回查询的实现方案
注:关于在PostgreSQL上面实现Oracle数据库的闪回功能(闪回查询 闪回表 闪回删除…)的这个想法已经有很长时间了,但是鉴于本人的能力 精力和身体条件 迟迟没有完成。期间也有很多的小伙伴跟我一起研究过这个功能,但是最终都因为各种各样的问题 没有做下去。Oracle数据库闪回功能跨越版本较大,功能也比较强大 在PostgreSQL数据库上实现,需要对数据库内核有很深入的理解 两大数据库不同的底层原理也终将影响各自的实现策略,PostgreSQL标记删除就地插入的特点和基于事务快照行可见性的特性是我们可以开发PostgreSQL闪回查询的大前提。本文主要介绍 实现闪回查询的 一种实现方案
330 0
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
数据库 内存技术 关系型数据库
|
26天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
34 1