iT邦幫忙

1

請問如何救回誤刪的Oracle DB帳號和它原本底下的DB Ojects呢?

因為誤刪了Oracle DB裡的account (drop account),想請問有沒有什麼辦法可以把它和它底下的東西都救回來,請各位大大幫幫忙了,拜託拜託!

ricky5678 iT邦新手 5 級 ‧ 2017-02-12 06:48:40 檢舉
1.找備份用Rman restore到測試環境
2.用Exp 將Drop的User Export出來
3.用Imp將User完整的吐回正式環境
kuosheng iT邦新手 5 級 ‧ 2017-02-12 08:31:41 檢舉
正確

1 個回答

4
虎虎
iT邦新手 4 級 ‧ 2017-02-11 03:19:28

有幫忙救過 30 分鐘內 Oracle 誤刪的資料,越快越好
//不過以前 DBA 部門的同事好像超過 2 天還能撈暫存撈得到這樣…(?)
印象中是以 timestamp 或是 Recyclebin 方式救回來的
看能不能找回來,要不然可以聯絡您們家的系統或SI廠商,大部份都有提供緊急服務。

您可以試著找 Oralce 誤刪 會有不少其他網頁可以參考…
畢竟誤刪這種東西… 還蠻常發生的嘛…

當然還有工具啦
據說能救回來指定日期時間的 DB
蠻詳細的可以參考看看

timestamp
http://blog.itpub.net/28258625/viewspace-1411953/
Recyclebin
http://shinchuan1.blogspot.tw/2013/12/flashbackuprecyclebin.html

看更多先前的回應...收起先前的回應...
kuosheng iT邦新手 5 級 ‧ 2017-02-12 08:25:41 檢舉

"據說能救回來指定日期時間的 DB", 小姐, flashback 要開啦~~ 你說可救指的是資料列,但是他是用drop user cascade 的方式來刪資料...哈~~ 我只能說....1.找備份先,進行restore/recovery 2. 如果資料庫有開flashback 的功能, 還是得協調其他的帳戶使用者, 回溯功能式資料庫整體回去 3. recyclebin 我確實用在個別表格過, 但整個schema都砍的...哈...哈....唉!! 不懂Oracle 的人, 你幹嘛去下這個指令~~ 又是UI 用過頭了齁!!

kuosheng iT邦新手 5 級 ‧ 2017-02-12 08:30:44 檢舉

"不過以前 DBA 部門的同事好像超過 2 天還能撈暫存撈得到這樣…(?)" 你們家DB參數設定undo_retention有開這麼大嗎 ?? 還是你們家的db 的undo data file autoextend 是關掉的, 我想是後者吧!! 再加上你們家資料庫交易量又不大,所以還可以撈到兩天前誤刪的資料!! 你講的可救, 都有先決條件的啦!! 基本上, 在資料庫裏頭碰到誤刪的問題, 先想看看有沒有備份吧!!

虎虎 iT邦新手 4 級 ‧ 2017-02-13 10:21:48 檢舉

有"備份"的話,我是覺得應該不會問這個問題啦…
undo_retention 我也印象只有 < 30 min ,但我猜他們應該是用 oracle snapshot 之類的方式救回來的啦。
我是覺得畢竟能用指令救當然能rollback最好,不行的話在很短的時間內用timestamp,最不行才會找備份吧… 尤其是資料庫很大的時候…
不過您說的沒錯啦,我 Oracle 可能還用的很淺 XDDD

小財神 iT邦好手 1 級 ‧ 2017-02-14 14:48:49 檢舉

畢竟誤刪這種東西… 還蠻常發生的嘛…

哈哈哈~

我要發表回答

立即登入回答