Oracle

如何從完整備份中恢復可操作的 Oracle 11g 數據庫?

  • September 23, 2014

想像一下,事情變糟了,我們所擁有的只是一個全新的 Windows Server和我們的 Oracle 數據庫的完整冷備份

在 SQL Server 2000/2005/2008/2012 的情況下,只需點擊幾下滑鼠即可:複製備份文件,安裝數據庫實例,點擊幾下即可恢復文件,重新創建使用者,一切順利。

但是現在我們正在將Oracle 11g DB 標准設置為我們的數據庫解決方案,從我在 Internet 上看到的情況來看,這是一個非常複雜的問題,如果沒有在“通常”之外採取“行動”,這些冷備份文件可能會變得完全無用備份程序。

在尋找答案時,我遇到了某些主題,例如“無法訪問閃回恢復區域的數據庫複製形式備份”等,這些主題看起來與我們在 SQL Server 中所做的很接近。問題是所有這些都遠遠超出了我自己的經驗(SQL Server,還記得嗎?)所以我什至無法判斷我是否在尋找正確的方向。

所以我的問題是(我將它分成兩部分,因為我認為它在 Oracle 中很重要):

1)如果我們還沒有安裝任何緊急實例,我應該怎麼做才能正確“備份”我的生產數據庫並在緊急情況下在不同的機器上恢復它?

2)我應該怎麼做才能複製我的生產數據庫並在準備好的實例上恢復它(複製生產數據庫)。

最重要的是:在 SQL Server 中,這兩項任務是否有共同的方法?

簡而言之 - 是的,有標準的操作程序可以使用 Oracle 完成所有這些操作。您應該首先查看 RMAN(Recovery MANager)。我匯總了RMAN 的高級概述以及SQL Server DBA 的 Oracle 備份簡介。我建議同時觀看這兩篇文章,然後閱讀《Oracle 數據庫備份和恢復使用者指南》,了解更多關於您可用選項的資訊。

不過,基本上,RMAN 可以為您執行所有這些任務。如果您需要額外的工具,RMAN + Oracle Enterprise Manager 可以為您提供自動化、複製和其他報告功能。Oracle Enterprise Manager Database Control (dbcontrol) 也將非常有用,它將為您提供額外的基於 Web 的 GUI 工具。

要達到可以從基本 Windows 伺服器和冷備份文件恢復的地步,需要大量培訓。您需要與業務部門合作,定義有效的 RPO/RTO 計劃,為未來的培訓預算,然後在遇到空伺服器之前盡您所能降低風險。

稍微改進原始答案…

  1. 您應該開始使用 Oracle Recovery Manager (RMAN) 來備份您的數據庫。根據您配置 RMAN 的方式,您可能會將其發送到 NFS 或不同 SAN 上的一組磁碟。您的配置方式與您的 RPO/RTO 策略有很大關係。如果您需要將其發送到一個很酷的備用伺服器,您應該查看 Oracle Data Guard。根據配置,這可能會代替日誌傳送或 AlwaysOn 可用性組。
  2. 您可以使用 RMAN 複製數據庫,只需確保一切就緒並進行練習。

如果您的“完全冷備份”真的是在數據庫未執行時對所有數據庫文件進行完全備份,您只需將它們複製回原始位置即可。需要的文件是控製文件、線上重做日誌、init.ora 或 spfile、數據庫文件、密碼文件等。其中一些位於 $ORACLE_HOME/dbs,一些位於其他位置(取決於作業系統),其餘的是您創建它們的位置 :-)

最簡單的冷備份是:

  • 關閉數據庫和監聽器
  • 創建整個機器的完整文件系統備份,包括所有(!)具有任何數據庫文件的文件系統
  • 啟動數據庫和監聽器

恢復:

  • 將所有數據庫文件複製回來。
  • 如果您失去了 $ORACLE_HOME,請恢復它。
  • 在 Windows 上恢復您需要的所有其他 oracle 文件。

這應該適用於真正的冷備份。

如果您需要更好的方法:使用 RMAN

使用 RMAN,您可以做所有很酷的事情,例如線上備份和增量備份,您可以複製您的數據庫,在進行備份時進行塊檢查等等。

由於您在 2015 年之前沒有接受過教育(沒有接受過教育就購買 Oracle 幾乎是自殺!)請查看“2 天 DBA”一書 ( http://docs.oracle.com/cd/E11882_01/index.htm )。

複製數據庫必須等到您真正了解使用 RMAN 進行備份和還原。

記住:測試你的恢復!

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