DBA之路-- 闪回恢复区FRA(Flash recovery area)与闪回特性(flashback)[待更新]
闪回恢复区FRA(Flash recovery area)与闪回特性(flashback)
1、闪回特性FB
用于快速简单恢复数据库中出现的认为误操作等逻辑错误
Flashback由undo表空间的撤销段内容为基础,受限于UNDO_RETENTON参数。要使用flashback 的特性,必须启用自动撤销管理表空间。
#启用数据FB特性
startup mount;
select name, current_scn, flashback_on from v$database;#查看fb情况
alter database flashback on;
alter system set db_flashback_retention_target=1440 scope=both; #设置数据
alter database open;
flash内部细分为 Flashback Database, Flashback Drop,Flashback Query和Flashback Table。但主要使用的是 Flashback Database
Flashback Database特性
Flashback Database 功能非常类似与RMAN的不完全恢复,无法达到FRA的完全恢复。启用后会包含一个rvwr进程,专门负责数据恢复,该进程后续也会向fra中写入flashback database log,这些日志无法与redo和归档相提并论,所以永远是不完全恢复。
#flashback datebase后闪回时间点前的操作全部无效,数据同样失效,且需要resetlogs重置scn#启用falshback database后oracle会在sga创建新区域作为闪回缓冲区,同时新增rvwr进程用于创建维护闪回日志文件。#启用falshback database,其实相当于启用fra过程。该功能默认关闭#1、设置DB_RECOVERY_FILE_DEST、DB_RECOVERY_FILE_DEST_SIZE
SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=20G SCOPE=BOTH sid='*';
SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/DBA/FB' SCOPE=BOTH sid='*';#使用falshback database则必须启用fra,开启归档日志。这两参数一个是存放位置一个是fra大小,fra会详细介绍。#fra的设置空间越大,则falshback database恢复能力越强
#关闭falshback database
SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='' #没有存放位置则不开启falshback
#FB闪回数据库的三种方式,属于不完全恢复#闪回属于库级闪回,如果有不想闪回的表空间可以进行处理alter tablespace users flashback off;#仅支持在mount状态下进行#步骤
#1、关闭数据库
#2、启动到mount状态
#3、闪回到执行时间,执行闪回
#4、altersetlog 重置scn,开启库#时间戳闪回--附带是实验flashback database to timestamp('2010-10-24 13:04:30','yyyy-mm-dd hh24:mi:ss');create table testflashback(id int,name varchar(20));commit;insert into testflashback values(20,'5000');commit;#可以多重复几次,后面记得跟commmitselect count(*) from testflashback;select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from v$version;#主要为获取函数执行结果,表不重要truncate table testflashback;commit; #截掉所有得表和数据#c版本切换到根容器,g版本sys用户alter database flashback on;shutdown immediatestartup mountflashback database to timestamp('2010-10-24 13:04:30','yyyy-mm-dd hh24:mi:ss');alter database open resetlogs;startup open#cdb的话需要将pdb启动起来,具体操作方式不太一样#回到原来得库select count(*) from testflashback;#可以看到跟原先的结果一致#scn闪回flashback database to scn 918987#获取当前scn,这个注意下就好。scn闪回不需要重置日志scn的resetlogs命令select current_scn from v$database;#时点闪回flashback database ro restore bef_damage;alter database open resetlogs;#时点闪回需要创建闪回点,必须要在执行时点闪回前执行create restore point bef_damage;
2、闪回恢复区FRA
FRA用于存储所有与恢复相关的文件,oracle使用FRA对本地连接的存储、oracle的OCFS群集文件系统、自动管理ASM特性。用于实现管理有助于全部磁盘空间分配,为所有与恢复相关文件提供集中存储位置
对于FRA来说空间尤为重要,如果没有分配足够得逻辑或者物理空间启动oracle时会发生空间警报,指出FRA当前空间有多大,对于FRA空间不足情况,oracle和fra都会触发空间清理作业
#FRA空间监控
#FRA常用图表--监控信息dba_outstanding_alert #空间报警被动查看#fra中添加和删除文件得事件记录。包含与fra使用空间得告警,但是有关空间得告警并不会实时展示#v$recovery_file_dest #FRA的空间大小、所使用的空间数量、可以回收多少空间,以及FRA中的文件数量。SPACE_RECLAIMABLE列,该列指示有可回收的空间#SPACE_RECLAIMABLE 列用于指示可以用于回收的空间#一般用于v$flash_recovery_Area_usage #FRA各个文件类型得详细信息(归档或重做日志、控制文件、闪回日志、备份、二次归档日志),空间百分比、文件数量、fra回收空间百分比。#如果存在超出已定义空间100%,一般情况下表面最近fra空间容量被修改过,oracle尚未回收空间容量
#FRA空间不足时处理方式#1、调大db_recovery_filr_dest_size参数,前提是有足够物理空间#2、调高系统物理空间,然后继续扩大上面得参数#3、FRA空间整体移动到另外得文件系统#4、使用rman backup recovery area命令,将fra内容移动到另外一个位置。 不推荐#5、FRA直接删除不需要物理备份片或者归档日志,然后使用rman crosscheck命令让rman重新检查所有备份集、备份片从逻辑上干掉存在。或者可以将这些文件移动到其他位置,然后执行crosscheck命令,后续如有需要可以再将文件移动回原位置,执行catlog使其在逻辑上重新生效采取5中方式需要停用保留时间参数#处理fra alert日志报警#警报的处理逻辑空间低于参数DB_RECOVERY_FILE_DEST_SIZE 15%生成警报空间低于DB_RECOVERY_FILE_DEST_SIZE 3% 生成严重警报完全填满,系统不可用,出发ora-19815,19809此时需要按照实际情况扩充空间或迁移整个FRA区域的存储位置
FRA闪回区为rman准备,用于简化管理所有的备份恢复工作。oracle中FRA属于一块可选磁盘位置,用于存储数据与恢复文件包含如下内容。启用闪回恢复区默认开启归档日志。
使用时默认使用多个位置
| 文件类型 | 说明 |
|---|---|
| 归档和重做日志 | 归档日志及redo日志组成员副本文件 |
| 控制文件 control file | 创建数据库fra同步创建的副本文件 |
| 控制文件备份 | RMAN对控制文件的自动备份放在FRA中 |
| 闪回日志 | FRA自己的日志文件 |
| rman数据文件副本 | 数据文件副本,与rman本地备份是两回事 |
| rman备份和其他相关文件 | rman不做修改缺省的存储位置 |
如果闪回恢复区是唯一的归档日志目标,那么FRA中的空间被用完时。数据库会被挂起。
#常见命令show parameter db_recovery_file_dest#闪回恢复区位置,缺省
#理论上每个数据库可以配置不同的闪回区,也可以多个共用一个,默认路径是FRA_HOME/db_name/file_type/datealter system set log_archive_dest_10='LOCATION=USE_DB_RECOVERY_FILE_DEST';alter system set log_archive_dest_1='LOCATION=/u03/database/archdir';#归档日志位置存在排他性,要么在fra处要么在本省的设置参数处log_archive_dest,但是可以设置归档日志log_archive_dest_10为缺省fra位置,然后其余参数设置为归档存储位置#必要参数讲解DB_RECOVERY_FILE_DEST#闪回区位置定义,该位置可以是文件系统或ASM卷#此参数为null,则缺省不启用FRA。#但flashback_database优先级高于FRA,falshback_database启用为null也无效 DB_RECOVERY_FILE_DEST_SIZE#闪回区尺寸,这是Oracle控制的文件空间限制,而与文件系统中的全部可用空间无关。该参数建议设置得不要太小,如果设置得太小后续保存备份文件或者日志时会因为空间不够而产生中断导致备份失败DB_FLASHBACK_RETENTION_TARGET#指定数据库可以闪回的时间范围,是闪回区内数据的保存周期#FRA文件日志、备份保留策略#FRA策略实际为RMAN策略。通过rman执行 rman configure retention policy进行设置#如果文件保留时长超过了DB_FLASHBACK_RETENTION_TARGET参数设置得时间,一旦产生空间压力马上删除(文件先关联了保留策略且没有被设置为永久)
#FRA空间监控
#FRA常用图表--监控信息dba_outstanding_alert #空间报警被动查看#fra中添加和删除文件得事件记录。包含与fra使用空间得告警,但是有关空间得告警并不会实时展示#v$recovery_file_dest #FRA的空间大小、所使用的空间数量、可以回收多少空间,以及FRA中的文件数量。SPACE_RECLAIMABLE列,该列指示有可回收的空间#SPACE_RECLAIMABLE 列用于指示可以用于回收的空间#一般用于v$flash_recovery_Area_usage #FRA各个文件类型得详细信息(归档或重做日志、控制文件、闪回日志、备份、二次归档日志),空间百分比、文件数量、fra回收空间百分比。#如果存在超出已定义空间100%,一般情况下表面最近fra空间容量被修改过,oracle尚未回收空间容量
相关文章:
DBA之路-- 闪回恢复区FRA(Flash recovery area)与闪回特性(flashback)[待更新]
闪回恢复区FRA(Flash recovery area)与闪回特性(flashback) 1、闪回特性FB 用于快速简单恢复数据库中出现的认为误操作等逻辑错误 Flashback由undo表空间的撤销段内容为基础,受限于UNDO_RETENTON参数。要使用flashb…...
chatgpt赋能python:Python3.6.5到Python3.7.5:升级指南
Python 3.6.5到Python 3.7.5:升级指南 Python是一种广泛使用的编程语言,拥有强大的库和框架,能够开发各种类型的应用程序。在Python的发行版中,版本更新是常见的过程,以提供更好的性能和新的功能。 本文将介绍如何将…...
Element UI DatePicker 日期选择器
该组件选择周的时候,默认显示‘xxxx年第x周’,但在需求要显示为‘xxxx年x月第x周(mm.dd - mm.dd)’或者‘本周(mm.dd - mm.dd)’,最终效果为 首先需要修改v-model默认展示日期,控件中默认展示为周二&#x…...
sw2urdf导出的urdf文件中的惯性参数(inertial)错误的问题
现象描述 有时候,当我们使用solidworks建好我们的模型,然后利用【sw2urdf】导出后,发现其中的惯性参数,似乎不正确,ixx、izz这些参数都是很接近0的: 资料查找 其实这个不是我们设置的问题,而…...
AICG - Stable Diffusion 学习思考踩坑实录(待续补充)
关于模型 如果模型中没有各种角度的脚和手,无论你再怎么费劲心思,AI 都画不出来,目前C 站也没有什么好脚的例子,正面脚背面脚,但是没有侧面脚,脚这块还是很欠缺,希望未来有大牛能训练出来美脚 …...
LiangGaRy-学习笔记-Day19
1、回顾知识 1.1、文件系统说明 xfs与ext4文件系统 CentOS7以上:默认的就是XFS文件系统 xfs 使用的就是restore、dump等工具 CentOS6默认的就是ext4文件系统 extundelete工具就是用于ext4系统 1.2、回顾Linux文件系统 Linux文件系统是由三个部分组成 inode文…...
智能指针(1)
智能指针(1) 概念内存泄漏指针指针概念RAII使用裸指针存在的问题 智能指针使用分类unique(唯一性智能指针)介绍智能指针的仿写代码理解删除器 概念 内存泄漏 内存泄漏:程序中已动态分配的堆内存由于某些原因而未释放…...
Steemit 会颠覆 Quora/知乎 甚至 Facebook 吗?
Steemit是基于区块链技术的社交媒体平台,其独特的激励机制吸引了众多用户。然而,是否能够真正颠覆Quora、知乎甚至Facebook这些已经成为社交巨头的平台,仍然存在着许多未知因素。本文将探讨Steemit的优势和挑战,以及其在社交领域中…...
002Mybatis初始化引入
引入依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId> </dependency> 自动检测工程中的DataSource创建并注册SqlSessionFactory实例创建并注册SqlSessionTemplate实例自…...
系统架构师之高内聚低耦合
一、概念: 标记耦合(Stamp Coupling)和数据耦合(Data Coupling)是软件设计中两种不同的耦合类型,它们之间的区别如下: 标记耦合:标记耦合是指模块之间通过参数传递标记或标识符来进…...
Netty核心源码剖析(二)
1.Netty接受请求过程源码剖析 1>.从之前的Netty启动过程源码剖析中,我们得知服务器最终注册了一个Accept事件等待客户端的连接.我们也知道,NioServerSocketChannel将自己注册到了bossGroup单例线程池(reactor线程)上,也就是EventLoop; 2>.先简单说下EventLoop的逻辑,Ev…...
「C/C++」C/C++ Lamada表达式
✨博客主页:何曾参静谧的博客 📌文章专栏:「C/C」C/C程序设计 相关术语 Lambda表达式:是C11引入的一种函数对象,可以方便地创建匿名函数。与传统的函数不同,Lambda表达式可以在定义时直接嵌入代码ÿ…...
bug(Tomcat):StandardContext.startInternal 由于之前的错误,Context[/day01]启动失败
引出 项目启动失败,一个困扰了一上午的bug 报错信息 org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 org.apache.catalina.core.StandardContext.startInternal 由于之前的错误…...
Java性能权威指南-总结6
Java性能权威指南-总结6 垃圾收集入门垃圾收集概述GC算法选择GC算法 垃圾收集入门 垃圾收集概述 GC算法 JVM提供了以下四种不同的垃圾收集算法: Serial垃圾收集器 Serial垃圾收集器是四种垃圾收集器中最简单的一种。如果应用运行在Client型虚拟机(Windows平台上的32位JVM或…...
群的定义及性质
群的定义 设 < G , ⋅ > \left<G,\cdot\right> ⟨G,⋅⟩为独异点,若 G G G中每个元素关于 ⋅ \cdot ⋅都是可逆的,则称 < G , ⋅ > \left<G,\cdot\right> ⟨G,⋅⟩为群 由于群中结合律成立,每个元素的逆元是唯一的 …...
mac电脑git clone项目时报错证书过期和权限被拒绝
mac电脑使用git clone命令克隆项目时,一开始一直提示证书过期 SSL certificate problem: certificate has expired 执行以下代码关掉验证后,解决了这个问题 找到git目录 Git\git-cmd输入命令跳转到bin目录,cd bin输入命令运行git.exe执行关…...
【AIGC】Photoshop AI Beta版本安装使用(永久免费)
AIGC 大爆发 Adobe近日宣布,Photoshop(测试版)应用程序发布了生成式AI绘图,这是世界上第一个创意和设计工作流程的副驾驶,为用户提供了一种神奇的新工作方式。生成式AI绘图由Adobe Firefly提供支持,Adobe的…...
01 云原生生态系统解读
云计算的技术革命 互联网时代的历程 云计算到底是什么 云计算历程 云平台的优缺点 优势 稳定性:云平台大量资源,分布式集群部署,保障服务永不宕机,几个9弹性扩展:按需索取,一键秒级开通需要的资源安全性&…...
Java——Java易错选择题复习(2)(计算机网络)
1. 下面关于源端口地址和目标端口地址的描述中,正确的是( ) A. 在TCP/UDP传输段中,源端口地址和目的端口地址是不能相同的 B. 在TCP/UDP传输段中,源端口地址和目的端口地址必须是相同的 C. 在TCP/UDP传输段中ÿ…...
【HTML5系列教程】
《HTML5系列教程》目录大纲: 介绍 内容包括HTML简介、服务器的概念、B/S、C/S软件架构、前端与后端的开发内容、HTML发展历程、浏览器内核介绍、Web标准、WebStorm工具的使用、WebStorm常用快捷键、HTML常用标签 如:文本标签(span)、排版标签(div/p/h…...
鸿蒙一气总论(七)
第七卷 圣哲观象古今百家思想归一卷首引天地已定,万物已明,文脉已传,人心已证。 天地有真机,万象有运化,世人肉眼观之,茫然不识。 于是古今圣贤、四方哲人,仰观天道、俯察人世, 各以…...
HTTP自适应流媒体技术解析:从HLS/DASH原理到实战部署
1. 流媒体技术演进:从“下载后播放”到“自适应缓冲”每天我们打开手机或电脑,点开一个视频,看到那个旋转的加载圈,心里总会咯噔一下。这个被称为“缓冲”的现象,早已成为数字生活的一部分。但你是否想过,为…...
3分钟极速获取百度网盘提取码:开源工具的终极使用指南
3分钟极速获取百度网盘提取码:开源工具的终极使用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗?每次看到那个小小的输入框,是不是感觉宝贵的…...
LeetCode 比特位计数题解
LeetCode 比特位计数题解 题目描述 给定一个非负整数 num,返回一个数组 answer,其中 answer[i] 表示 i 的二进制表示中 1 的个数。 示例: 输入:num 2输出:[0,1,1] 输入:num 5输出:[0,1,1…...
如何3步完成视频字幕提取:本地OCR工具的终极指南
如何3步完成视频字幕提取:本地OCR工具的终极指南 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提取…...
基于STM32HAL库的平衡小车设计(二)--CubeMX配置说明
项目开源链接 本项目资料完全开源。资料包获取方式: github : https://github.com/snqx-lqh/ProjectReleasePage gitee(国内镜像) :https://gitee.com/snqx-lqh/ProjectOpenSourceReleasePage。 项目属于 32 的编号 B005 ,在发…...
小型嵌入式系统开发流程与实践指南
1. 小型嵌入式系统开发流程概述在嵌入式系统开发领域,一个结构化的软件开发流程往往是项目成功的关键因素。与通用计算机软件开发不同,嵌入式系统通常具有资源受限、实时性要求高、硬件依赖性强等特点,这使得开发流程的设计需要特别考虑这些约…...
ai llm训练数据合成说明
一、推理服务 使用llamacpp做本地推理服务,使用gguf加gpu加速。 模型使用Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-GGUF llama-server.exe -m .\Qwen3.5-9B.Q4_K_M.gguf -ngl 99 -c 4096 --host 0.0.0.0 --port 8080 --parallel 4 -np …...
别再硬写QMenu的width和height了!Qt样式表实战:用盒模型思维搞定菜单尺寸
用CSS盒模型思维重构Qt菜单尺寸控制逻辑 在Qt开发中,QMenu的尺寸控制一直是让开发者头疼的问题。许多从Web前端转过来的开发者会习惯性地直接设置width和height属性,却发现这些设置在QMenu上完全不起作用。这背后其实涉及到Qt样式表(QSS)与CSS在渲染逻辑…...
别再傻傻分不清!从Arduino到树莓派,一文搞懂舵机、步进、直流无刷和永磁同步电机的选型与控制
从Arduino到树莓派:四大电机选型实战指南 刚接触机器人制作时,面对琳琅满目的电机型号和参数,我曾在机械臂项目里错误选用了普通舵机导致精度不足,也因步进电机驱动配置不当烧毁过三个驱动器。这些教训让我意识到——电机选型不是…...
