如何只恢复经过多次commit后的某个事务
SQL> insert into t values(1);
1 row created.
SQL> commit;
Commit complete.
SQL> commit;
Commit complete.
SQL> delete from t where id = 1;
1 row deleted.
SQL> commit;
Commit complete.
用versions子句,而且用versions_starttime等虚列可以找到其中每个事务的开始时间(versions_starttime)和
操作(versions_operation虚列,D-delete I-insert,U-update等)
SQL> select versions_starttime,versions_xid,versions_operation from t
2 versions between timestamp minvalue and maxvalue;
VERSIONS_STARTTIME VERSIONS_XID V
----------------------------- ---------------- -
06-AUG-08 09.31.36 AM 17001C0079000000 D
06-AUG-08 09.31.27 AM 17001B0079000000 I
06-AUG-08 09.31.18 AM 17001A0079000000 I
然后从flashback_transaction_query表中根据相应的事务ID(versions_xid)可以找到相应的undo操作,
根据该操作可以直接rollback该事务!让人不得不佩服ORACLE的强大!
SQL> desc flashback_transaction_query;
Name Null? Type
----------------------------------------- -------- ----------------------------
XID RAW(8)
START_SCN NUMBER
....
UNDO_SQL VARCHAR2(4000)
SQL> select undo_sql from flashback_transaction_query where xid='17001A0079000000'
UNDO_SQL
--------------------------------------------------------------------------------
delete from "SYS"."T" where ROWID = 'AAAMSwAABAAANcaAAA';
SQL> select undo_sql from flashback_transaction_query where xid='17001C0079000000';
UNDO_SQL
--------------------------------------------------------------------------------
insert into "SYS"."T"("ID") values ('1');
发表评论
-
compile_6i
2010-10-12 21:35 705for %%i in (*.rdf) do start /w ... -
compile bat
2010-10-12 21:33 881compile_pll_form.bat for %%i i ... -
test26_7
2010-06-30 16:33 1315 使用索引:索引未用上?是否为表和相关的索引搜集足够的统计 ... -
test26_6
2010-06-30 16:32 1414 使用索引:索引未用上?检查被索引的列或组合索引的首列是否 ... -
test26_5
2010-06-30 16:31 70113 使用索引:合理的索引针对如何用上合理的索引,以下举ORA ... -
test26_4
2010-06-30 16:30 64911 使用索引:建立索引的原则1、索引字段需要建立NOT NU ... -
test26_3
2010-06-30 16:29 5969 索引种类:位图索引Create BITMAP index ... -
test26_2
2010-06-30 16:28 5747 索引种类:反向索引Create index indexna ... -
test26_1
2010-06-30 16:26 7094 索引概述:什么是索引索引是建立在表的一列或多个列上的辅助对 ... -
test26_0
2010-06-30 16:25 5951 Oracle 索引 2 Contents索引概述什么是索 ... -
test25
2010-06-30 15:59 586如何收集表的部分统计信息 如果表很大,收集表的统计信息需要花 ... -
test24
2010-06-30 15:53 607处理exp Exporting questionable st ... -
test23_1
2010-06-30 15:49 664Argument Name ... -
test23
2010-06-30 15:47 650回收表的高水平位 表的高水平位(High water mar ... -
test22
2010-06-30 15:29 632dblink的使用1、现象、问题描述 在local服务器上有 ... -
test21
2010-06-30 15:29 640如何查询长时间的操作何时结束 数据库中有一个视图中v$ses ... -
test19_1
2010-06-28 16:45 558但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test19_1
2010-06-28 16:43 484但ORACLE又提供了另外一种机制:从redo日志或归档日志中 ... -
test19
2010-06-28 16:43 718如何恢复删除并且commit ... -
test18
2010-06-28 16:39 527如何使一个经常用的小表一直保留在内存中? SQL> s ...
相关推荐
Test20-WebSocket.zip
《诺基亚显示器测试工具Nokia Monitor Test v20详解》 诺基亚显示器测试工具Nokia Monitor Test v20是一款专为用户设计的专业LCD显示器检测软件,它可以帮助用户全面了解并诊断显示器的各种问题,确保显示器的性能...
PassMark BurnInTest V5.3 Copyright (C) 1999-2008 PassMark Software All Rights Reserved http://www.passmark.com Overview ======== Passmark's BurnInTest is a software tool that allows all the major sub...
### Testbench 入门资料详解 #### 一、编写 TESTBENCH 的目的 编写 TESTBENCH 的主要目标是为了验证使用硬件描述语言 (HDL) 设计的数字逻辑电路的正确性和功能完整性。这一过程通常包括以下几个步骤: 1. **产生...
- **标准**:频率响应 ±0.5dB,在 20Hz 至 20kHz 范围内相位偏移小于 0.5°。 ##### HP03 THD+N vs. Frequency Test - **设置音量至最大**。 - **播放 -20dB 从 10Hz 至 20kHz 的扫频信号**。 - **设置 AP 并开始...
当镜头变化、光圈或宏观/缩放设置改变、焦距环调整超过20度(对于宏观为10度)或ND滤镜发生变化时,都需要重新标定。 3. **单色标定**: - **目的**: 单独针对某一种颜色的校正。 4. **多色标定**: - **目的**: ...
c语言Test-9-20test.c
- `vlan 20` 和 `name Test20`:同样创建并命名VLAN 20,名为Test20,对应IP地址192.168.20.1/24的网络。 - `switchport access vlan 10` 和 `20`:将端口分配到相应的VLAN,让PC1和PC2分别接入VLAN 10,PC3和PC4...
Testbench 是验证数字电路设计的重要组成部分,主要用于模拟真实硬件环境,检查设计的功能正确性。在 FPGA 开发中,Testbench 的编写是验证流程的关键环节。下面将详细解释一个标准的 Verilog Testbench 模板及其...
标题中的“11_5_2015_low current OCV test_SP20-1_matlab_”指的是一项在2015年11月5日进行的低电流开路电压(OCV)测试,使用了SP20-1电池,并且数据处理或分析采用了MATLAB软件。开路电压测试是电池研究中一个关键...
Testbench是Verilog设计流程中的一个重要部分,它用于模拟真实环境,对设计进行验证。以下是一个标准的Verilog testbench模板及其相关的知识点。 首先,`timescale指令在Verilog代码中用来定义时间单位和精度。例如...
在上述代码中,导入了scala.io包中的Source类,然后定义了一个名为Test20的对象和main方法。在main方法中,首先使用println函数显示提示信息"文件内容为:",然后通过调用Source对象的fromFile方法获取test.txt文件的...
然后,我们创建了两个测试用户 `test20` 和 `test30`,并赋予他们访问 `hr` 用户下的 `policy_tab_test2` 表的权限。默认情况下,这两个用户可以查看表中的所有列。 接下来,为了实现列级权限控制,我们首先创建了...
Switch(config-vlan)#name test20 !vlan 20 命名为 test20 Switch#show vlan ! 查看已配置的 vlan 信息 实验代码和实验结果如下图(6)所示: 2. 不同交换机上 VLAN 的划分 在实现不同交换机上 VLAN 的划分实验中...
#20; $display("Count with random enable/reset: %d", count); end end endmodule ``` #### 四、总结 编写 Testbench 是验证 Verilog 设计的关键步骤之一。通过遵循上述步骤,您可以有效地验证设计的功能,并...
在本实验中,我们创建了两个 VLAN,分别命名为 test10 和 test20。命令为: Switch(config)# vlan 10 Switch(config-vlan)# name test10 Switch(config)# vlan 20 Switch(config-vlan)# name test20 2. 将接口分配...
标题“Test18b20.zip”提示我们这是一个与18B20传感器相关的FPGA Verilog驱动程序的压缩文件。描述中提到“18B20 fpga verilog 写的驱动,定时读取IC温度参考”,这表明这个驱动程序是用Verilog硬件描述语言编写的,...
### 如何编写高效率的Testbench文件 #### 简介 随着数字系统设计规模的不断扩大和复杂度的增加,确保这些设计正确无误的工作变得越来越具有挑战性。验证工程师们不得不采用各种验证工具和技术来应对这一难题。其中...
instance.setRectangle(10, 20, 300, 50); // 左上角(x, y),右下角(x+width, y+height) ``` **5. 使用JNA与JNI** Test4j通过Java Native Access (JNA) 或 Java Native Interface (JNI) 与Tesseract C++库进行交互...