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

简介: 一、事件背景描述:一个测试系统的数据库由于磁盘空间满了,清理了磁盘空间的,等待很久系统没有相应,因此通过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)关闭快速闪回,并删除闪回创建的还原点;
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Oracle 关系型数据库 数据库
数据库闪回失败怎么办?ORA-38757 修复全攻略
本文详解Oracle数据库恢复过程中常见的ORA-38757错误,分析其产生原因,并提供六步解决方案,帮助用户正确执行FLASHBACK操作,顺利完成数据库闪回。内容涵盖状态检查、关闭与挂载、闪回日志配置及关键操作命令,适合DBA和开发人员参考学习。
435 0
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
534 9
|
数据管理 分布式数据库 数据库
循序渐进丨MogDB 数据库v5.0之闪回DROP/TRUNCATE
MogDB v5.0中的闪回DROP/TRUNCATE功能为数据库管理提供了强大的数据恢复能力。通过撤销日志和版本控制机制,能够高效地恢复误操作导致的数据丢失。这一功能不仅提高了数据管理的灵活性和安全性,还简化了日常维护工作。希望本文能帮助读者深入理解和应用MogDB的闪回功能,提高数据库管理效率。
231 15
|
Oracle 关系型数据库 数据管理
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
496 0
|
SQL 缓存 Oracle
Oracle的学习心得和知识总结(一)|Oracle数据库闪回技术详解
Oracle的学习心得和知识总结(一)|Oracle数据库闪回技术详解
909 0
Oracle的学习心得和知识总结(一)|Oracle数据库闪回技术详解
|
Oracle 关系型数据库 数据库
关于PostgreSQL数据库兼容Oracle数据库闪回查询的实现方案
注:关于在PostgreSQL上面实现Oracle数据库的闪回功能(闪回查询 闪回表 闪回删除…)的这个想法已经有很长时间了,但是鉴于本人的能力 精力和身体条件 迟迟没有完成。期间也有很多的小伙伴跟我一起研究过这个功能,但是最终都因为各种各样的问题 没有做下去。Oracle数据库闪回功能跨越版本较大,功能也比较强大 在PostgreSQL数据库上实现,需要对数据库内核有很深入的理解 两大数据库不同的底层原理也终将影响各自的实现策略,PostgreSQL标记删除就地插入的特点和基于事务快照行可见性的特性是我们可以开发PostgreSQL闪回查询的大前提。本文主要介绍 实现闪回查询的 一种实现方案
489 0
|
SQL Oracle 关系型数据库
|
数据库 内存技术 关系型数据库

热门文章

最新文章