如何恢復Oracle數(shù)據(jù)庫誤刪除數(shù)據(jù)的語句

這篇文章主要介紹如何恢復Oracle數(shù)據(jù)庫誤刪除數(shù)據(jù)的語句,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

我們提供的服務有:成都網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、通許ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的通許網(wǎng)站制作公司


第一種數(shù)據(jù)恢復方法是利用oracle提供的閃回方法進行數(shù)據(jù)恢復,適用于delete刪除(一條記錄)方式:
首先需要知道是什么時間進行的刪除操作,如果不能確定具體時間點則選擇盡量準確的刪除數(shù)據(jù)前的時間。然后利用
select * from 表名 as of timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh34:mi:ss')
語句可以找回刪除的數(shù)據(jù)。利用
insert into 表名 (select * from 表名 as of timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh34:mi:ss'));
語句就可以將恢復出來的數(shù)據(jù)插入原表中(注意要保證主鍵不重復)。
另一種方法可以通過閃回整個表來恢復誤刪除的數(shù)據(jù),但僅適用于表結構沒有發(fā)生改變且用戶有flash any table權限的情況下,語句如下:
·alter table 表名 enable row movement
·flashback table 表名 to timestamp to_timestamp(刪除時間點',' frombyte yyyy-mm-dd hh34:mi:ss')

第二種數(shù)據(jù)恢復方法的原理是因為oracle數(shù)據(jù)庫在刪除表時會將刪除信息存放于某虛擬“回收站”中而非直接清空,再此種狀態(tài)下數(shù)據(jù)庫標記該表的數(shù)據(jù)庫為“可以復寫”,所以在該塊未被重新使用前依然可以恢復數(shù)據(jù)。該方法多用于drop刪除。
首先需要查詢user_table視圖找到被刪除的表:
 · select table_name,dropped from user_tables
 · select object_name,original_name,type,droptime from user_recyclebin
注意此時的表名稱已經(jīng)被重新命名,table_name和object_name就是回收站中的存放表名,如果管理員此時可以明確原表的名稱可以通過
  flashback table 原表名 to before drop
語句進行數(shù)據(jù)恢復,如果不知道原表名稱可以直接按照回收站中的表名稱將數(shù)據(jù)恢復回復來,然后通過
  flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名
語句就可以重新命名。

第三種方法同樣利用oracle數(shù)據(jù)庫的閃回功能可以將數(shù)據(jù)庫恢復到過去某一狀態(tài),語法如下:
SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp('frombyte 2007-2-12 12:00:00','yyyy-mm-dd hh34:mi:ss');

介紹到這里有朋友發(fā)現(xiàn)問題了,oracle數(shù)據(jù)庫提供了可以恢復數(shù)據(jù)的保障機制,但也不可避免的占用了大量空間,使用drop一個表或者delete數(shù)據(jù)后空間并不能自動進行回收,如果確定需要刪除的數(shù)據(jù)又不想無謂的占用空間該如何操作呢?我們可以使用以下兩種方式:
1、采用truncate方式進行截斷。(但不能進行數(shù)據(jù)回恢復了)
2、在drop時加上purge選項:drop table 表名 purge
該選項也可以通過刪除recyclebin區(qū)域來永久性刪除表 ,原始刪除表drop table emp cascade constraints
purge table emp;
刪除當前用戶的回收站:
purge recyclebin;
刪除全體用戶在回收站的數(shù)據(jù):
purge dba_recyclebin

以上是“如何恢復Oracle數(shù)據(jù)庫誤刪除數(shù)據(jù)的語句”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

標題名稱:如何恢復Oracle數(shù)據(jù)庫誤刪除數(shù)據(jù)的語句
當前地址:http://bm7419.com/article40/pcgjho.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、品牌網(wǎng)站建設、網(wǎng)站制作、軟件開發(fā)、域名注冊、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作