Oracle Dataguard(主庫為 Oracle 11g 單節點)配置詳解(1):Oracle Dataguard 概述

Oracle Dataguard(主庫為 Oracle 11g 單節點)配置詳解(1):Oracle Dataguard 概述

目錄

  • Oracle Dataguard(主庫為 Oracle 11g 單節點)配置詳解(1):Oracle Dataguard 概述
    • 一、Oracle Dataguard 概念
    • 二、Oracle Dataguard 基本原理
    • 三、Oracle Dataguard 的特點
    • 四、Oracle Dataguard 的功能
    • 五、Oracle Dataguard 進程結構
    • 六、重做應用和 SQL 應用
        • 1、物理備用數據庫:重做應用
        • 2、邏輯備用數據庫:SQL 應用
        • 3、實時應用
    • 七、Oracle Dataguard 數據保護模式
        • 1、最大保護
        • 2、最高可用性
        • 3、最高性能

一、Oracle Dataguard 概念

Dataguard 是保證企業數據的高可用性(high availability,HA)、數據保護(data protection)與災難恢復(disaster recovery)的集成化災難恢復解決方案。

Dataguard 針對生產數據庫創建一個或多個同步備份,由一個生產數據庫和若干個備用數據庫組成,形成一個獨立的、易于管理的數據保護方案。

二、Oracle Dataguard 基本原理

1、當某次事務更改生產數據庫中的數據時,Oracle 在聯機重做日志文件(redo log)中記錄此次更改。

2、在 Dataguard 中,除了把日志記錄到本地的聯機日志文件和歸檔日志文件中,還通過網絡,把日志信息發送到遠程的備用數據庫服務器上。

備用日志文件寫入過程可以實時同步(最大保護模式),以實現零數據丟失。也可以是異步的(最大可用性模式),以減少對網絡帶寬的壓力。或者通過歸檔日志文件的批量傳輸模式(最大性能模式),以減少對生產系統的性能影響。

3、當備份數據庫接收到日志信息時,Dataguard 可以自動利用日志信息實現數據的同步。

4、當主數據庫打開并處于活動狀態時,備份數據庫可以執行恢復操作。如果主數據出現了故障,備用數據庫即可以被激活并接管生產數據庫的工作。

在這里插入圖片描述

圖1 Oracle Dataguard 結構

三、Oracle Dataguard 的特點

1、需要有冗余的服務器硬件。

2、需要冗余的存儲設備,主機和備機都需要同樣的存儲空間。

3、安裝配置較復雜,需要更多的配置步驟。

4、管理與維護成本高,該模式對維護人員的要求較高。

5、具備一定的容災特性,當主機數據庫不可用,可以把數據庫系統切換到備機上,具備容災的功能。

6、備機可以用作只讀查詢,備機可以切換到只讀狀態供報表之類的查詢操作,減輕主機的壓力。

四、Oracle Dataguard 的功能

Oracle Dataguard 包括一個生產數據庫,也稱為主數據庫,以及一個或多個備用數據庫,這些備用數據庫是與主數據庫在事務上一致的副本。

Dataguard 利用重做數據保持這種事務一致性。當主數據庫中發生事務時,則生成重做數據并將其寫入本地重做日志文件中。并且將重做數據傳輸到備用站點上,并應用到備用數據庫中,從而使備用數據庫與主數據庫保持同步。

Dataguard 允許管理員選擇將重做數據同步還是異步地發送到備用站點上。

備用數據庫的底層技術是 Dataguard 重做應用(物理備用數據庫)和 Dataguard SQL 應用(邏輯備用數據庫)。

物理備用數據庫在磁盤上擁有和主數據庫逐塊相同的數據庫結構,并且使用 Oracle 介質恢復進行更新。邏輯備用數據庫是一個獨立數據庫,它與主數據庫包含相同的數據。它使用 SQL 語句進行更新。

Dataguard 簡化了主數據庫和選定的備用數據庫之間的轉換和故障切換,從而減少了由計劃停機和計劃外故障所導致的總停機時間。

