這篇文章主要為大家展示了“oracle如何根據(jù)內(nèi)部SCN號恢復DML誤刪除數(shù)據(jù)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“oracle如何根據(jù)內(nèi)部SCN號恢復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、查看當前的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、恢復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 了,通過以上一個簡單的示例 我們可以找到一個比較簡單的恢復數(shù)據(jù)的方法。
且此種方法不需要開啟flashback方式運行。但是只能使用DML操作下。若表發(fā)生truncate 操作則無法恢復。
另外這種方法和flashback較為類似
以上是“oracle如何根據(jù)內(nèi)部SCN號恢復DML誤刪除數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!
本文題目:oracle如何根據(jù)內(nèi)部SCN號恢復DML誤刪除數(shù)據(jù)-創(chuàng)新互聯(lián)
標題鏈接:http://m.2m8n56k.cn/article16/dipogg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站制作、做網(wǎng)站、外貿(mào)建站、小程序開發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容