ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 利用alter_log确定scn号的时间进行flashback操作

利用alter_log确定scn号的时间进行flashback操作

原创 Linux操作系统 作者:lorikyo 时间:2019-04-25 11:00:06 0 删除 编辑

用户说表ZMM051的表里的数据被误删除了,时间大概在3/8 -3/10之间。

我们去到oracle下面去查询表的时候只有3万笔左右的数据了

select count(*) from sapr3.zmm051;

                

  COUNT(*)

----------

     30705

现在我们要利用ORACLE的回闪的特性将数据找出来

然后我们要做的是将表被误删除前那段时间的最近的scn找出来

找到oracle的trace 文件 用VI打开

Vi /oracle/LH1/saptrace/background/ alert_LH1.log

找到9号的LOG

Sun Mar  9 00:03:05 2008

Completed checkpoint up to RBA [0xccc99.2.10], SCN: 0x0001.e197d163

Sun Mar  9 00:03:28 2008

Beginning log switch checkpoint up to RBA [0xccc9a.2.10], SCN: 0x0001.e1980ae0

Thread 1 advanced to log sequence 838810

  Current log# 13 seq# 838810 mem# 0: /oracle/LH1/origlogA/log_g13m1.dbf

  Current log# 13 seq# 838810 mem# 1: /oracle/LH1/mirrlogA/log_g13m2.dbf

Sun Mar  9 00:03:28 2008

ARC0: Evaluating archive   log 12 thread 1 sequence 838809

ARC0: Beginning to archive log 12 thread 1 sequence 838809

Creating archive destination LOG_ARCHIVE_DEST_1: '/oracle/LH1/saparch/LH1arch1_838809.dbf'

Sun Mar  9 00:03:49 2008

ARC0: Completed archiving  log 12 thread 1 sequence 838809

Sun Mar  9 00:06:17 2008

Completed checkpoint up to RBA [0xccc9a.2.10], SCN: 0x0001.e1980ae0

Sun Mar  9 00:06:35 2008

这里我们看到了SCN: 0x0001.e197d163 这个就是9号的检查点号 ,也就是SCN.

这个是16进制,我们将它转换成10进制8079805152

 

SQL>  select count(*) from zmm051 as of SCN  8079805152;

 

  COUNT(*)

----------

    61705

这样数据找到了。

 

SQL> create table zmm051_bak as select * from zmm051 as of SCN  8079805152;

 

Table created.

 

SQL>

备份表创建,然后我们验证一下

SQL> select count(*) from zmm051_bak;

 

  COUNT(*)

----------

    61705

 

SQL>

数据都在然后将这个表的数据导出交给用户。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/92530/viewspace-246139/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2004-07-18

  • 博文量
    211
  • 访问量
    189696