為了獲得更簡便的可管理性,Dataguard 還提供了一個分布式管理框架(稱為 Dataguard Broker),它不但自動化了 Dataguard 配置的創建、維護和監控,并對這些操作進行統一管理。管理員可以使用 Oracle Enterprise Manager 或 Broker 自己的專用命令行界面(DGMGRL) 來利用 Broker 的管理功能。

在這里插入圖片描述

圖2 Oracle Dataguard 結構組件

五、Oracle Dataguard 進程結構

Oracle Dataguard 的進程結構如圖3所示:

在這里插入圖片描述

圖3 Oracle Dataguard 進程結構

在主數據庫上,Oracle Dataguard 使用日志寫入器進程(LGWR)或歸檔器進程(ARCH)收集事務重做數據,并將其傳輸到備用數據庫中。使用獲取存檔日志進程(FAL)提供一個客戶服務器機制,用于在主數據庫和備用數據庫之間出現通信中斷之后將存檔日志發送到備用數據庫中,以實現自動填充間隔和重新同步。

在備用數據庫上,Oracle Dataguard 使用遠程文件服務器(RFS)進程從主數據庫接收重做記錄。使用管理恢復進程 (MRP)將重做信息應用到物理備用數據庫中。使用邏輯備用進程(LSP)將經過 SQL 轉換的重做信息應用到邏輯備用數據庫中。

如果啟用了 Dataguard Broker,Oracle Dataguard 還使用 Dataguard Broker Monitor(DMON)進程將主數據庫和備用數據庫作為一個統一的配置進行管理和監控。

六、重做應用和 SQL 應用

一旦創建了備用數據庫,Dataguard 自動將主數據庫重做數據傳輸給備用系統,然后將重做數據應用到備用數據庫中,從而使備用數據庫保持為與主數據庫在事務上一致的副本。

Dataguard 提供了兩種方法將這些重做數據應用到備用數據庫中,并使之與主數據庫在事務上保持一致。這些方法與 Data guard 支持的兩種類型的備用數據庫對應:

(1)重做應用,用于物理備用數據庫。

(2)SQL 應用,用于邏輯備用數據庫。

就從主數據庫進行的數據傳輸而言,這兩種類型的備用數據庫之間沒有差別。一旦重做數據到達備用服務器,這兩種類型的備用數據庫在將重做數據應用到備用數據庫的方式上就存在差異了。

1、物理備用數據庫:重做應用

通過使用 Oracle 介質恢復應用從主數據庫接收到的重做數據,物理備用數據庫與主數據庫保持同步。它在物理上與主數據庫逐塊相同,因而數據庫模式(包括索引)是相同的。

重做應用的工作過程:主數據庫上的日志切換將觸發備用數據庫上的日志切換,從而使備用數據庫上的歸檔器進程將當前的備用重做日志文件歸檔到備用數據庫上的一個存檔日志中。隨后,Dataguard 重做應用使用一個專用進程(稱為管理的恢復進程:MRP)讀取存檔日志,并將重做數據應用到物理備用數據庫中。如果啟用了實時應用,則 MRP 將在 RFS 進程寫滿當前的備用重做日志文件時直接從其中讀取重做數據。

2、邏輯備用數據庫:SQL 應用

盡管數據的物理組織和結構可能不同,但邏輯備用數據庫包含與主數據庫相同的邏輯信息。SQL 應用技術將從主數據庫接收到的重做數據轉換成 SQL 語句,然后在備用數據庫上執行 SQL 語句,以使邏輯備用數據庫與主數據庫保持同步。從而,在將 SQL 應用到邏輯備用數據庫上的同時,可以訪問邏輯備用數據庫來進行查詢和報表操作。

SQL 應用的工作過程:SQL 應用使用許多并行的執行服務器和后臺進程,它們將來自主數據庫的更改應用到邏輯備用數據庫中。讀取器進程從存檔日志(如果啟用了實時應用,也可以是備用重做日志)中讀取重做記錄。準備器進程將塊更改轉換成表更改或邏輯更改記錄(LCR)。構造器進程對來自各個 LCR 的已完成事務進行組合。分析器進程檢查完成的事務,辨明不同事務之間的相關性。協調器進程(也稱為邏輯備用進程,即 LSP)負責將事務分配給應用進程、監控事務之間的相關性以及批準將更改提交給邏輯備用數據庫。應用器進程將已指定事務的 LCR 應用到數據庫中,并在協調器指示提交事務時提交。

