溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle如何根據(jù)內(nèi)部SCN號恢復(fù)DML誤刪除數(shù)據(jù)

發(fā)布時間:2021-11-09 13:51:05 來源:億速云 閱讀:135 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要為大家展示了“oracle如何根據(jù)內(nèi)部SCN號恢復(fù)DML誤刪除數(shù)據(jù)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“oracle如何根據(jù)內(nèi)部SCN號恢復(fù)DML誤刪除數(shù)據(jù)”這篇文章吧。

以下示例內(nèi)容是由親測的:

1、新建臨時表:

SQL> create table t as select * from dba_tables;

Table created.

SQL> select count(1) from t;

  COUNT(1)

----------

      2734

2、查看當(dāng)前的SCN號。

SQL> select dbms_flashback.get_system_change_number fscn from dual;

      FSCN

----------

   1730685

也可以通過時間來查看歷史的scn號碼:

select name,FIRST_CHANGE#  fscn,NEXT_CHANGE# nscn,FIRST_TIME from v$archived_log;

13641588409883

3、刪除表中的數(shù)據(jù):

SQL> delete from t;

2734 rows deleted.

SQL> commit;

Commit complete.

SQL> select count(1) from t;

  COUNT(1)

----------

     0

4、查詢歷史的SCN號的數(shù)據(jù)

SQL> select count(*) from t as of scn 1730685;

  COUNT(*)

----------

      2734

可以查詢到歷史的SCN號碼下面,t表的數(shù)量是2734

5、恢復(fù)T表的數(shù)據(jù):

SQL> insert into t select * from t as of scn 1730685;

2734 rows created.

SQL> commit;

Commit complete.

SQL> select count(1) from t;

  COUNT(1)

----------

      2734

OK 了,通過以上一個簡單的示例 我們可以找到一個比較簡單的恢復(fù)數(shù)據(jù)的方法。

且此種方法不需要開啟flashback方式運行。但是只能使用DML操作下。若表發(fā)生truncate 操作則無法恢復(fù)。

另外這種方法和flashback較為類似

以上是“oracle如何根據(jù)內(nèi)部SCN號恢復(fù)DML誤刪除數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI