当前位置: 首页 > news >正文

oracle闪回恢复数据:(闪回查询,闪回表,闪回库,回收站恢复)

oracle的闪回查询,可以查询提交在表空间的闪回数据,并可以还原所查询的数据,用于恢复短时间内的delele 或者 update 误操作,非常方便,缺点是只能恢复大概几小时内的数据。

文章目录

  • 概要
  • 闪回查询恢复数据的主要方法包括:
    • 基于时间的闪回查询‌:
      • 1、基于时间区间来恢复:恢复前5分钟数据,前20分钟数据等
      • 2、基于具体的时间来恢复:20250107 17:15:43 、20250106 17:15:43
    • 基于scn闪回查询恢复数据
    • 闪回表
    • 闪回数据库‌:
    • ‌利用“回收站”恢复被DROP的表‌:


概要

1、闪回查询通常只能恢复几小时内的数据,因为Undo表空间的大小和保留策略限制了旧数据版本的保留时间‌。
2、在进行闪回操作之前,建议备份当前数据库或相关数据,以防止意外情况导致数据丢失。
3、闪回功能不依赖于日志,可以在线恢复,无需关闭数据库,操作简单且恢复速度快‌1

闪回查询恢复数据的主要方法包括:

基于时间的闪回查询‌:

使用SELECT * FROM 表名 AS OF TIMESTAMP(时间点)语句,可以查询并恢复在指定时间点之前的数据状态‌。

例如,要查询10分钟前的数据,可以使用SELECT * FROM 表名 AS OF TIMESTAMP(SYSDATE-10/1440)‌。

1、基于时间区间来恢复:恢复前5分钟数据,前20分钟数据等

未更新前:4
在这里插入图片描述

delete update insert更新后:2

在这里插入图片描述

根据更新后的时间来确定数据要恢复的时间,比如恢复5分钟前的数据、20分钟前的等等时间段;

查询3分钟前的数据:
语法:

SELECT * FROM 表名 AS OF TIMESTAMP(SYSDATE-3/1440);

SELECT * FROM test1 AS OF TIMESTAMP(SYSDATE-10/1440)‌
此时查询到的数据为更新发生后,前3分钟的数据,相当于原来的数据,未改变的数据。
实际工作中可以根据具体时间来恢复,此时数据已经查到了原来的旧数据,创建新表拷贝闪回查询的数据:

闪回查询前10分钟的数据并拷贝到新表test_old中:

SQL> create table test_old as select * from test1 as of timestamp(sysdate-10/1440);表已创建。SQL> select * from test_old;NO NAME
---------- ----------1 aa2 bb3 cc4 dd

闪回查询的数据已经拷贝到新表test_old中,然后将原来的表test1表删除,将test_old表名修改未test1,整个闪回查询恢复数据流程到此恢复完成结束。

2、基于具体的时间来恢复:20250107 17:15:43 、20250106 17:15:43

未更新前数据:
在这里插入图片描述

未更新前数据库系统时间:
在这里插入图片描述

此时的时间为表未发生任何变化的系统时间节点,后期根据这个时间节点来恢复数据,
更新表数据:delete update insert

delete test_old where no='2'--删除表中数据

表中操作已经完成,查询更新后的系统时间:

在这里插入图片描述

select to_char(sysdate,'yyyymmdd hh24:mi:ss') from dual  -- 更新表后的时间20250107 17:17:33

当表中完成更新,得知更新前的系统时间和更新后的系统,就可以根据具体时间来恢复数据:
比如恢复到更新数据前系统的具体时间,上面第一次获取的时间:

select * from test_old as of timestamp to_date('20250107 17:59:28','yyyymmdd hh24:mi:ss')   --恢复具体时间的数据

在这里插入图片描述

此时可以看到更新后,根据未更新前的系统时间来恢复了被更新的数据,创建新表拷贝恢复的数据,更新为原来的表,整个恢复流程完成,后期频繁的去更新只要知道具体的时间一定时间内都能正常恢复到为操作前的状态。


更新中:…

基于scn闪回查询恢复数据

1、获取未操作前的scn值:

select  dbms_flashback.get_system_change_number from dual  --获取当前的scn 27511490  

在这里插入图片描述
此时scn值未任何操作时候的scn。
2、对表进行delete update insert(更新);

在这里插入图片描述
delete test_old where no=5;
在这里插入图片描述
更新成功,
3.获取更新后的 scn:

