Oracle

使用 Oracle Recovery Manager (RMAN) 進行行級還原

  • October 30, 2012

我們快到 2012 年底了,我仍然發現自己依靠數據庫導出來維持執行行級還原操作的能力。雖然這是一種行之有效的方法,但擺脫每天佔用大量數據庫資源的所有導出操作肯定會很好。

一個典型的場景是客戶不小心從創作系統中刪除了項目或文件。為了解決這個問題,我需要找到並放回那些已刪除的行。

我將從意外刪除之前的日期提取客戶模式的數據庫轉儲,將數據導入新模式。現在我可以辨識失去的數據,並將其重新選擇到生產模式中。

我知道您可以直接使用閃回恢復來做到這一點,但是我們可以在快速恢復區域中保留多少數據是有限的,而且客戶往往不會總是在規定的時間內找出他們的錯誤。

有沒有使用 Oracle RMAN 完成這些任務的好方法?

你的問題的答案是否定的,但是……

聽起來你需要一個閃回查詢。查詢數據存在的時間,當返回正確的數據時,插入到目前表中。此解決方案確實需要 UNDO 表空間中的空間來滿足您的UNDO_RETENTION要求。它也不使用 RMAN,但比導入整個模式要簡單得多。

INSERT INTO T1 (
  SELECT * FROM T1 AS OF TIMESTAMP sysdate-1 
  WHERE MyDateColumn = to_date('05/25/2011','MM/DD/YYYY')
);

引用自:https://dba.stackexchange.com/questions/27803