Flash Recovery Area 空间不足导致数据库不能打开 hang

2024-05-29 21:58

本文主要是介绍Flash Recovery Area 空间不足导致数据库不能打开 hang,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转 Flash Recovery Area空间不足导致数据库不能打开或

hang住https://blog.csdn.net/tianlesoftware/article/details/4668991ORA-16014错误解决办法


1.问题以及解决过程

SQL> select status from v$instance;--STATUS----------------MOUNTED
SQL> alter database open;--alter database open--*--第 1 行出现错误:--ORA-16014: 日志 2 的序列号 27 未归档, 没有可用的目的地--ORA-00312: 联机日志 2 线程 1:--'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG'
SQL> show parameter db_recovery_file--NAME                                 TYPE        VALUE-------------------------------------- ----------- --------------------------------db_recovery_file_dest                string      D:/oracle/product/10.2.0/flash_recovery_area--db_recovery_file_dest_size        big integer    2G
SQL> alter system archive log current;--alter system archive log current--*--第 1 行出现错误:--ORA-01109: 数据库未打开
SQL> alter system switch logfile;--alter system switch logfile--*--第 1 行出现错误:--ORA-01109: 数据库未打开
SQL> shutdown immediate;--ORA-01109: 数据库未打开--已经卸载数据库。--ORACLE 例程已经关闭。
SQL> startup--ORACLE 例程已经启动。--Total System Global Area  201326592 bytes--Fixed Size                  1248092 bytes--Variable Size              88081572 bytes--Database Buffers          109051904 bytes--Redo Buffers                2945024 bytes--数据库装载完毕。--ORA-16038: 日志 2 序列号 27 无法归档--ORA-19809: 超出了恢复文件数的限制--ORA-00312: 联机日志 2 线程 1:--'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG'
SQL> alter database open;--alter database open--*--第 1 行出现错误:--ORA-16014: 日志 2 的序列号 27 未归档, 没有可用的目的地--ORA-00312: 联机日志 2 线程 1:--'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG'
SQL> show parameter db_recovery--NAME                                 TYPE        VALUE-------------------------------------- ----------- --------------------------------db_recovery_file_dest                string      D:/oracle/product/10.2.0/flash_recovery_area--db_recovery_file_dest_size           big integer 2G
SQL> alter system set db_recovery_file_dest_size=3G scope=both;
SQL> alter database open;


2.反思:
(1).检查flash recovery area的使用情况:

SQL> select * from v$flash_recovery_area_usage;--FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES-------------- ------------------ ------------------------- -----------------CONTROLFILE                   0                         0               0--ONLINELOG                     0                         0               0--ARCHIVELOG                 6.36                         0               4--BACKUPPIECE                 .22                         0               1--IMAGECOPY                 63.68                         0               5--FLASHBACKLOG                .51                       .25               2--已选择6行。


(2).计算flash recovery area已经占用的空间:
SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
SUM(PERCENT_SPACE_USED)*3/100
-----------------------------
                       2.1231
可以看到,这里已经有2.1231G使用了,这说明我们刚开始设置的db_recovery_file_dest_size=2G不足,导致online redo log无法归档,在这里,我们通过设置db_recovery_file_dest_size参数,增大了flash recovery area来解决这个问题。 

注意:这里的*3 是db_recovery_file_dest_size的大小,要根据自己的参数进行调整!

(3).也可以通过删除flash recovery area中不必要的备份来释放flash recovery area空间来解决这个问题:
      (1). delete obsolete;
      (2). crosscheck backupset;
             delete expired backupset;

这篇关于Flash Recovery Area 空间不足导致数据库不能打开 hang的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1014740

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间