在这里插入图片描述
此时更新操作前和操作后的值都获取到了,可以更新scn数值区间进行闪回查询:27511490- 27512132,
4、根据scn闪回查询:

语法: select * from test_old as of scn 数值;
select * from test_old as of scn 27511490–根据scn的区间来一步一进行闪回查询 27511490- 27512132,之间取值

在这里插入图片描述
此时根据更新前的scn闪回查询返回到了,未操作前的状态,然后新建立表拷贝闪回查询的数据进行恢复即可:

create table test2_old as select * from test_old as of scn 27511490;
在这里插入图片描述
此时将scn闪回查询的数据已经恢复到新表中,可以对新表对象进行任何操作。

注意:
1、如果只有操作后的scn可以根据scn数据值大小一个一个去测试,知道闪回查询
2、如果有操作前后区间的scn值,可以根据区间去一一测试,直到闪回查询

···**闪回查询只要查看过去具体时间点的数据变化**···


闪回表

如果表结构没有发生改变,并且用户有flash any table权限,可以使用ALTER TABLE 表名 ENABLE ROW MOVEMENT和FLASHBACK TABLE 表名 TO TIMESTAMP(时间点)语句来将整个表闪回到指定的时间点‌45。

闪回数据库‌:

闪回数据库功能允许将整个数据库回滚到过去某个时间点,但这通常用于更严重的灾难恢复场景,并且需要配置恢复区(Flash Recovery Area)‌2。

‌利用“回收站”恢复被DROP的表‌:

当使用DROP命令删除表时,Oracle并不会立即清空表所占用的空间,而是将表的信息放到一个虚拟的“回收站”中。在块未被重新使用之前,可以通过查询user_tables视图或user_recyclebin来找到被删除的表,并进行恢复‌

相关文章:

oracle闪回恢复数据:(闪回查询,闪回表,闪回库,回收站恢复)

oracle的闪回查询,可以查询提交在表空间的闪回数据,并可以还原所查询的数据,用于恢复短时间内的delele 或者 update 误操作,非常方便,缺点是只能恢复大概几小时内的数据。 文章目录 概要闪回查询恢复数据的主要方法包括…...

C语言——结构体,位段,枚举和联合

目录 前言 结构体 1含义 2语法 3匿名结构体 4结构体自引用 5结构体的定义与初始化 6内存对齐 7修改对齐数 8结构体传参 位段 1含义 2位段的内存分配 ​编辑3位段的问题 4位段的应用 枚举 1含义 2定义 3枚举优点 4枚举使用 联合 1含义 2定义 3特点 4计…...

期末概率论总结提纲(仅适用于本校,看文中说明)

文章目录 说明A选择题1.硬币2.两个事件的关系 与或非3.概率和为14.概率密度 均匀分布5.联合分布率求未知参数6.联合分布率求未知参数7.什么是统计量(记忆即可)8.矩估计量9.117页12题10.显著水平阿尔法(背公式就完了) 判断题11.事件…...

Python视频处理:噪声矩阵与并行计算的完美融合

噪声级别对视频质量有显著的影响,主要体现在以下几个方面: 1. 视觉质量 低噪声级别:当噪声级别较低时,视频的视觉质量较好。噪声对图像细节的干扰较小,画面看起来较为清晰和自然。观众可以更容易地识别图像中的细节和…...

如何使用SparkSql

一、SparkSql的前世今生 Hive->Shark->Spark SQL 二、SparkSql依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.1.2</version> </dependency> 三、…...

YOLOv8实战人员跌倒检测

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对人员跌倒目标数据集进行训练和优化&#xff0c;该数据集包含丰富人员跌倒图像样…...

QT-TCP-server

为了实现高性能的TCP通讯&#xff0c;以下是一个基于Qt的示例&#xff0c;展示如何利用多个线程、非阻塞I/O、数据分块和自定义协议进行优化。该示例以TCP服务器和客户端的形式展示&#xff0c;能够承受高负载并实现快速数据传输。 高性能TCP Server示例 #include <QTcpSe…...

【STM32+QT项目】基于STM32与QT的智慧粮仓环境监测与管理系统设计(完整工程资料源码)

视频演示: 基于STM32与QT的智慧粮仓环境监测与管理系统设计 目录: 目录 视频演示: 目录: 前言:...

robot 仿真环境安装测试 [持续更新]

