Oracle 資料庫是熱門的企業級資料庫,可支援重要業務應用程式。本頁面將介紹 Oracle 資料庫環境的備份和災難復原服務。相關架構可提供應用程式一致的永久增量備份至 Google Cloud,以及多 TB Oracle 資料庫的即時復原和複製功能。
運作方式
以下各節將說明資料擷取和資料復原程序。
資料擷取
- 備份和災難復原代理已部署在 Oracle 伺服器中。 
- 在資料庫伺服器上掛接暫存磁碟。 
- 叫用 RMAN 增量 API 來複製已變更的區塊。 
- 叫用 RMAN 增量合併功能,建立新的虛擬完整備份。 
- 從資料庫伺服器卸載暫存磁碟。 
- 備份和災難復原會擷取內部快照。即時合成全量資料已就緒。 
資料復原
備份和 DR 會立即透過 ISCSI 或 NFS 掛載可重寫的暫存磁碟,並將資料庫上線。
Oracle 備份 API
備份和災難復原服務會使用下列 Oracle API:
- RMAN 映像檔複製:資料檔案的映像檔複製作業還原速度會快得多,因為資料檔案的實體結構已存在。RMAN 指令 BACKUP AS COPY 會為整個資料庫的所有資料檔案建立映像檔副本,並保留資料檔案格式。 
- ASM 和 CRS API:使用 ASM 和 CRS API 管理 ASM 備份磁碟群組。 
- RMAN 封存記錄備份 API:系統會將產生的封存記錄備份到暫存磁碟,並從實際工作環境封存位置清除。 
搭配其他備份產品使用備份和災難復原服務時,盡量減少衝突
備份和災難復原服務可與從實際運作資料庫擷取資料的舊版產品共存。以下最佳做法有助於改善您的體驗:
Oracle 資料庫備份時間表
| 最佳做法 | 排定備份和 DR 服務資料庫備份工作的開始時間,以便在舊版備份軟體應完成備份時開始備份。請勿在備份和災難復原服務資料庫備份工作正常完成後,立即排定舊版備份軟體的執行時程。 | 
| 原因 | 如果傳統備份工作和備份和災難復原服務資料庫備份工作同時執行,可能會對資料庫伺服器造成嚴重的效能影響,導致伺服器不穩定,甚至可能中斷服務。此外,對於 Oracle,這可能會導致一個或兩個解決方案的備份映像檔無效。 | 
Oracle 封存記錄管理
Oracle 會使用資料庫備份期間產生的封存記錄,確保備份的一致性和可復原性。因此,如果在資料庫備份工作期間清除封存記錄,就無法復原該備份副本。
| 需求 | 只有一個系統可以管理 (擷取和/或截斷/清除) 記錄,可能是舊版備份軟體或備份和災難復原服務。 | 
| 最佳做法 | 請勿在備份和 DR 工作期間清除 Oracle 封存記錄,也請勿在舊版 RMAN 備份工作期間,允許備份和 DR 服務清除封存記錄。 如果舊版軟體管理封存記錄,請在備份和 DR 備份工作開始時,在舊版備份軟體中停用封存記錄清除工作,並在清除前至少保留 24 小時的封存記錄,或在清除後恢復清除工作。 | 
| 原因 | 如果封存記錄是在資料庫備份工作期間清除,則該資料庫備份映像可能無法復原。 | 
RMAN 中繼資料與舊版備份發生衝突,導致備份與 DR 服務備份失效
根據預設,備份和災難復原服務應用程式詳細資料和設定中的參數 DO NOT UNCATALOG 會設為「否」。備份和災難復原資料檔案備份會在備份開始時編目,並在工作結束時取消編目。將此選項設為「是」,系統會在每次備份工作後保留 RMAN 資料檔案備份目錄,藉此縮短資料檔案數量龐大的資料庫備份時間。但會干擾其他備份產品。
| 需求 | 將備份和災難復原應用程式詳細資料和設定參數 Do not uncatalog設為「否」。 | 
| 最佳做法 | 備份和災難復原服務資料庫備份是永久遞增式備份。方法是使用 RMAN 映像檔複製功能搭配 RMAN 增量合併 API。第一個 RMAN 備份是備份磁碟和 DR 備份磁碟上資料庫資料檔案的完整圖像副本,以及備份磁碟的內部快照。後續的 RMAN 增量備份會在備份和 DR 備份磁碟上執行 RMAN 增量合併作業,並在快照前更新上次完整備份的增量變更。不過,如果第三方資料庫備份或備份交叉檢查在備份和災難復原資料庫備份後執行,則備份和災難復原備份下的所有備份資料檔案都會在 RMAN 中繼資料中標示為已淘汰。備份和 DR 應用程式詳細資料與設定參數 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 使用這些檔案。
- 從目標主機卸載資料庫。
- 將資料庫以應用程式感知方式掛載至目標主機。
 
使用 Oracle Exadata 資料庫或 Oracle ExaCC 進行備份和災難復原
備份/復原設備支援透過 iSCSI 或 Oracle dNFS 通訊協定擷取及呈現 Exadata 資料。
- 備份/復原設備會透過網路中的 iSCSI 或 Oracle dNFS 連線 (不在資料路徑中)。 
- RMAN 備份會使用 RMAN 直接寫入備份和災難復原服務以檔案系統或 ASM 磁碟群組呈現的複本資料儲存庫。 
- 資料擷取格式:在「ASM 磁碟群組」 (僅限 iSCSI) 或「檔案系統」 (dNFS 或 iSCSI) 下方。 
- 備份和災難復原漸進式備份會使用 RMAN 逐步更新的備份,並滾動式前進圖像複本備份。 
Exadata 資料和 ExaCC 的備份和災難復原擷取
您必須在 Exadata 伺服器上安裝備份和災難復原代理程式,以利與備份/復原設備進行通訊,並叫用 RMAN API 進行資料庫備份。
備份和災難復原代理程式會將備份和災難復原磁碟公開並對應至 Exadata 伺服器,做為 iSCSI 目標。資料擷取格式可設在 ASM 磁碟群組或「檔案系統」下方。
在使用者空間下方的每個 Exadata 主機上安裝備份和 DR 代理程式,以利與備份/復原裝置通訊,並叫用 RMAN API 進行資料庫備份。
擷取 ASM 磁碟群組下的格式
備份期間,備份和災難復原代理會執行以下操作:
- 將邏輯磁碟對應至 Exadata 伺服器,並以 iSCSI 目標的形式公開。 
- 將備份和 DR 磁碟路徑新增至 ASM 磁碟字串。 
- 請確認 ASM 磁碟字串已新增至參數檔案,且不存在於 CRS 設定檔中。 
- 使用備份和 DR 磁碟建立 ASM 磁碟群組,做為外部備援機制。 - 使用 RMAN 備份,透過 RMAN 直接寫入備份/復原設備提供的副本資料儲存庫,以 ASM 磁碟群組或檔案系統形式呈現。 
- 使用 RMAN 逐步更新備份進行漸進式備份,並回滾圖片複本備份。 
 
使用 dNFS 擷取檔案系統下的格式
Oracle 直接 NFS (dNFS) 是經過最佳化的 NFS (網路檔案系統) 用戶端,可提供更快速且可擴充的 NFS 儲存空間存取權,該儲存空間位於 NAS 儲存裝置上 (可透過 TCP/IP 存取)。直接 NFS 會直接建構至資料庫核心,就像 ASM 一樣。
dNFS 通訊協定可用於以檔案系統為基礎的備份作業,做為 NFS 共用區。
備份和災難復原代理程會將備份和災難復原磁碟公開並對應至 Exadata 伺服器,做為 NFS 共用。
Exadata 伺服器上的 dNFS 先決條件:
- 在 Exadata 伺服器上啟用 dNFS: - cd $ORACLE_HOME/rdbms/lib- make -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 資料庫
- 透過備份和災難復原工作流程佈建環境