Oracle 如何找回已經刪除了的表記錄____Oracle

來源:互聯網
上載者:User

有的時候我們不小心把資料庫表(emp)中重要的記錄給刪除了,怎麼給找回來了,看下面這個例子你就會明白。

 

某一天,10點鐘的時候,張三一不小心給資料庫表emp的一條重要記錄給刪除了並且還提交了,此時也沒有其他任何備份資料,

他十分驚恐,10:05分他的同事,也就是本人出現了在和他輕鬆的聊天中給出了如下解決方案,哈哈哈。。。

 

我:怎麼了

張:我把資料emp表的某幾條記錄給刪除了,我也不知道刪除的是那幾條。。。

我:不要急,大概是幾點刪除的

張:10點左右

我:恩,現在10:05分了,也就是5分鐘前刪除的,還不超過6分鐘

張:怎麼辦啊,我怎麼把那幾條資料給找回來啊,下午客戶那邊還要等著做資料示範了

我:冷靜點,讓我想想。。。有了,如果我們能夠找回6分鐘前的沒有刪除時候的資料那問題就解決了

       找回6分鐘前的未經處理資料(注意6分鐘一定要是操作距現在的有效時間時間地區段,如果大於5分鐘不足6分鐘,

       這個中間有沒有做任何操作那隻能堅持就小原則寫5,不然會報  ora-01466 : 無法讀取資料-表定義已更改)   

   select * from emp as of timestamp sysdate - 6/1440

我:現在你可以把原來的表哦刪掉直接建立備份一個表就可以了   

   create table emp as (select * from emp as of timestamp sysdate - 6/1440);

張:這到是一個好辦法,但是我們公司有規定,表不能隨表刪除,不然我的績效獎金就全部泡湯了。。。

張:能不能在補刪除原表的基礎上,把找回的記錄插入到原表中了

我:讓我,想想。。。有了。。。

我:我們可以做差,找到刪除的記錄=6分鐘前的未經處理資料-現在表中的記錄,再插入原來的表中,提交

      

insert into empselect *  --6分鐘前刪除的記錄from(select * --6分鐘前刪除的記錄     from emp as of timestamp sysdate - 6 / 1440 --6分鐘前的未經處理資料     minus --減去     select * from emp --現在表中的記錄)

 

張:耶。。。可以了,thanks。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.