将持续更新各种robot simulation环境的安装过程. RLBench 安装CoppeliaSim、PyRep、RLBench git: https://github.com/stepjam/RLBench/tree/master (1)CoppeliaSim sudo gedit ~/.bashrc设置环境变量 export COPPELIASIM_ROOT=${HOME}/CoppeliaSim export LD_LIBRARY_…...

【FlutterDart】 拖动边界线改变列宽类似 vscode 那种拖动改变编辑框窗口大小(11 /100)

【Flutter&Dart】 拖动改变 widget 的窗口尺寸大小GestureDetector&#xff5e;简单实现&#xff08;10 /100&#xff09; 【Flutter&Dart】 拖动边界线改变列宽并且有边界高亮和鼠标效果&#xff08;12 /100&#xff09; 上效果&#xff1a; 这个在知乎里找到的效果&…...

R语言的循环实现

以R语言的循环实现 引言 R语言作为一种强大的统计分析和数据可视化工具&#xff0c;广泛应用于数据科学、统计学和机器学习等领域。在R语言中&#xff0c;循环是一个基本的控制结构&#xff0c;用于重复执行一段代码。循环不仅可以提高代码的可读性&#xff0c;还可以方便地处…...

Web应用安全-漏洞扫描器设计与实现

摘 要 随着Web2.0、社交网络、微博等一系列新型的互联网产品的诞生&#xff0c;基于Web环境的互联网应用越来越广泛&#xff0c;企业信息化的过程中各种应用都架设在Web平台上。Web应用的迅速发展也引起黑客们的强烈关注&#xff0c;接踵而至的就是Web安全威胁的凸显&#xff…...

视频生成Sora的全面解析:从AI绘画、ViT到ViViT、TECO、DiT、VDT、NaViT等

前言 真没想到&#xff0c;距离视频生成上一轮的集中爆发(详见《Sora之前的视频生成发展史&#xff1a;从Gen2、Emu Video到PixelDance、SVD、Pika 1.0》)才过去三个月&#xff0c;没想OpenAI一出手&#xff0c;该领域又直接变天了 自打2.16日OpenAI发布sora以来(其开发团队包…...

【已解决】如何让容器内的应用程序使用代理?

首先&#xff0c;按照这种配置方法&#xff0c;即通过在 /etc/systemd/system/docker.service.d/http-proxy.conf 中设置代理&#xff0c;它只会影响 Docker 守护进程本身&#xff0c;并不会自动影响 Docker 容器内部的软件或容器中的网络行为。 这意味着&#xff1a; Docker …...

DC/AC并网逆变器模型与仿真MATLAB

DC/AC并网逆变器是一种将直流电&#xff08;DC&#xff09;转化为交流电&#xff08;AC&#xff09;&#xff0c;并将其与电网并联的设备。它的核心功能是实现直流电源&#xff08;如光伏电池板或储能电池&#xff09;与电网的有效连接&#xff0c;同时保证输出电能质量满足电网…...

P10424 [蓝桥杯 2024 省 B] 好数

题目描述 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位……&#xff09;上的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位……&#xff09;上的数字是偶数&#xff0c;我们就称之为“好数”。 给定一个正整数 N&#xf…...

【Word_笔记】Word的修订模式内容改为颜色标记

需求如下:请把修改后的部分直接在原文标出来,不要采用修订模式 步骤1:打开需要转换的word后,同时按住alt和F11 进入(Microsoft Visual Basic for Appliations) 步骤2:插入 ---- 模块 步骤3:输入以下代码,点击运行 Sub HighlightInsertedText() Dim r As Revision…...

oracle位运算、左移右移、标签算法等