3、實時應用

實時應用可以在將重做數據一寫到備用重做日志中時,就將重做數據應用到備用數據庫中(無論采用重做應用還是 SQL 應用)。實時應用特性允許備用數據庫與主數據庫保持密切同步,從而啟用最新和實時報表。同時,這一特性也可減少轉換時間和故障切換時間,進而降低計劃內和計劃外業務停機時間。

要啟用物理備用數據庫的實時應用,應使用以下命令在物理備用數據庫上啟動恢復:

ALTER DATABASE RECOVER MANAGED STANDY DATABASE USING CURRENT LOGFILE;

要啟用邏輯備用數據庫的實時應用,應使用以下命令在邏輯備用數據庫上啟動應用進程:

ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

七、Oracle Dataguard 數據保護模式

Oracle Dataguard 提供三種數據保護模式(最大保護、最高可用性、最高性能)來平衡成本、可用性、性能和事務保護。在主數據庫上執行下面的 SQL 語
句可用于設置三種數據保護模式:

ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE}; 

下表從數據丟失風險的角度概述了各種模式的適用性。

保護模式在出現災難時數據丟失的風險重做傳輸機制
最大保護零數據丟失;雙重故障保護LGWR SYNC
最高可用性零數據丟失;單故障保護LGWR SYNC
最高性能最小數據丟失 — 通常從 0 到幾秒LGWR ASYNC 或 ARCH
1、最大保護

最大保護模式為主數據庫提供了最高水平的數據保護,從而確保一個全面的零數據丟失的災難恢復解決方案。當在最大保護模式下運行時,重做記錄由日志寫入器(LGWR)進程從主數據庫同步地傳輸到備用數據庫,并且直到確認事務數據在至少一個備用服務器上的磁盤上可用時,才在主數據庫上提交事務。

這種模式必須配置至少兩個備用數據庫,從而提供雙重故障保護。當最后參與的備用數據庫不可用時,主數據庫上的處理將停止。這就確保了當主數據庫與其所有備用數據庫失去聯系時,不會丟失事務。

由于重做傳輸的同步特性,這種最大保護模式可能潛在地影響主數據庫響應時間。可以通過配置一個低延遲網絡,并為它分配足夠應付高峰事務負載的帶寬來將這種影響減到最小。需要這種最大保護模式的企業有股票交易所、貨幣交易所、金融機構等。

2、最高可用性

最高可用性模式擁有僅次于最高水平的主數據庫數據可用性。如同最大保護模式一樣,重做數據由 LGWR 從主數據庫同步地傳輸到備用數據庫,直到確認事務數據在備用服務器的磁盤上可用時,事務才在主數據庫上完成。不過,在這種模式下,如果最后參與的備用數據庫變為不可用,處理將在主數據庫上繼續進行。

備用數據庫與主數據庫相比,可能暫時落在后面,但當它再次變為可用時,備用數據庫將自動同步,而不會丟失數據。
由于同步重做傳輸,這種保護模式可潛在地影響響應時間和吞吐量。可以通過配置一個低延遲網絡,并為它分配足夠應付高峰事務負載的帶寬來將這種影響減到最小。

最高可用性模式適用于想要在生產站點上出現嚴重中斷時(假定沒有其他故障)確保獲得零數據丟失保護,但不想讓生產數據庫受網絡/備用服務器故障影響的企業。

3、最高性能

最高性能模式是默認的保護模式。它與最高可用性模式相比,提供了稍微少一些的主數據庫數據保護,但提供了更高的性能。在這種模式下,當主數據庫處理事務時,重做數據由 LGWR 進程異步傳輸到備用數據庫上。另外,也可以將主數據庫上的歸檔器進程(ARCH)配置為在這種模式下傳輸重做數據。

