亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Oracle庫恢復(fù)刪除數(shù)據(jù)的方法小結(jié)

 更新時間:2023年12月14日 09:20:38   作者:奮斗中的Jack  
誤刪?Oracle?庫中的數(shù)據(jù),在不考慮全庫備份和利用歸檔日志情況,如何恢復(fù)數(shù)據(jù)呢,這篇文章將給大家介紹幾種方法恢復(fù)數(shù)據(jù),文章通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下

誤刪 Oracle 庫中的數(shù)據(jù),在不考慮全庫備份和利用歸檔日志情況,如何恢復(fù)數(shù)據(jù)呢?

下面介紹幾種方法恢復(fù)數(shù)據(jù):

1、利用 Oracle 提供的閃回方法進行數(shù)據(jù)恢復(fù),適用于 delete 刪除方式

首先獲取刪除數(shù)據(jù)的時間點:

select * from v$sql where sql_text like '%table_name%';

根據(jù)結(jié)果中的 sql_text 內(nèi)容,找到 delete 執(zhí)行語句對應(yīng)的刪除時間點,執(zhí)行下面語句查詢出刪除的數(shù)據(jù)。

select * from table_name as of timestamp to_timestamp(‘刪除時間點',‘yyyy-mm-dd hh24:mi:ss') 
where (刪除時的條件);

檢查數(shù)據(jù)無誤后,執(zhí)行下面操作,將數(shù)據(jù)插回原表中。注意主鍵不重復(fù)

insert into table_name
select * from from table_name as of timestamp to_timestamp(‘刪除時間點',‘yyyy-mm-dd hh24:mi:ss')
where (刪除時的條件);

2、利用 Oracle 虛擬回收站功能

原理是因為 Oracle 數(shù)據(jù)庫在刪除表時會將刪除信息存放于某虛擬回收站中而非直接清空,在此種狀態(tài)下數(shù)據(jù)庫標記該表的數(shù)據(jù)庫為可以復(fù)寫,所以在該塊未被重新使用前依然可以恢復(fù)數(shù)據(jù)。該方法多用于 drop 刪除。

首先查詢 user_table 視圖,找到被刪除的表:

select table_name,dropped from user_tables;
select object_name,original_name,type,droptime from user_recyclebin;

注意此時的,object_name 和 original_name 就是回收站存放的表名和原來刪除的表名,如果表名沒有被重新命名,可以通過下面語句進行恢復(fù):

flashback table original_name to before drop;

3、用 Oracle 數(shù)據(jù)庫的閃回功能可以將數(shù)據(jù)庫恢復(fù)到過去某一狀態(tài)

注意,此時是整庫恢復(fù),具體語法如下:

SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59',‘yyyy-mm-dd hh24:mi:ss');

4、徹底刪除數(shù)據(jù)

如果確定需要刪除的數(shù)據(jù)又不想無謂的占用空間,可以使用以下3種方式:

1)采用 truncate 方式進行截斷。(不能進行數(shù)據(jù)恢復(fù))

2)在 drop 時加上 purge 選項:

drop table table_name purge;

5. 關(guān)于清空回收站

1)刪除當(dāng)前用戶回收站

purge recyclebin;

2)刪除全體用戶在回收站的數(shù)據(jù)

purge dba_recyclebin;

以上就是Oracle庫恢復(fù)刪除數(shù)據(jù)的方法小結(jié)的詳細內(nèi)容,更多關(guān)于Oracle恢復(fù)刪除數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論