数据库

首页 » 常识 » 预防 » OracleDatabase20c新
TUhjnbcbe - 2021/5/20 19:50:00

数据库闪回技术在OracleDatabase10g就向大家提供了。因为闪回不需要对数据文件做restore的动作,所以数据恢复的时间相比传统RMAN进行恢复要快许多。这项技术一直受到DBA的喜欢,比如经常可以使用表闪回,数据库闪回快速修复人为造成的数据错误,也可以使用闪回查询,了解记录之前的状态。但闪回技术不是万能的,它也受到许多限制,但随着数据库版本的不断更新,闪回功能在各个版本都得到了增强。

我们假设这样的场景:今天是周三,我们发现某个PDB的数据出现人为错误,然后将这个PDB通过数据库闪回技术,将数据库闪回到周一,并使用resetlogs的方式打开这个PDB。闪回操作执行完成后,发现闪回的时间是错误的,不应该将这个PDB闪回到周一,而是应该闪回到周二。在OracleDatabase20c之前,如果出现上面的情况,恐怕就要使用其他技术对这个PDB进行恢复了。这也是为什么,我们在使用闪回数据库技术之前,我们先要进行查询,确定正确的闪回时间点,否则就会出现如上图所示,已经闪回到周一,再想闪回到周二就不可以了。

从20c开始,PDB的闪回功能得到了增强,即便是从周三闪回到了周一,也支持从周三闪回到周二。

接下来我们就通过实验来验证一下。

使用这项技术有三个前提条件:

1、数据库启动归档

2、数据库开启闪回

3、使用localundo我们还是使用之前实验中所使用的Database20c当中的pdb,名字为pdb1。假设我们在周一的时候,hr用户下面有一个table,名字为fb_tab1,里面有条记录。

然后创建一个restorepoint名字叫做rp。

接下来,我们向这个表中添加条记录,认为是周二的数据情况,然后创建restorepoint名字为rp。

使用同样的方法,创建出周三的数据,然后创建restorepoint名字为rp。

接下来,我们将PDB1关闭,然后闪回到第一个restorepoint:rp,然后将数据库以resetlogs方式打开。我们通过观察,发现数据表中的记录恢复到了条。

然后,我们再将数据库PDB1,闪回到第二个restorepoint:rp,这项操作在之前的版本中是不支持的,而从20c开始提供了很好的支持。我们看到数据表中的数据已经恢复到了restorepoint:rp的状态,有条数据。

如果您愿意,可以将数据库闪回到第三个restorepoint,这项操作在之前也是不支持的,而在20c当中是没有问题的。

在20c当中,PDB还有好多新的特性,请您参考官方文档获取更多资讯。

相关文章:

官宣:OracleDatabase20c(预览版)云端上线

OracleDatabase20c:区块链表

OracleDatabase20c:In-Memory增强

OracleDatabase20c:JSON功能增强

OracleDatabase20c与DATASAFE

OracleDatabase20c:In-Memory混合扫描

扫描下方QRCode即刻预约ADW演示

编辑:殷海英

预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: OracleDatabase20c新