誤刪Oracle10g數據找回

同事找回時操作的數據庫爲oracle 10g , 之前刪除方式爲delete 不曉得trancate好使不

 SCN(系統改變號),它的英文全拼爲:System Change Number ,它是數據庫中非常重要的一個數據結構。
  SCN提供了Oracle的內部時鐘機制,可被看作邏輯時鐘,這對於恢復操作是至關重要的
  註釋:Oracle 僅根據 SCN 執行恢復。
  它定義了數據庫在某個確切時刻提交的版本。在事物提交時,它被賦予一個唯一的標示事物的SCN 。一些人認爲 SCN 是指, System Commit Number ,而通常 SCN 在提交時才變化,所以很多情況下,
  這兩個名詞經常被交替使用。
  究竟是哪個詞其實對我們來說並不是最重要的,重要的是我們知道 SCN 是 Oracle 內部的時鐘機制, Oracle 通過 SCN 來維護數據庫的一致性,並通過SCN 實施 Oracle 至關重要的恢復機制。
  具體執行流程我們可從以下幾個示例圖中體會;
  1.原表記錄 $ sqlplus eygle/eygle
  SQL*Plus: Release 10.1.0.2.0 - Production on Wed Mar 30 08:52:04 2005
  Copyright (c) 1982, 2004, Oracle. All rights reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
  With the Partitioning, OLAP and Data Mining options

  SQL>select count(*) from t1;
  COUNT(*)
  ----------
  9318
  2.誤刪除所有記錄
  並且提交更改。
  SQL>delete from t1;
  9318 rows deleted.
  SQL>commit;
  Commit complete.
  SQL>select count(*) from t1;
  COUNT(*)
  ----------
  0
  3.獲得當前SCN
  如果能夠確切知道刪除之前SCN最好,如果不知道,可以進行閃回查詢嘗試.
  SQL>select dbms_flashback.get_system_change_number from dual;
  GET_SYSTEM_CHANGE_NUMBER
  ------------------------
  10671006
  SQL>select count(*) from t1 as of scn 10671000;
  COUNT(*)
  ----------
  0
  SQL>select count(*) from t1 as of scn 10670000;
  COUNT(*)
  ----------
  9318
  我們看到在SCN=10670000時,數據都在。
  4.恢復數據.
  SQL>insert into t1 select * from t1 as of scn 10670000;
  9318 rows created.
  SQL>commit;
  Commit complete.
  SQL>select count(*) from t1;
  COUNT(*)
  ----------
  9318
  文章2
  誤刪數據後的還原
  select timestamp_to_scn(to_timestamp('2009-03-13 09:00:00','YYYY-MM-DD HH:MI:SS')) from dual;
  結果:13526973
  將刪除時間轉換爲scn
  select * from reportinfo
  AS OF SCN 13526973

  將reportinfo表中的scn點的數據取出
  然後可以根據這個數據進行還原操作
  create table reporttest as select * from reportinfo where 1=0;
  insert into reporttest select * from reportinfo AS OF SCN 13526973;

  --上面兩句應該可以合成一句
  --create table reporttest as select * from reportinfo AS OF SCN 13526973;
  這是reporttest表中就是scn點的reportinfo數據.處理即可

 

轉帖自:http://topic.csdn.net/u/20100819/16/0BA394DC-C81E-44D2-9DA7-710F0AB7C7B4.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章