oracle 恢複table刪除資料 恢複package(使用閃回)

來源:互聯網
上載者:User

標籤:ack   解釋   ret   oracle   直接   exit   記錄   磁碟   alter   

    好久沒寫東西了,今天寫一篇湊個數吧,來公司一年多了,感覺自己到了一個小瓶頸期了。 以前每天很多新東西,都是忙著學,感覺沒時間寫部落格總結一下,大部分都是寫筆記,現在又是沒東西可以寫,每天乾著95%都是重複的工作,大部分時間在營運,但我內心是把自己當做dba的,畢竟當初老大把我從java開發拉倒系統組^_^    上次一個技術把表中的資料刪除,這次是另一個技術把正確的包給覆蓋了,我給恢複了,哈哈哈---有用的話看一下

參考部落格:6761458
雖然包恢複原理一樣,但是操作差異一點,因為我的資料是12.2c的

本文1:表資料刪除恢複
--1、查詢刪除資料時間點之前的資料select * from 表名 as of timestamp to_timestamp(‘2016-08-11 16:12:11‘,‘yyyy-mm-dd hh24:mi:ss‘); --(若沒有資料 ,將時間繼續提前)--2、啟用行移動功能alter table 表名 enable row movement;--3、恢複資料(激動人心的時刻)flashback table 表名 to timestamp to_timestamp(‘2016-08-11 16:12:11‘,‘yyyy-mm-dd hh24:mi:ss‘);大功告成,資料恢複成功;
本文2:包被覆蓋錯了,想要閃回package

注意這裡需要使用dba許可權,否則查看不到

--錯誤包:XXX_PKG 正確時間:中午12點SELECT OBJECT_ID  FROM all_objects  WHERE OBJECT_NAME = ‘XXX_PKG‘; --如果包直接被刪除了,不是被覆蓋,那隻能先閃回查詢對象表 SELECT OBJECT_ID  FROM all_objects AS OF TIMESTAMP TO_TIMESTAMP(‘2018-06-26 12:00:00‘, ‘YYYY-MM-DD HH24:MI:SS‘) WHERE OBJECT_NAME = ‘XXX_PKG‘; --查到2個對象id,一個包頭,一個包體9316394602--根據對象id查詢包頭和包體內容SELECT source  FROM source$ AS OF TIMESTAMP TO_TIMESTAMP(‘2018-06-26 12:00:00‘, ‘YYYY-MM-DD HH24:MI:SS‘) where obj# = 93163; SELECT source  FROM source$ AS OF TIMESTAMP TO_TIMESTAMP(‘2018-06-26 12:00:00‘, ‘YYYY-MM-DD HH24:MI:SS‘) where obj# = 94602; --然後確認沒問題,用查到的sql內容重新覆蓋就好
注意:一般package body的內容比較多,怎麼複製下來呢?spool  /home/oracle/xxx_pkg.sqlSELECT source  FROM source$ AS OF TIMESTAMP TO_TIMESTAMP(‘2018-06-26 12:00:00‘, ‘YYYY-MM-DD HH24:MI:SS‘) where obj# = 93163;spool offexitll /home/oracle/
知識點

簡單總結一下,這裡就是利用了oracle的閃回查詢功能,非常的簡單,一看就懂了,但是oracle閃回有很多種包括刪除表和資料庫,閃回事務等等。
最重要的是要理解
SQL> show parameter undo_retention;

NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
undo_retention integer 900
這是預設的900,其中undo保留900s,後面undo磁碟不夠就可能回收,那樣閃回可能會失敗,當然也可以強制保留更久,更詳細的解釋自行百度,下面是我的對閃回的為知筆記的一點點簡單記錄:http://8840743b.wiz03.com/share/s/28g7gX2-0A_U21N5531o6XTR1JE9nV1SfQc52nk8DX1zamut

謝謝閱讀,有興趣交流的留言

oracle 恢複table刪除資料 恢複package(使用閃回)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.