oracle 归档日志与RECOVERY_FILE_DEST 视图
1. RECOVERY_FILE_DEST
视图的作用
RECOVERY_FILE_DEST
是 Oracle 数据库用于 管理快速恢复区(Fast Recovery Area, FRA) 的一个视图。FRA 是 Oracle 提供的一种集中存储恢复相关文件(如归档日志、备份文件、闪回日志等)的区域。
RECOVERY_FILE_DEST
视图的主要作用
- 显示快速恢复区的路径和状态:
- 快速恢复区的配置路径。
- 快速恢复区的总大小和当前使用情况。
- 监控 FRA 的使用情况:
- Oracle 会自动计算 FRA 的空间使用情况,帮助管理员判断是否需要清理空间或扩展 FRA。
- 归档日志的存储管理:
- 如果配置了 FRA,归档日志默认会存储在 FRA 中。
相关视图示例
可以通过以下查询查看 FRA 的配置和使用情况:
sql
SELECT SPACE_LIMIT, SPACE_USED, SPACE_RECLAIMABLE, NUMBER_OF_FILES
FROM V$RECOVERY_FILE_DEST;
SPACE_LIMIT
:快速恢复区的总大小(以字节为单位)。SPACE_USED
:当前已使用的空间大小。SPACE_RECLAIMABLE
:可以被回收的空间大小(如被标记为过期的备份或归档日志)。NUMBER_OF_FILES
:FRA 中的文件总数。
2. RECOVERY_FILE_DEST
与归档日志的关系
2.1 FRA 与归档日志
-
如果启用了快速恢复区(FRA),归档日志会默认存储在 FRA 中。
- FRA 的路径由参数
DB_RECOVERY_FILE_DEST
指定。 - FRA 的大小由参数
DB_RECOVERY_FILE_DEST_SIZE
限制。
- FRA 的路径由参数
-
Oracle 会自动管理 FRA 中的归档日志:
- 当 FRA 的空间使用接近
DB_RECOVERY_FILE_DEST_SIZE
时,Oracle 会尝试删除不再需要的文件(如过期的备份)以释放空间。 - 如果无法释放足够的空间,可能会导致归档进程(
ARCH
)挂起。
- 当 FRA 的空间使用接近
2.2 不使用 FRA 存储归档日志
- 如果没有配置 FRA,归档日志会存储在由参数
LOG_ARCHIVE_DEST_n
指定的路径中(n
是 1 到 31 的整数)。- 在这种情况下,FRA (
RECOVERY_FILE_DEST
) 不会影响归档日志的位置,V$RECOVERY_FILE_DEST
的相关值会显示为 0。
- 在这种情况下,FRA (
3. 配置和查询归档日志相关参数
除了 RECOVERY_FILE_DEST
,还有其他方式可以配置和查询归档日志的存储位置、大小和使用情况。
3.1 配置归档日志存储位置
3.1.1 使用 LOG_ARCHIVE_DEST_n
-
不启用 FRA 时,归档日志位置由
LOG_ARCHIVE_DEST_n
参数决定。 -
可以通过以下命令查看当前归档日志的存储位置:
sql
-
SHOW PARAMETER LOG_ARCHIVE_DEST;
-
如果需要修改归档日志的存储位置,可以通过以下命令配置:
sql
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/path/to/archive_logs';
说明:
LOG_ARCHIVE_DEST_n
支持多种格式,如LOCATION
(本地路径)或SERVICE
(远程路径)。- 例如:
sql
-
-
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='SERVICE=standby_db';
-
3.1.2 启用快速恢复区
-
如果启用了 FRA(通过配置
DB_RECOVERY_FILE_DEST
),归档日志默认会存储在 FRA 中。 -
配置 FRA 的命令:
sql
-
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/path/to/recovery_area'; ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G;
-
如果同时配置了 FRA 和
LOG_ARCHIVE_DEST_n
,优先级如下:- 如果
LOG_ARCHIVE_DEST_n
存在,则归档日志存储在指定路径。 - 如果未配置
LOG_ARCHIVE_DEST_n
,则归档日志存储在 FRA。
- 如果
3.2 查询归档模式和相关参数
-
检查数据库是否启用了归档模式
- 使用以下命令查看数据库是否处于归档模式:
sql
- 使用以下命令查看数据库是否处于归档模式:
ARCHIVE LOG LIST;
输出示例:
text
-
-
Database log mode Archive Mode Automatic archival Enabled Archive destination /path/to/archive_logs
-
-
查询归档日志的存储参数
-
查询所有归档相关参数:
sql
-
SHOW PARAMETER ARCHIVE;
输出示例:
text
-
-
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest string log_archive_dest_1 string LOCATION=/path/to/archive_logs log_archive_dest_state_1 string enable log_archive_format string %t_%s_%r.dbf log_archive_max_processes integer 4
-
-
查询归档日志的使用情况
- 查看归档日志的实际存储位置和大小:
sql
- 查看归档日志的实际存储位置和大小:
-
-
重要字段说明:SELECT * FROM V$ARCHIVED_LOG;
NAME
:归档日志的存储路径。BLOCKS
:归档日志的大小。COMPLETION_TIME
:归档日志的生成时间。
-
3.3 配置归档日志的大小限制
-
调整快速恢复区大小
- 如果 FRA 用于存储归档日志,可以通过以下命令调整 FRA 的大小:
sql
- 如果 FRA 用于存储归档日志,可以通过以下命令调整 FRA 的大小:
-
-
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=50G;
-
-
限制单个归档日志文件的大小
- Oracle 支持通过
LOG_ARCHIVE_MAXSIZE
限制单个归档日志文件的大小:sql
- Oracle 支持通过
-
-
ALTER SYSTEM SET LOG_ARCHIVE_MAXSIZE='1G';
-
-
调整归档进程并发数
- 通过
LOG_ARCHIVE_MAX_PROCESSES
参数调整归档进程的数量:sql
- 通过
-
-
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4;
-
4. 当前情况的分析
问题描述:在 Oracle RAC 数据库中,
V$RECOVERY_FILE_DEST
查询出来的归档日志总大小和使用大小为0
。
这种情况的可能原因如下:
-
未启用 FRA
- 如果未配置
DB_RECOVERY_FILE_DEST
,则快速恢复区未启用,V$RECOVERY_FILE_DEST
的值会显示为0
。 - 归档日志可能通过
LOG_ARCHIVE_DEST_n
存储在其他路径。
- 如果未配置
-
归档日志存储在非 FRA 的路径
- 通过
LOG_ARCHIVE_DEST_n
配置的路径存储了归档日志,而不是 FRA。
- 通过
-
归档模式未启用
- 如果数据库未处于归档模式,则不会生成归档日志,
V$RECOVERY_FILE_DEST
中的值为0
。
- 如果数据库未处于归档模式,则不会生成归档日志,
5. 排查和解决步骤
-
检查 FRA 是否启用
sql
SHOW PARAMETER DB_RECOVERY_FILE_DEST;
SHOW PARAMETER DB_RECOVERY_FILE_DEST_SIZE;
如果未启用 FRA,可以通过以下命令启用:
sql
-
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/path/to/fra'; ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=50G;
-
检查归档日志的存储路径
sql
SHOW PARAMETER LOG_ARCHIVE_DEST;
如果未配置 LOG_ARCHIVE_DEST_n
,可以通过以下命令设置:
sql
-
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/path/to/archive_logs';
-
检查归档模式
- 确认数据库是否处于归档模式:
sql
- 确认数据库是否处于归档模式:
-
ARCHIVE LOG LIST;
- 如果未启用归档模式,可以使用以下命令启用:
sql
-
-
SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
-
-
查询归档日志的存储和大小
- 查询归档日志的实际路径和大小:
sql
- 查询归档日志的实际路径和大小:
-
-
SELECT NAME, BLOCKS, COMPLETION_TIME FROM V$ARCHIVED_LOG;
-
总结
V$RECOVERY_FILE_DEST
是用于监控快速恢复区(FRA)的视图,只有启用了 FRA 且归档日志存储在 FRA 中,该视图才会显示非零值。- 如果未启用 FRA,可以通过
LOG_ARCHIVE_DEST_n
配置归档日志的存储路径。 - 归档日志的大小和存储路径可以通过
LOG_ARCHIVE_MAXSIZE
和LOG_ARCHIVE_DEST_n
参数进行调整和监控。 - 当前问题可能是 FRA 未启用或归档日志存储在非 FRA 的路径中,可根据排查步骤逐一确认并解决。
相关文章:
oracle 归档日志与RECOVERY_FILE_DEST 视图
1. RECOVERY_FILE_DEST 视图的作用 RECOVERY_FILE_DEST 是 Oracle 数据库用于 管理快速恢复区(Fast Recovery Area, FRA) 的一个视图。FRA 是 Oracle 提供的一种集中存储恢复相关文件(如归档日志、备份文件、闪回日志等)的区域。…...

黄柏基因组-小檗碱生物合成的趋同进化-文献精读142
Convergent evolution of berberine biosynthesis 小檗碱生物合成的趋同进化 摘要 小檗碱是一种有效的抗菌和抗糖尿病生物碱,主要从不同植物谱系中提取,特别是从小檗属(毛茛目,早期分支的真双子叶植物)和黄柏属&…...

前端杂货铺——TodoList
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...

Spring Boot SSE流式输出+AI消息持久化升级实践:从粗暴到优雅的跃迁
在 AI 应用落地过程中,我们常常需要将用户和 AI 的对话以“完整上下文”的形式持久化到数据库中。但当 AI 回复非常长,甚至接近上万字时,传统的单条消息保存机制就会出问题。 在本篇文章中,我将深入讲解一次实际项目中对 对话持久…...
camera功能真的那么难用吗
背景 Android开发工作过程中,经常需要用到camera相关能力,比如:人脸识别,ai识别,拍照预览,摄像头录制等等需求。都需要使用到camera,且需要拿到camera的预览数据。但是每次开发这块代码都比较繁…...

Model Context Protocol (MCP) 是一个前沿框架
微软发布了 Model Context Protocol (MCP) 课程:mcp-for-beginners。 Model Context Protocol (MCP) 是一个前沿框架,涵盖 C#、Java、JavaScript、TypeScript 和 Python 等主流编程语言,规范 AI 模型与客户端应用之间的交互。 MCP 课程结构 …...
SQL Server 日期时间类型全解析:从精确存储到灵活转换
SQL Server 日期时间类型全解析:从精确存储到灵活转换 一、引言:日期时间处理的核心挑战 在数据管理中,日期时间类型是最常用却最容易出错的数据类型之一。不同业务场景对时间精度、时区感知、存储效率的需求差异极大: 金融交易…...
Android Test3 获取的ANDROID_ID值不同
Android Test3 获取的ANDROID_ID值不同 这篇文章来说明上一篇文章中说到的一个现象:在同一个项目中,创建不同的 app module,运行同一段测试代码,获取到的 ANDROID_ID 的值不同。 我也是第一次认真研究这个现象,这个还…...
[蓝桥杯 2024 国 B] 立定跳远
问题描述 在运动会上,小明从数轴的原点开始向正方向立定跳远。项目设置了 n 个检查点 a1,a2,...,an且 ai≥ai−1>0。小明必须先后跳跃到每个检查点上且只能跳跃到检查点上。同时,小明可以自行再增加 m 个检查点让自己跳得更轻松。在运动会前…...

内容力重塑品牌增长:开源AI大模型驱动下的智能名片与S2B2C商城赋能抖音生态种草范式
摘要:内容力已成为抖音生态中品牌差异化竞争的核心能力,通过有价值、强共鸣的内容实现产品"种草"与转化闭环。本文基于"开源AI大模型AI智能名片S2B2C商城小程序源码"技术架构,提出"技术赋能内容"的新型种草范式…...

手机号在网状态查询接口如何用PHP实现调用?
一、什么是手机号在网状态查询接口 通过精准探测手机号的状态,帮助平台减少此类问题的发生,提供更个性化的服务或进行地域性营销 二、应用场景 1. 金融风控 通过运营商在网态查询接口,金融机构可以核验贷款申请人的手机状态,拦…...

【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
欢迎来到啾啾的博客🐱。 记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。 有很多很多不足的地方,欢迎评论交流,感谢您的阅读和评论😄。 目录 引言Redisson基本信息Redisson网站 Redisson应用…...

一个简单的德劳内三角剖分实现
德劳内(Delaunay)三角剖分是一种经典的将点集进行三角网格化预处理的手段,在NavMesh、随机地牢生成等场景下都有应用。 具体内容百度一大堆,就不介绍了。 比较知名的算法是Bowyer-Watson算法,也就是逐点插入法。 下雨闲…...
Python入门手册:异常处理
在编程过程中,异常处理是一个非常重要的环节。它可以帮助我们处理程序运行时可能出现的错误和异常情况,确保程序的稳定性和可靠性。Python提供了强大的异常处理机制,使得我们能够优雅地处理各种异常情况。今天,就让我们一起深入学…...

C#子线程更新主线程UI及委托回调使用示例
1.声明线程方法 2.线程中传入对象 3.声明委托与使用 声明委托对象 委托作为参数传入方法 4.在线程中传入委托 5.调用传入的委托...

使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中
使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中 什么是VuePress VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容(如文档、博客等),然后 VuePress 会帮助你生成一个…...

手写Promise.all
前言 之前在看远方os大佬直播的时候看到有让手写的Promise.all的问题,然后心血来潮自己准备手写一个 开始 首先,我们需要明确原本js提供的Promise.all的特性 Promise.all返回的是一个Promise如果传入的数据中有一个reject即整个all返回的就是reject&…...
调试器基本原理
调试器基本原理 前言 调试器(debugger),是一种用于控制其他程序执行流程、监控和修改其他程序状态的软件工具。 调试器通过实时分析程序的执行状态,协助开发者定位代码错误、了解程序工作原理、性能调优及逆向工程等。 1. 调试器核心功能 1.1 控制程…...

2025年6月|注意力机制|面向精度与推理速度提升的YOLOv8模型结构优化研究:融合ACmix的自研改进方案
版本: 8.3.143(Ultralytics YOLOv8框架) ACmix模块原理 在目标检测任务中,小目标(如裂缝、瑕疵、零件边缘等)由于其尺寸较小、纹理信息稀疏,通常更容易受到图像中复杂背景或噪声的干扰,从而导致漏检或误检…...
JAVA开发代码小工具集合
目录 前言编号生成工具EasyExcel 工具断言工具HTTP 工具字符串 工具验证码生成工具Excel 工具Class 工具Enum 工具分页工具断言工具2IP 地址工具Map 工具 前言 这些工具都是日常开发中能用到的,前后端都有,觉得好用就拿过来了… 编号生成工具 import j…...

利用qcustomplot绘制曲线图
本文详细介绍了qcustomplot绘制曲线图的流程,一段代码一段代码运行看效果。通过阅读本文,读者可以了解到每一项怎么用代码进行配置,进而实现自己想要的图表效果。(本文只针对曲线图) 1 最简单的图形(入门&…...

【基础算法】枚举(普通枚举、二进制枚举)
文章目录 一、普通枚举1. 铺地毯(1) 解题思路(2) 代码实现 2. 回文日期(1) 解题思路思路一:暴力枚举思路二:枚举年份思路三:枚举月日 (2) 代码实现 3. 扫雷(2) 解题思路(2) 代码实现 二、二进制枚举1. 子集(1) 解题思路(2) 代码实现 2. 费解的…...

智能对联网页小程序的仓颉之旅
#传统楹联遇上AI智能体:我的Cangjie Magic开发纪实 引言:一场跨越千年的数字对话 "云对雨,雪对风,晚照对晴空"。昨天晚上星空璀璨,当我用仓颉语言写下第一个智能对联网页小程序的Agent DSL代码时࿰…...
Go字符串切片操作详解:str1[:index]
在Go语言中,return str1[:index] 是一个字符串切片操作,它截取字符串的一部分。让我们深入解析这个操作的含义和原理: 基本语法和含义 str1:原始字符串[:index]:切片操作符str1[:index]: 起始…...
JavaScript 本地存储 (localStorage) 完全指南
文章目录 JavaScript 本地存储 (localStorage) 完全指南 🔐一、什么是 localStorage?💡二、如何使用 localStorage?🔧1. 存储数据2. 读取数据3. 删除数据4. 清空所有数据 三、存储对象和数组的技巧 🎨1. 存…...
从golang的sync.pool到linux的slab分配器
最近学习golang的时候,看到golang并发编程中有一个sync.pool,即对象池,猛地一看这不跟linux的slab分配器类似嘛,赶紧学习记录下 这里先总结下设计sync.pool和slab的目的 sync.pool 为了缓解特定类型的对象频繁创建和销毁&#x…...

Python分形几何可视化—— 复数迭代、L系统与生物分形模拟
Python分形几何可视化—— 复数迭代、L系统与生物分形模拟 本节将深入探索分形几何的奇妙世界,实现Mandelbrot集生成器和L系统分形树工具,并通过肺部血管分形案例展示分形在医学领域的应用。我们将使用Python的NumPy进行高效计算,结合Matplo…...

【超详细】英伟达Jetson Orin NX-YOLOv8配置与TensorRT测试
文章主要内容如下: 1、基础运行环境配置 2、Torch-GPU安装 3、ultralytics环境配置 4、Onnx及TensorRT导出详解 5、YOLOv8推理耗时分析 基础库版本:jetpack5.1.3, torch-gpu2.1.0, torchvision0.16.0, ultralytics8.3.146 设备的软件开发包基础信息 需…...

Go语言学习-->项目中引用第三方库方式
Go语言学习–>项目中引用第三方库方式 1 执行 go mod tidy 分析引入的依赖有没有正常放在go.mod里面 找到依赖的包会自动下载到本地 并添加在go.mod里面 执行结果: 2 执行go get XXXX(库的名字)...
Vue Fragment vs React Fragment
文章目录 前言🧩 一、概念对比:Vue Fragment vs React Fragment📦 二、使用示例对比✅ Vue 3 中使用 Fragment✅ React 中使用 Fragment 🔍 三、差异解析1. **使用方式**2. **传递属性(如 key)**3. **插槽系…...