闪回版本

2024-03-20 00:38
文章标签 版本 闪回

本文主要是介绍闪回版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

oracle闪回版本查询提供了审计行数据变化的功能 ,可以跟踪一条记录在一段时间内的变化情况,即一条记录的多个提交版本信息(一个事物对应一条记录的操作结果就是该记录的一个版本),从而为数据的等级恢复提供了可能。在闪回版本查询中,返回的行数据中可以包括与已提交事物相关的伪列(ORA-ORWSCN),通过这些伪列可以了解数据库中的哪个事物何时对该行数据进行了哪些操作。

步骤1:在scott用户下创建test表,并进行相关的dml操作

SQL> conn scott/tiger
Connected.
SQL> drop table test purge;
Table dropped.
SQL> create table test (id number,ip number,ic number,iq number);
Table created
SQL> insert into test  values(1,2,3,4);
1 row created.
SQL> insert into test  values(4,4,3,4);
1 row created.
SQL> insert into test  values(2,2,2,2);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from test;
ID   IP     IC IQ
---------- ---------- ---------- ----------
1    2      3  4
4    4      3  4
2    2      2  2
SQL> update test set id=100 where iq=4;
2 rows updated.
SQL> commit;
Commit complete.
SQL> select * from test;
ID   IP     IC IQ
---------- ---------- ---------- ----------
       100    2      3  4
       100    4      3  4
2    2      2  2

步骤2:查询roa_rowsc号,并获取更多历史信息
SQL> select ora_rowscn, id,ip,ic,iq from test;
ORA_ROWSCN   ID     IP IC   IQ
---------- ---------- ---------- ---------- ----------
   1163292  100      2  3    4
   1163292  100      4  3    4
   1163292    2      2  2    2

SQL> set linesize 1000
SQL> Select versions_xid,versions_startscn,versions_endscn,DECODE(versions_operation,'I','Insert','U','Update','D','Delete', 'Original') "Operation", id,ip,ic,iq from test versions between scn minvalue and maxvalue;


VERSIONS_XID            VERSIONS_STARTSCN        VERSIONS_ENDSCN    Operatio   ID       IP IC     IQ
----------------                     -----------------                               ---------------                        --------        ---------- ---------- ---------- ----------
06001F0095040000   1163292                                                                    Update  100 2  3      4
06001F0095040000   1163292                                                                    Update  100 4  3      4
05000E00DE030000   1163209                                                                     Insert             2         2  2      2
05000E00DE030000   1163209                                 1163292                            Insert             4         4  3      4
05000E00DE030000   1163209                                 1163292                             Insert    1         2  3      4

当然也可以在给定的范围时间内查询:


SELECT versions_startscn, versions_starttime, versions_endscn, versions_endtime, versions_xid, versions_operation, id
  FROM test
  VERSIONS BETWEEN TIMESTAMP
  TO_TIMESTAMP('2016-09-15 10:00:00', 'YYYY-MM-DD HH24:MI:SS')
  AND TO_TIMESTAMP('2016-09-15 10:15:00', 'YYYY-MM-DD HH24:MI:SS')
  WHERE iq = '4';

如果需要,可以将数据恢复到某个时刻的状态

这篇关于闪回版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/827740

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Mybatis从3.4.0版本到3.5.7版本的迭代方法实现

《Mybatis从3.4.0版本到3.5.7版本的迭代方法实现》本文主要介绍了Mybatis从3.4.0版本到3.5.7版本的迭代方法实现,包括主要的功能增强、不兼容的更改和修复的错误,具有一定的参考... 目录一、3.4.01、主要的功能增强2、selectCursor example3、不兼容的更改二、

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav