Oracle 資料庫是熱門的企業級資料庫,支援重要業務應用程式。本頁面將介紹適用於 Oracle 資料庫環境的備份和災難復原服務。相關聯的架構可提供應用程式一致的永久增量備份至 Google Cloud,以及多 TB Oracle 資料庫的即時復原和複製功能。
運作方式
以下各節說明資料擷取和資料復原程序。
資料擷取
備份和災難復原代理程式部署在 Oracle 伺服器中。
在資料庫伺服器上掛接暫存磁碟。
叫用 RMAN 增量 API,複製變更的區塊。
叫用 RMAN 增量合併,建立新的虛擬完整備份。
從資料庫伺服器卸載暫存磁碟。
備份和災難復原服務會建立內部快照。時間點合成完整備份已就緒。
資料復原
備份和災難復原會透過 ISCSI 或 NFS 立即掛接可重寫的暫存磁碟,並將資料庫上線。
Oracle 備份 API
備份和災難復原使用下列 Oracle API:
RMAN 映像副本:資料檔案的映像副本還原速度快得多,因為資料檔案的實體結構已存在。RMAN 指令 BACKUP AS COPY 會為整個資料庫的所有資料檔案建立映像檔副本,並保留資料檔案格式。
ASM 和 CRS API:ASM 備份磁碟群組是使用 ASM 和 CRS API 管理。
RMAN 封存記錄備份 API:產生的封存記錄會備份到暫存磁碟,並從正式環境封存位置清除。
搭配其他備份產品使用備份和災難復原服務時,盡量減少衝突
備份和災難復原服務可與舊版產品共存,並從生產資料庫擷取資料。以下最佳做法有助於提升體驗:
Oracle 資料庫備份時間表
| 最佳做法 | 排定備份和災難復原服務資料庫備份工作,在舊版備份軟體完成作業後開始執行。請勿排定舊版備份軟體在備份和災難復原服務資料庫備份作業正常完成後立即執行。 |
| 原因 | 如果舊版備份工作和備份和災難復原服務資料庫備份工作同時執行,可能會對資料庫伺服器造成嚴重的效能影響,導致不穩定,甚至可能發生服務中斷。此外,如果是 Oracle,這可能會導致一或兩種解決方案的備份無效。 |
Oracle 封存記錄管理
Oracle 會使用資料庫備份期間產生的封存記錄,確保備份資料的一致性和可復原性。因此,如果在資料庫備份作業期間清除封存記錄,該備份副本就無法復原。
| 條件 | 只有一個系統可以管理 (擷取和/或截斷/清除) 記錄,也就是舊版備份軟體或備份和災難復原服務。 |
| 最佳做法 | 在備份和災難復原工作期間,請勿允許清除 Oracle 封存記錄,且在舊版備份 RMAN 工作期間,請勿允許備份和災難復原服務清除封存記錄。 如果舊版軟體管理封存記錄,請在備份和災難復原備份工作開始時,停用舊版備份軟體中的封存記錄清除工作,並在工作結束時恢復清除工作,或保留封存記錄至少 24 小時再清除。 |
| 原因 | 如果在資料庫備份作業期間清除封存記錄,該資料庫備份可能無法復原。 |
RMAN 中繼資料與舊版備份發生衝突,導致備份和災難復原服務備份過時
根據預設,備份和災難復原服務應用程式詳細資料與設定中的 DO NOT UNCATALOG 參數會設為「否」。備份和災難復原資料檔案備份作業會在備份開始時編目,並在作業結束時取消編目。如果將這項設定設為「是」,系統會在每個備份工作完成後,將 RMAN 資料檔案備份編目,藉此縮短資料檔案數量龐大的資料庫備份時間。但會干擾其他備份產品。
| 條件 | 將備份和災難復原應用程式詳細資料及設定參數 Do not uncatalog 設為「否」。 |
| 最佳做法 | 備份和災難復原服務資料庫備份作業會永久進行增量備份。這是透過 RMAN 映像檔副本搭配 RMAN 增量合併 API 達成。第一個 RMAN 備份是資料庫資料檔案的完整映像副本,位於備份和災難復原備份磁碟上,並包含備份磁碟的內部快照。後續執行 RMAN 增量備份時,備份和災難復原備份磁碟會進行 RMAN 增量合併,並在建立快照前,以增量變更更新上次的完整備份。不過,如果第三方資料庫備份或備份交叉檢查是在備份和災難復原資料庫備份後執行,則 RMAN 中繼資料會將備份和災難復原備份中的所有備份資料檔案標示為過時。備份和災難復原應用程式詳細資料和設定參數設為「是」Do not uncatalog,會導致下列錯誤:無法編目來自暫存裝置的映像檔副本,且備份作業失敗。將 Do not uncatalog 設為「否」,與其他舊版備份產品共存。 |
| 原因 | 根據預設,參數 Do not uncatalog> in Backup and DR
application details & settings is set to No. Setting
this to Yes interferes with other backup products.
|
Oracle 資料庫區塊變更追蹤 (BCT)
Oracle 區塊變更追蹤功能可識別哪些區塊已變更,進而加快資料庫備份速度。備份作業只會納入變更的區塊。
備份和災難復原服務的永久增量備份功能支援啟用或停用 BCT 的資料庫。如果未啟用 BCT,增量備份時間會增加。
在資料庫層級啟用變更區塊追蹤功能。
Oracle 會在追蹤檔案中記錄每個資料檔案的變更區塊,追蹤檔案是儲存在資料庫區域的小型二進位檔案。
啟用 BCT 後,RMAN 會使用 BCT 檔案取得增量備份的變更區塊。
如果資料庫未啟用變更區塊追蹤功能,RMAN 會在增量備份期間掃描資料庫中所有資料檔案的每個區塊。
在備份和災難復原一致性群組中保護 Oracle 資料庫
在大多數設定中,一致性群組可以包含單一 Oracle 資料庫應用程式,以及 Oracle 伺服器中的任意數量檔案系統應用程式。在測試開發和其他業務靈活度用途中,建議選擇一致性群組做為 Oracle 資料庫。
使用 TDE 的 Oracle 資料庫
備份和災難復原服務支援各種擷取和呈現方法,適用於各種設定下的 Oracle 資料庫。包括備份、復原,以及設定資料庫透明加密 (TDE) 的 Oracle 資料庫應用程式感知掛接作業。
如果是使用 TDE 的 Oracle 資料庫,來源備份主機的錢包檔案必須可供任何應用程式感知掛接的目標主機使用。有多種方式可以達成這個目的。
- 錢包檔案可以從備份來源伺服器複製到目標掛接伺服器,並設定 Oracle 來存取這些檔案。
- 如果 Oracle 錢包檔案儲存在網路上的中央共用裝置,則應設定 Appaware 掛接目標 Oracle 執行個體,以便存取這些檔案。
如果在備份和災難復原服務備份期間,透過設定 Oracle 設定檔位置進階設定擷取 Oracle 錢包檔案,可以按照下列步驟擷取錢包檔案:
使用 Oracle Exadata 資料庫或 Oracle ExaCC 進行備份和災難復原
備份/復原設備支援透過 iSCSI 或 Oracle dNFS 通訊協定擷取及呈現 Exadata 資料。
備份/復原設備透過 iSCSI 或 Oracle dNFS 連線至網路 (不在資料路徑中)。
RMAN 備份會使用 RMAN,直接寫入備份和災難復原提供的副本資料儲存庫,做為檔案系統或 ASM 磁碟群組。
資料擷取格式:在「ASM disk group」(ASM 磁碟群組) (僅限 iSCSI) 或「File system」(檔案系統) (dNFS 或 iSCSI) 下方。
備份和災難復原的永久增量備份功能會使用 RMAN 增量更新備份,並向前滾動映像檔副本備份。
備份和災難復原擷取 Exadata 資料和 ExaCC
您必須在 Exadata 伺服器上安裝備份和災難復原代理程式,才能與備份/復原設備通訊,並叫用 RMAN API 進行資料庫備份。
備份和災難復原代理程式會將備份和災難復原磁碟公開並對應至 Exadata 伺服器,做為 iSCSI 目標。資料擷取格式可位於 ASM 磁碟群組 或檔案系統下方。
在使用者空間下,於每個 Exadata 主機上安裝備份和災難復原代理程式,以利與備份/復原裝置通訊,並叫用 RMAN API 進行資料庫備份。
擷取 ASM 磁碟群組下的擷取格式
備份期間,備份和災難復原代理程式會執行下列動作:
將邏輯磁碟對應並公開至 Exadata 伺服器,做為 iSCSI 目標。
將備份和災難復原磁碟路徑新增至 ASM 磁碟字串。
確認 ASM 磁碟字串已新增至參數檔案,且 CRS 設定檔中沒有該字串。
使用 Backup and DR 磁碟建立 ASM 磁碟群組,做為外部備援。
使用 RMAN 備份:使用 RMAN 直接寫入備份/復原設備提供的副本資料儲存庫,做為 ASM 磁碟群組或檔案系統。
使用 RMAN 增量更新備份,以「漸進式」備份,並向前推出映像檔副本備份。
使用 dNFS 擷取檔案系統下的格式
Oracle 直接 NFS (dNFS) 是經過最佳化的 NFS (網路檔案系統) 用戶端,可更快且更具擴充性地存取 NAS 儲存裝置上的 NFS 儲存空間 (可透過 TCP/IP 存取)。直接 NFS 會直接建構在資料庫核心中,就像 ASM 一樣。
dNFS 通訊協定可用於檔案系統備份,做為 NFS 共用區。
備份和災難復原代理程式會將備份和災難復原磁碟公開並對應至 Exadata 伺服器,做為 NFS 共用磁碟。
Exadata 伺服器上 dNFS 的先決條件:
在 Exadata 伺服器上啟用 dNFS:
cd $ORACLE_HOME/rdbms/libmake -f ins_rdbms.mk nfs on重新啟動資料庫。
使用 RMAN API 將資料庫備份到檔案系統,並透過備份/還原裝置呈現 dNFS 共用。
在目標資料庫伺服器重新啟動後,將受備份和災難復原保護的 ASM 磁碟群組恢復連線
如果資料庫伺服器在備份和災難復原副本掛接時重新啟動, 或備份和災難復原服務正在備份資料庫,但資料庫在備份期間重新啟動/當機, 請按照下列步驟重新掛接備份和災難復原磁碟群組:
確認目標資料庫伺服器已恢復運作,且 ASM 和 RAC 系統也已啟動。
重新啟動備份和災難復原代理程式 (從根目錄)。
設定 ASM 環境。
登入 ASM
sqlplus並檢查磁碟群組狀態:select name, state from v$asm_diskgroup where name = '<dg name>';)如果磁碟群組已卸載,請掛接該群組:
alter diskgroup <dg name> mount;登入 Oracle OS 並設定資料庫環境,然後啟動資料庫。
後續步驟
Oracle 專用備份和災難復原的其他說明文件
- Oracle 資料庫的備份和災難復原
- 保護 Oracle 資料庫的必要條件
- Oracle 修補程式和已知問題
- 準備要保護的 Oracle 資料庫
- 探索及保護 Oracle 資料庫
- 設定應用程式詳細資料和設定
- 搭配備份和災難復原服務使用 dNFS
- 保護探索到的 Oracle 資料庫
- 將 Oracle 資料庫掛接為標準掛接點
- 建立 Oracle 資料庫的即時虛擬副本
- 還原及復原 Oracle 資料庫
- 使用掛接和遷移功能即時復原 Oracle 資料庫
- 使用備份和災難復原工作流程佈建環境