記一次資料恢復
記一次資料恢復
同事不小心把生產的一個表truncate了,匆忙來找我想解決辦法。
一開始想到了用helldba站點的兄弟寫的truncate恢復辦法,但之前實際操作過,太複雜,要建表空間,還要很多許可權。
手忙腳亂了一下後,冷靜下來一想,還有個老耿寫的gdul工具,有恢復truncate的資料的選項。於是趕緊上傳工具,然後安裝。
安裝過程需要sys密碼。
下面是操作過程:
1、先bootstrap初始化
2、看下錶資料所在的表空間的ts#:info
3、掃描表表空間:scan tablespace [ts#]
4、同事說這個表被truncate過幾次,所以用下面這個命令無法直接恢復:untrunc table [user].[table_name]
5、改用drop表的恢復方式:先對錶空間取樣:sample segment all;然後unload表:unload table [user].[table_name] object_id [data_object_id]
但是在找data_object_id上發生了問題----這個表空間下有幾百個表,
也就是sample出來的檔案有幾百個,如何能找到那個檔案呢?如何快速的定位到我們要恢復的那個表的data_object_id呢?
我把所有dict檔案cat到一個檔案中,然後用欄位型別為date來篩選,結果發現大部分表都有這個date型別,無法高效的篩選出想要的表。
然後,想到用date型別結合欄位數來匹配查,發現還是太多,找起來太慢。在找的過程中,突然靈光一現,何不用col0032(這個表的欄位數)來匹配,
因為欄位名命名都有規律,都是按COL+4位數字(不足左側0補足)來編號的,所以。。。。。就很快找到了。
4、然後unload table [user].[table_name] object_id 12345
5、按照匯出的dmp檔案,匯入到庫中,資料恢復完成。
對於這次恢復,非常感謝老耿寫的這個工具,可操作性和使用性非常好。
另外,對這個工具,我也有一些建議。當恢復的時效性要求非常高時,對於表空間中資料物件比較多的情況下,
如何“快速”的定位到所要恢復的資料物件id非常重要。我覺得可以提供一個命令,列出所有資料物件的id和欄位數(同我分析檔案的過程一樣),以便檢視。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-2126819/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記一次刪庫到資料恢復資料恢復
- 記一次undo表空間資料塊恢復
- 一次特殊的資料庫恢復資料庫
- 記一次 MySQL 資料庫單表恢復事故處理MySql資料庫
- 記一次資料庫恢復-ORA-01194資料庫
- 記一次 oracle 資料庫在當機後的恢復Oracle資料庫
- 資料庫的一次資料恢復過程資料庫資料恢復
- 恢復資料,資料塊恢復
- 一次Oracle資料庫恢復過程Oracle資料庫
- 資料恢復:AMDU資料抽取恢復資料恢復
- 記一次oracle資料庫redolog全部丟失的恢復Oracle資料庫
- 伺服器資料恢復案例:FreeNAS資料恢復過程記錄伺服器資料恢復
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 記錄一次停電導致的資料庫不完全恢復資料庫
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 容災恢復 | 記一次K8S叢集中etcd資料快照的備份恢復實踐K8S
- 一次truncate table 後的資料恢復[轉帖]資料恢復
- 一次客戶資料庫恢復的過程資料庫
- 資料庫修復資料恢復資料庫資料恢復
- 【Vsan資料恢復】Vsan資料恢復案例資料恢復
- Vsan資料恢復—Vsan資料恢復案例資料恢復
- NAS陣列恢復資料資料恢復開盤陣列資料恢復
- Sybase ASE資料庫恢復,Sybase資料恢復,資料誤刪除恢復工具READSYBDEVICE資料庫資料恢復dev
- 記一次資料恢復[轉]--學習老熊處理問題的方法資料恢復
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 伺服器資料恢復—透過拼接資料庫碎片恢復SqlServer資料庫資料的資料恢復案例伺服器資料恢復資料庫SQLServer
- 伺服器資料恢復-ESX SERVER資料恢復案例伺服器資料恢復Server
- 【伺服器資料恢復】Vsan資料恢復案例伺服器資料恢復
- 【伺服器資料恢復】SUN SOLARIS資料恢復案例伺服器資料恢復
- 使用恢復建議恢復資料庫資料庫
- 【備份恢復】資料恢復指導資料恢復
- 記一次Kafka叢集的故障恢復Kafka
- RMAN一次RMAN將資料庫不完全恢復資料庫
- 一次客戶資料庫恢復的過程 [轉]資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- oracle實驗記錄 (恢復-恢復未備份的資料檔案)Oracle