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

上一篇 / 下一篇  2008-04-21 10:25:51 / 个人分类:一般分类

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

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

select count(*) from sapr3.zmm051;

                

 COUNT(*)

----------

    30705

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

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

找到oracletrace文件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>

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


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-26  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 7261
  • 日志数: 647
  • 文件数: 5
  • 建立时间: 2007-12-29
  • 更新时间: 2008-07-17

RSS订阅

Open Toolbar