在任何情況下,均先完成主數據庫上的寫操作,主數據庫的提交操作不等待備用數據庫確認接收。如果任意備用目標數據庫變為不可用,則處理將在主數據庫上繼續進行,這對性能只有很小的影響或沒有影響。

不過在這種情況下,數據庫告警日志將記錄錯誤消息,并可以通過 Enterprise Manager 相應地設置告警。 在主數據庫出現故障的情況下,可能有一些在主數據庫上提交了的事務沒有傳輸到備用數據庫中。如果網絡有足夠的吞吐量來跟上重做流量高峰,則丟失的事務將非常少或者為零。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64625.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64625.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64625.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

北京某新能源汽車生產及辦公網絡綜合監控項目

北京某新能源汽車是某世界500強汽車集團旗下的新能源公司,也是國內首個獲得新能源汽車生產資質、首家進行混合所有制改造、首批踐行國有控股企業員工持股的新能源汽車企業,其主營業務包括純電動乘用車研發設計、生產制造與銷售服務。 項目現狀 在企業全…

大數據系列之:深入理解學習使用騰訊COS和COS Ranger權限體系解決方案,從hdfs同步數據到cos

大數據系列之:深入理解學習使用騰訊COS和COS Ranger權限體系解決方案,從hdfs同步數據到cos 對象存儲COS對象存儲基本概念COS Ranger權限體系解決方案部署組件COS Ranger Plugin部署COS-Ranger-Service部署COS Ranger Client部署 COSN 從hdfs同步數據到co…

JAVA學習筆記_Redis進階

文章目錄 初識redisredis簡介windows啟動redis服務器linux啟動redis服務器圖形用戶界面客戶端RDM redis命令常用數據類型特殊類型字符串操作命令Key的層級格式哈希操作命令列表操作命令集合操作命令有序集合操作命令通用命令 java客戶端Jedisjedis連接池SpringDataRedis序列化手…

1月第一講:WxPython跨平臺開發框架之前后端結合實現附件信息的上傳及管理

1、功能描述和界面 前端(wxPython GUI): 提供文件選擇、顯示文件列表的界面。支持上傳、刪除和下載附件。展示上傳狀態和附件信息(如文件名、大小、上傳時間)。后端(REST API 服務)&#xff1a…

面試經典150題——滑動窗口

文章目錄 1、長度最小的子數組1.1 題目鏈接1.2 題目描述1.3 解題代碼1.4 解題思路 2、無重復字符的最長子串2.1 題目鏈接2.2 題目描述2.3 解題代碼2.4 解題思路 3、串聯所有單詞的子串3.1 題目鏈接3.2 題目描述3.3 解題代碼3.4 解題思路 4、最小覆蓋子串4.1 題目鏈接4.2 題目描…

12.29~12.31[net][review]need to recite[part 2]

網絡層 IP 首部的前一部分是固定長度,共 20 字節,是所有 IP 數據報必須具有的 路由器 路由選擇協議屬于網絡層控制層面的內容 l 路由器 的 主要工作: 轉發分組。 l 路由 信息協議 RIP (Routing Information Protocol ) 是 一種 分布式的…

免費下載 | 2024網絡安全產業發展核心洞察與趨勢預測

《2024網絡安全產業發展核心洞察與趨勢預測》報告的核心內容概要: 網絡安全產業概況: 2023年中國網絡安全產業市場規模約992億元,同比增長7%。 預計2024年市場規模將增長至1091億元,2025年達到1244億元。 網絡安全企業數量超過4…

Django項目部署到服務器

文章目錄 django項目部署到服務器在服務器上安裝Django和依賴:項目代碼上傳配置數據庫收集靜態文件配置Web服務器配置Gunicorn(WSGI服務器)啟動/停止/重載systemd服務。 django項目部署到服務器 在服務器上安裝Django和依賴: su…

記憶旅游系統|Java|SSM|VUE| 前后端分離

【技術棧】 1??:架構: B/S、MVC 2??:系統環境:Windowsh/Mac 3??:開發環境:IDEA、JDK1.8、Maven、Mysql5.7 4??:技術棧:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5??數據庫可…

微信小程序:定義頁面標題,動態設置頁面標題,json

