在沒有 RMAN 的 Windows 上執行 Oracle 時,EXPDP 是最佳備份方法嗎?
好吧,我是這裡的 SQL Server DBA,我們有一個管理 Oracle 數據庫和使用者的 Oracle 高級 Dba。我很好奇他是如何處理這些伺服器/使用者的。
執行 oracle 時進行備份的最佳方法是什麼?
如果我沒記錯的話,轉儲不是備份。對?
他在這裡所做的是:
- 一個腳本為所有使用者創建一個帶有 EXPDP 的動態查詢並將其發送到一個 TXT 文件:
SELECT 'EXPDP parfile=export_options.par dumpfile=' || to_char(sysdate, 'YYYYMMDD_') || username || '_ServerName.dmp log=' || to_char(sysdate, 'YYYYMMDD_') || username || '_ServerName.log schemas=' || USERNAME || ' directory=dumpdir compression=ALL schemas=' || USERNAME FROM dba_users where created > '01/01/2005' and username not in (Some users) order by created desc
2)然後它在一個txt文件中創建了很多EXPDP:
EXPDP parfile=export_options.par dumpfile=20190221_USER_SERVER.dmp log=20190221_USER_SERVER.log schemas=USERdirectory=dumpdir compression=ALL schemas=USER EXPDP parfile=export_options.par dumpfile=20190221_USER_SERVER.dmp log=20190221_USER_SERVER.log schemas=USERdirectory=dumpdir compression=ALL schemas=USER EXPDP parfile=export_options.par dumpfile=20190221_USER_SERVER.dmp log=20190221_USER_SERVER.log schemas=USERdirectory=dumpdir compression=ALL schemas=USER
- 一個 WINDOWS 任務調度程序在所有使用者上執行此 TXT,執行 EXPDP 並將他們發送到一個文件夾。
這是你們通常在 Oracle 上做的事情嗎?如果這是我可以用作最佳實踐的東西,我現在想。
謝謝。
當您安裝 Oracle 數據庫時,RMAN 也會隨之安裝。多年來一直如此。
由於我在企業級工作,備份具有相當嚴格的含義,而 RMAN 備份是 Oracle 支持的唯一備份解決方案。甚至像 Commvault 這樣的第三方解決方案仍然使用 RMAN 命令來備份數據庫。
轉儲文件對於刷新開發非常有用,但您無法從轉儲文件完全恢復數據庫。您需要先安裝一個新數據庫。在此處查看 Phil 的出色回答
最終答案是備份需要什麼?
- 有恢復的平均時間嗎?
- 災難恢復計劃?
- 給客戶的 SLA 級別協議?
如果您的商店必須回答此類問題,那麼最佳做法是將 RMAN 備份複製到另一台伺服器,並將舊備份發送到場外並在這麼多天后過期。
回答您的問題
**問題:**在執行 oracle 時,進行備份的最佳方法是什麼?
首先
backup != dump
。Oracle 文件在第9.2 節數據庫備份和恢復概念(Oracle | 幫助中心 | 2 天 DBA)的第一段中說了很多話:備份數據庫意味著製作數據文件、控製文件和歸檔重做日誌文件的副本(如果數據庫在 ARCHIVELOG 模式下執行)。恢復數據庫意味著將構成數據庫的物理文件從備份介質(通常是磁碟或磁帶)複製到其原始位置或新位置。數據庫恢復是通過對恢復的文件應用增量備份和重做日誌,使用備份後對數據庫所做的更改來更新從備份恢復的數據庫文件的過程。
備份不僅僅是數據,還有控製文件和重做日誌文件(類似於 Microsoft SQL Server 中的 TLOG 文件)。
在下一節9.4 備份數據庫中,有以下介紹:
本節介紹如何使用Oracle Recovery Manager (RMAN) 備份數據庫。Oracle 建議的僅磁碟備份策略提供了高效的數據庫每日備份。此策略使您能夠在過去 24 小時內的任何時候快速將數據庫恢復到其狀態。
到目前為止,還沒有提到將模式/使用者轉儲為“備份”的概念。
回答
這意味著備份 Oracle 數據庫的最佳支持方法可能是使用 RMAN。
這部分回答了您的下一個問題:
**問:**如果我沒記錯的話,轉儲不是備份。對?
回答
正確的。從 Oracle 角度看,轉儲不是備份。
Oracle 對 Data Pump 的介紹1 Oracle Data Pump實用程序概述將該工具列為:
Oracle 數據泵技術支持將數據和元數據從一個數據庫高速移動到另一個數據庫。
沒有提到備份。
**問題:**這是你們通常在 Oracle 上做的事情嗎?
這可能取決於很多因素和不同的配置。就我自己來說,…
回答
…我可以說我不使用數據泵 (expdp/impdp) 作為備份數據庫的一種方式。我使用 RMAN (Recovery Manager) 來備份數據庫的一致狀態以及控製文件,這將允許我恢復數據庫並將數據庫恢復到某個時間點。
我確實使用數據泵作為導出數據庫部分以導入不同數據庫的一種方式。