关于数据库或表闪回的一个简单问题。

xieyunchao 2009-06-05 04:51:57
在oracle表闪回时,我们经常要根据时间点或scn号。我怎么确定要闪回的时间或scn号呢?比如我在6:08:12的时候我更新了表。然后在6:08:30的时候我删除了一条记录。那么我要把表闪回到我更新记录以前怎么办。您看,更新和删除操作就差十几秒,我怎样把握这么精确的时间呢。

如果我不想根据时间闪回,而想根据scn闪回。那么我怎么确定或查询到更新和删除操作时的scn呢?
谢谢大家。
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitoy 2010-07-12
  • 打赏
  • 举报
回复
mark
oraclelogan 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zcs_1 的回复:]
Oracle的时间与scn有一个对应关系,这个对应关系可利用函数timestamp_to_scn和scn_to_timestamp实现。在Oracle10g中,时间与scn的对应精度已经可

以精确到3秒了。

timestamp_to_scn,从时间对应到scn
scn_to_timestamp,从scn对应到时间

如:
select timestamp_to_scn(sysdate-1/24) from dual;

select timestamp_to_scn(to_timestamp('2009-06-01:06:08:30','YYYY-MM-DD:HH24:MI:SS')) from dual;


对…
[/Quote]

说的不错。
manchun 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zcs_1 的回复:]
Oracle的时间与scn有一个对应关系,这个对应关系可利用函数timestamp_to_scn和scn_to_timestamp实现。在Oracle10g中,时间与scn的对应精度已经可

以精确到3秒了。

timestamp_to_scn,从时间对应到scn
scn_to_timestamp,从scn对应到时间

如:
select timestamp_to_scn(sysdate-1/24) from dual;

select timestamp_to_scn(to_timestamp('2009-06-01:06:08:30','YYYY-MM-DD:HH24:MI:SS')) from dual;


对…
[/Quote]

正解,说的很好
zcs_1 2009-06-05
  • 打赏
  • 举报
回复
Oracle的时间与scn有一个对应关系,这个对应关系可利用函数timestamp_to_scn和scn_to_timestamp实现。在Oracle10g中,时间与scn的对应精度已经可

以精确到3秒了。

timestamp_to_scn,从时间对应到scn
scn_to_timestamp,从scn对应到时间

如:
select timestamp_to_scn(sysdate-1/24) from dual;

select timestamp_to_scn(to_timestamp('2009-06-01:06:08:30','YYYY-MM-DD:HH24:MI:SS')) from dual;


对于Oracle的查询技术,可以用闪回版本查询(FLASHBACK VERSION QUERY),如emp表,在2008年8月7日15:00更新一条数据,其empno=7782,
在2008年8月8日9:00又把这条数据给删除了,则用查询

SELECT VERSIONS_OPERATION, VERSIONS_STARTTIME, VERSIONS_ENDTIME,
EMPNO, ENAME, JOB, SAL, DEPTNO
FROM EMP
VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
WHERE EMPNO = 7782;

查询结果为:

VERSIONS_OPERATION VERSIONS_STARTTIME VERSIONS_ENDTIME EMPNO ENAME JOB SAL DEPTNO
D 2008-8-8 9:00 7782 SMITH MANAGER 1,000.00 20
U 2008-8-7 15:00 2008-8-8 9:00 7782 SMITH MANAGER 1,000.00 20

从这里就可以得到更新表和删除表的时间了

另外用VERSIONS_STARTSCN和VERSIONS_ENDSCN可以得到更新表和删除表对应的SCN.

2,668

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 认证与考试
社区管理员
  • 认证与考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