1、常規設置頁面標題 正常微信小程序中,設置頁面標題再json頁面中進行設置,例如 {"usingComponents": {},"navigationBarTitleText": "標題","navigationBarBackgroundColor": "#78b7f7","navi…

基于通用優化軟件GAMS的數學建模和優化分析;GAMS安裝和介紹、GAMS程序編寫、GAMS程序調試、實際應用算例演示與經驗分享

GAMS(General Algebraic Modeling System)是一款高級建模系統,主要用于解決線性規劃、非線性規劃、動態規劃、混合整數規劃等優化問題。它以其簡單清晰的用戶接口和強健穩定的數值分析能力而著稱,適用于大型、復雜的優化問題。GAM…

理解生成協同促進?華為諾亞提出ILLUME,15M數據實現多模態理解生成一體化

多模態理解與生成一體化模型,致力于將視覺理解與生成能力融入同一框架,不僅推動了任務協同與泛化能力的突破,更重要的是,它代表著對類人智能(AGI)的一種深層探索。通過在單一模型中統一理解與生成&#xff…

學習vue3的筆記

一、vue和react的對比 1、基礎介紹 vue:https://cn.vuejs.org/ vue3是2020年創建的 react:https://react.dev/ react是一個2013年開源的JavaScript庫,嚴格意義上來說不是一個框架 2、diff算法 兩個框架采用的都是同級對比策略 兩節點對…

SQLiteDataBase數據庫

XML界面設計 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_paren…

k8s部署nginx+sshd實現文件上傳下載

要通過 nginx 和 sshd 實現文件的上傳和下載&#xff0c;通常的做法是結合 SSH 協議和 HTTP 協議&#xff0c;使用 nginx 提供 Web 服務器功能&#xff0c;同時使用 sshd&#xff08;即 SSH 服務&#xff09;來處理通過 SSH 協議進行的文件傳輸。 SSH 實現文件的上傳和下載&…

Golang 中 Goroutine 的調度

Golang 中 Goroutine 的調度 Golang 中的 Goroutine 是一種輕量級的線程&#xff0c;由 Go 運行時&#xff08;runtime&#xff09;自動管理。Goroutine 的調度基于 M:N 模型&#xff0c;即多個 Goroutine 可以映射到多個操作系統線程上執行。以下是詳細的調度過程和策略&…

clickhouse-backup配置及使用(Linux)

一、下載地址 Releases Altinity/clickhouse-backup GitHub 二、上傳到服務器解壓安裝 自行上傳至服務器&#xff0c;解壓命令&#xff1a; tar xvf clickhouse-backup-linux-amd64.tar.gz 三、創建軟連接 sudo ln -sv build/linux/amd64/clickhouse-backup /usr/local/bin/…

如何在群暉NAS上安裝并配置MySQL與phpMyAdmin遠程管理數據庫

文章目錄 前言1. 安裝MySQL2. 安裝phpMyAdmin3. 修改User表4. 本地測試連接MySQL5. 安裝cpolar內網穿透6. 配置MySQL公網訪問地址7. 配置MySQL固定公網地址8. 配置phpMyAdmin公網地址9. 配置phpmyadmin固定公網地址 前言 大家是不是經常遇到需要隨時隨地訪問自己數據的情況&am…

《向量數據庫指南》——Milvus Cloud 2.5:Sparse-BM25引領全文檢索新時代

Milvus Cloud BM25:重塑全文檢索的未來 在最新的Milvus Cloud 2.5版本中,我們自豪地引入了“全新”的全文檢索能力,這一創新不僅鞏固了Milvus Cloud在向量數據庫領域的領先地位,更為用戶提供了前所未有的靈活性和效率。作為大禹智庫的向量數據庫高級研究員,以及《向量數據…

SQL 總結

SQL 總結 引言 SQL(Structured Query Language,結構化查詢語言)是一種用于管理關系數據庫管理系統(RDBMS)的標準編程語言。自1974年首次提出以來,SQL已成為數據庫領域中不可或缺的一部分。它允許用戶執行各種操作,如查詢、更新、插入和刪除數據庫中的數據。本文旨在提…