网站首页 > 技术文章 正文
数据库闪回技术在Oracle Database 10g就向大家提供了。因为闪回不需要对数据文件做restore的动作,所以数据恢复的时间相比传统RMAN进行恢复要快许多。这项技术一直受到DBA的喜欢,比如经常可以使用表闪回,数据库闪回快速修复人为造成的数据错误,也可以使用闪回查询,了解记录之前的状态。但闪回技术不是万能的,它也受到许多限制,但随着数据库版本的不断更新,闪回功能在各个版本都得到了增强。
我们假设这样的场景:今天是周三,我们发现某个PDB的数据出现人为错误,然后将这个PDB通过数据库闪回技术,将数据库闪回到周一,并使用resetlogs的方式打开这个PDB。闪回操作执行完成后,发现闪回的时间是错误的,不应该将这个PDB闪回到周一,而是应该闪回到周二。在Oracle Database 20c之前,如果出现上面的情况,恐怕就要使用其他技术对这个PDB进行恢复了。这也是为什么,我们在使用闪回数据库技术之前,我们先要进行查询,确定正确的闪回时间点,否则就会出现如上图所示,已经闪回到周一,再想闪回到周二就不可以了。
从20c开始,PDB的闪回功能得到了增强,即便是从周三闪回到了周一,也支持从周三闪回到周二。
接下来我们就通过实验来验证一下。
使用这项技术有三个前提条件:
1、数据库启动归档
2、数据库开启闪回
3、使用local undo我们还是使用之前实验中所使用的Database 20c当中的pdb,名字为pdb1。假设我们在周一的时候,hr用户下面有一个table,名字为fb_tab1,里面有1000条记录。
然后创建一个restore point名字叫做rp001。
接下来,我们向这个表中添加1000条记录,认为是周二的数据情况,然后创建restore point名字为rp002。
使用同样的方法,创建出周三的数据,然后创建restore point名字为rp003。
接下来,我们将PDB1关闭,然后闪回到第一个restore point:rp001,然后将数据库以resetlogs方式打开。我们通过观察,发现数据表中的记录恢复到了1000条。
然后,我们再将数据库PDB1,闪回到第二个restore point:rp002,这项操作在之前的版本中是不支持的,而从20c开始提供了很好的支持。我们看到数据表中的数据已经恢复到了restore point:rp002的状态,有2000条数据。
如果您愿意,可以将数据库闪回到第三个restore point,这项操作在之前也是不支持的,而在20c当中是没有问题的。
官宣:Oracle Database 20c(预览版)云端上线
Oracle Database 20c:区块链表
Oracle Database 20c: In-Memory增强
Oracle Database 20c: JSON功能增强
Oracle Database 20c与DATA SAFE
Oracle Database 20c:In-Memory混合扫描
扫描下方QR Code即刻预约ADW演示
编辑:殷海英
猜你喜欢
- 2024-11-07 Oracle-块损坏故障:ORA-01578 oracle数据库坏块修复
- 2024-11-07 万字总结 MySQL核心知识,赠送25连环炮
- 2024-11-07 闪回区报警引发的性能问题分析(一)
- 2024-11-07 Oracle将物理Standby库临时激活用于测试
- 2024-11-07 谈谈MySQL中的重做日志,回滚日志及二进制日志的区别及各自作用
- 2024-11-07 insert导致的性能问题大排查(r11笔记第26天)
- 2024-11-07 ORACLE ORA-03113 故障解决方法 oracle error 3113
- 2024-11-07 Data Guard高级玩法:闪回恢复switchover库
- 2024-11-07 「方法」被delete table后,记住这个找回方法,没准能救你命
- 2024-11-07 闪回数据库不是“万金油”(r11笔记第73天)
你 发表评论:
欢迎- 617℃几个Oracle空值处理函数 oracle处理null值的函数
- 610℃Oracle分析函数之Lag和Lead()使用
- 599℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 595℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 591℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 582℃【数据统计分析】详解Oracle分组函数之CUBE
- 572℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)