文章目录 位运算基础与或非同或同或应用场景 异或异或应用场景 什么是真值表 oracle基础函数创建bitor(按位或)函数bitnot(按位非)函数bitxor(按位异或)函数左移函数BITSHIFT()函数(实测不可用&#xff0c;废弃掉该方案)右移函数(略&#xff0c;有此场景吗?) 实际应用资质字典…...

spring boot学习第二十三篇:Spring Boot集成RocketMQ

前置条件先安装好RocketMQ 希望在Window10安装rocketMQ并简单使用&#xff0c;可以参考如下文章&#xff1a; Window10安装rocketMQ并简单使用-CSDN博客 1、pom.xml文件里面加上依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId&…...

去掉el-table中自带的边框线

1.问题:el-table中自带的边框线 2.解决后的效果: 3.分析:明明在el-table中没有添加border,但是会出现边框线. 可能的原因: 由 Element UI 的默认样式或者表格的某些内置样式引起的。比如,<el-table> 会通过 border-collapse 或 border-spacing 等属性影响边框的显示。 4…...

大话软工笔记—需求调研的准备

需求调研前需做好充分的准备&#xff1a; 1. 背景资料来源 可以通过企业官网、宣传资料、人员沟通获取客户企业信息。 ​​​​​​​2. 背景资料汇总 根据获得的信息做出一份背景分析报告&#xff0c;主要包含以下内容&#xff1a; 2.1 企业基本信息 企业发展愿景&#…...

横向对比npm和yarn

&#x1f527; 基本概况 维度npmYarn所属Node.js 官方工具&#xff08;npm, Inc.&#xff09;Meta&#xff08;Facebook&#xff09;主导开发初始发布时间2010 年2016 年&#xff08;为了解决 npm 的一些痛点而诞生&#xff09;默认安装Node.js 安装后自带需要手动安装最新版本…...

《视觉SLAM十四讲》自用笔记 第三讲:三维空间刚体运动

第三讲 三维空间刚体运动 3.0 目标 1.理解三维空间的刚体运动描述方式&#xff1a;旋转矩阵、变换矩阵、四元数和欧拉角。 2.掌握 Eigen 库的矩阵、几何模块使用方法。 3.1 旋转矩阵 3.1.1 点和向量&#xff0c;坐标系 三维空间中&#xff0c;刚体的运动可以用两个概念来…...

CSS高级技巧及新增属性

CSS高级技巧及新增属性 jarringslee 文章目录 CSS高级技巧及新增属性精灵图 Sprite字体图标 iconfontCSS几何图形的写法更改鼠标样式更改表单轮廓取消文本域的拖拽行内块元素的垂直居中对齐溢出文字处理 CSS布局技巧CSS5新增内容及其他属性新增选择器新增基础属性及其他属性ca…...

web端rtmp推拉流测试、抽帧识别计数,一键式生成巡检报告

本文旨在实现无人机城市交通智慧巡检中的一个模块——无人机视频实时推拉流以及识别流并在前端展示&#xff0c;同时&#xff0c;统计目标数量以及违停数量&#xff0c;生成结果评估&#xff0c;一并发送到前端展示。对于本文任何技术上的空缺&#xff0c;可在博主主页前面博客…...

9.RV1126-OPENCV 视频的膨胀和腐蚀

一.膨胀 1.视频流的膨胀流程 之前膨胀都是在图片中进行的&#xff0c;现在要在视频中进行也简单&#xff0c;大概思路就是&#xff1a;获取VI数据&#xff0c;然后把VI数据给Mat化发给VENC模块&#xff0c;然后VENC模块获取&#xff0c;这样就完成了。流程图&#xff1a; 2.代…...

HarmonyOS5.0——CodeGenie:鸿蒙生态的AI编程革命​

​​CodeGenie&#xff1a;鸿蒙生态的AI编程革命​​ 华为推出的 ​​CodeGenie​​ 是集成于 DevEco Studio 的 AI 辅助编程工具&#xff0c;专为 HarmonyOS 应用开发设计。它通过深度优化 ArkTS 和 C 语言的代码生成能力&#xff0c;显著提升开发效率&#xff0c;降低鸿蒙生…...

AC68U刷梅林384/386版本后不能 降级回380,升降级解决办法

前些时间手贱更新了路由器的固件&#xff0c;384.18版本。结果发现了一堆问题&#xff0c;比如客户端列表加载不出来&#xff0c;软件中心打不开等等。想着再刷一下新的固件&#xff0c;结果死活刷不上去。最后翻阅了大量前辈的帖子找到了相关的处理办法。现在路由器中开启SSH&…...

vscode调试deepspeed的方法之一(无需调整脚本)

现在deepspeed的脚本文件是&#xff1a; # 因为使用 RTX 4000 系列显卡时&#xff0c;不支持通过 P2P 或 IB 实现更快的通信宽带&#xff0c;需要设置以下两个环境变量 # 禁用 NCCL 的 P2P 通信&#xff0c;以避免可能出现的兼容性问题 export NCCL_P2P_DISABLE"1" …...

婚恋小程序直播系统框架搭建

逻辑分析 直播流管理&#xff1a;需要处理主播端的直播流推送&#xff0c;确保直播流能够稳定、高效地传输到各个观看用户的设备上。这涉及到选择合适的流媒体协议&#xff0c;如 RTMP&#xff08;Real-Time Messaging Protocol&#xff09;、HLS&#xff08;HTTP Live Streami…...