Oracle GoldenGate復制過程

這兩種Oracle GoldenGate體系結構共有許多數據復制過程。

1、什么是Extract?

Extract是一個過程,該過程被配置為針對源數據庫運行或被配置為在下游挖掘數據庫(僅Oracle)上運行,以捕獲在其他位置的真實源數據庫中生成的數據。此過程是Oracle GoldenGate的提取或數據捕獲機制。

您可以為以下用例配置摘錄:

  • 初始負載:將Oracle GoldenGate設置為初始負載時,提取過程直接從源對象捕獲當前的靜態數據集。

  • 更改同步:設置Oracle GoldenGate時為了使源數據與另一組數據保持同步,提取過程將在初始同步發生后捕獲對已配置對象執行的DML和DDL操作。提取可以與數據庫在同一臺服務器上本地運行,也可以使用下游的集成提取在另一臺服務器上本地運行,以減少開銷。它存儲這些操作,直到收到包含它們的事務的提交記錄或回滾。如果收到回滾,它將丟棄該事務的操作。如果收到提交,它將把事務保留在磁盤中,稱為一系列的文件,該文件稱為跟蹤,在隊列中排隊等待傳播到目標系統。每個事務中的所有操作均作為順序組織的事務單元寫入到跟蹤中,并按照它們被提交到數據庫的順序(提交序列順序)進行。這種設計可確保速度和數據完整性。

    注意:

    即使事務可能還包括對在提取配置中的對象的操作,提取也會忽略對不在提取配置中的對象的操作。

提取過程可以配置為從三種類型的數據源中提取數據:

  • 源表:此源類型用于初始加載。
  • 數據庫恢復日志或事務日志:從日志捕獲時,實際方法取決于數據庫類型。Oracle數據庫重做日志就是這種源類型的一個示例。
  • 第三方捕獲模塊:此方法提供了一個通信層,該通信層將數據和元數據從外部API傳遞到Extract API。數據庫供應商或第三方供應商提供了提取數據操作并將其傳遞給Extract的組件。

2、什么是Trail?

Trail是磁盤上的一系列文件,Oracle GoldenGate在其中存儲捕獲的更改,以支持對數據庫更改的連續提取和復制。

跟蹤可以存在于源系統,中間系統,目標系統或這些系統的任何組合上,具體取決于您如何配置Oracle GoldenGate。在本地系統上,它被稱為提取路徑(或本地路徑)。在遠程系統上,它稱為遠程路徑。通過使用存儲線索,Oracle GoldenGate支持數據準確性和容錯能力。使用跟蹤還可以使提取和復制活動彼此獨立發生。將這些過程分開,您可以在如何處理和傳遞數據方面有更多選擇。例如,您可以連續提取更改并將其存儲在跟蹤中,以供以后在目標應用程序需要時復制到目標中,而不是連續提取和復制更改。

另外,跟蹤允許Oracle數據庫在異構環境中運行。數據以一致的格式存儲在跟蹤文件中,因此可以由“復制”過程讀取所有支持的數據庫。有關更多信息,請參見關于Oracle GoldenGate Trail。

寫入跟蹤文件的進程:

在Oracle GoldenGate Classic中,提取和數據泵過程將寫入跟蹤。只有一個提取過程可以寫入給定的本地路徑。盡管可以在不同路徑中使用相同的路徑名稱,但是所有本地路徑必須具有不同的全路徑名稱。

多個數據泵進程可以各自寫入相同名稱的路徑,但是物理路徑本身必須駐留在不同的遠程系統上,例如數據分布拓撲中。例如,名為Pumpm的數據泵和名為Pumpn的數據泵都可以駐留在sys01上并寫入名為的遠程跟蹤aa。Pumpm可以寫入sys02上的aa尾跡,而Pumpn可以寫入sys03上的aa尾跡。

在Oracle GoldenGate MA中,分發服務器和分發路徑用于寫入遠程跟蹤。

從跟蹤文件讀取的進程:

數據泵和復制過程從跟蹤文件中讀取。數據泵從鏈接到Extract流程的本地跟蹤中提取DML和DDL操作,如果需要,執行進一步的處理,并將數據傳輸到下游的下一個Oracle GoldenGate進程讀取的跟蹤(通常是Replicat,但是可以如果需要,則使用另一個數據泵)。

復制過程將讀取跟蹤,并將復制的DML和DDL操作應用于目標數據庫。

跟蹤文件的創建和維護:

在處理過程中會根據需要創建跟蹤文件。使用ADD RMTTRAILADD EXTTRAIL命令將路徑添加到Oracle GoldenGate配置時,可以為路徑指定一個兩個字符的名稱。默認情況下,線索存儲在dirdatOracle GoldenGate目錄的子目錄中。您可以使用TRAIL_SEQLEN_9D | TRAIL_SEQLEN_6D GLOBALS參數指定六位或九位的序列號;TRAIL_SEQLEN_9D默認設置。

創建每個新文件時,它會繼承兩個字符的跟蹤名稱,并在其后附加一個唯一的9位數字序列號(例如,從000000000到999999999 c:\ggs\dirdat\tr000000001)。當序列號達到999999999時,編號從000000000開始,并且先前的跟蹤文件將被覆蓋。可以使用Manager參數定期清除跟蹤文件 PURGEOLDEXTRACTS

您可以創建多個跟蹤,以將數據與不同的對象或應用程序分開。您將在TABLEor SEQUENCE參數中指定的對象鏈接到在Extract參數文件中使用EXTTRAILor RMTTRAIL參數指定的路徑。為了最大化吞吐量并最小化系統上的I / O負載,提取的數據以大塊的形式發送到路徑中和從路徑中發送出去。交易訂單被保留。

將現有路徑轉換為9位數字序列號

您可以將命名提取組的跟蹤文件從6位檢查點記錄轉換為9位檢查點記錄。使用 convchk 本地命令可正常停止您的提取,然后convchk 按如下所示進行升級,以將其轉換為9位數字的軌跡 :

convchk extract trail seqlen_9d

開始提取

您可以使用以下convchk 命令通過相同的過程將9位數字降級為6位數字 :

convchk extract trail seqlen_6d

注意:Extract Files:您可以配置Oracle GoldenGate將提取的數據存儲在提取文件中而不是跟蹤中。提取文件可以是單個文件,也可以將其配置為在預期操作系統限制文件大小的情況下滾動到多個文件中。除了不記錄檢查點外,它與跟蹤類似。一個或多個文件在運行期間自動創建。適用于跟蹤的相同版本控制功能也適用于提取文件。

什么是Replicat?

Replicat是將數據傳遞到目標數據庫的過程。它讀取目標數據庫上的跟蹤文件,重構DML或DDL操作,并將其應用于目標數據庫。

Replicat過程使用動態SQL一次編譯一條SQL語句,然后使用不同的綁定變量多次執行該語句。您可以配置復制過程,以便在將復制的操作應用于目標數據庫之前等待特定的時間。例如,可能需要延遲來防止錯誤SQL的傳播,控制跨不同時區的數據到達或為其他計劃中的事件發生留出時間。

對于Oracle GoldenGate的兩個常見用例,復制過程的功能如下:

  • 初始負載:當您為初始負載設置Oracle GoldenGate時,復制過程會將靜態數據副本應用于目標對象,或將數據路由到高速批量加載實用程序。
  • 更改同步:設置Oracle GoldenGate以使目標數據庫與源數據庫保持同步時,復制過程會使用本機數據庫接口或ODBC將源操作應用于目標對象,具體取決于數據庫類型。

您可以并行配置多個復制過程以及一個或多個提取過程和數據泵,以提高吞吐量。為了保持數據完整性,每組進程都處理不同的對象集。為了區分復制過程,請為每個過程分配一個組名

如果您不想使用多個復制過程,則可以并行,協調,集成模式配置單個復制過程。

  • 并行模式并行復制使用非集成選項支持所有數據庫。并行復制僅支持從具有完整元數據的跟蹤復制數據,這需要經典的跟蹤格式。與集成復制類似,它考慮了事務之間的依賴性。依賴性計算,映射和應用程序的并行性在數據庫外部執行,因此可以卸載到另一臺服務器。在此過程中維護事務完整性。此外,并行復制通過將大型事務拆分為多個塊并并行應用來支持大型事務的并行應用。
  • Oracle GoldenGate支持的所有數據庫都支持協調模式。在協調模式下,復制過程是線程化的。一個協調器線程產生并協調一個或多個并行執行復制的SQL操作的線程。協調的復制過程使用一個參數文件,并作為一個單元進行監視和管理。
  • Oracle Database 11.2.0.4或更高版本支持集成模式。在集成模式下,復制過程利用了Oracle數據庫中可用的應用處理功能。在單個Replicat配置中,稱為應用服務器的多個入站服務器子進程將并行應用事務,同時保留原始事務的原子性。

你可以延遲復制,以便在將復制的操作應用于目標數據庫之前,它等待特定的時間。可能需要延遲,例如,以防止錯誤的SQL傳播,控制跨不同時區的數據到達或為其他計劃的事件發生留出時間。延遲的長度由DEFERAPPLYINTERVAL參數控制。

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

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

相關文章

awk教程入門與實例練習(一)

Awk 是一種非常好的語言,同時有一個非常奇怪的名稱。在本系列(共三篇文章)的第一篇文章中,Daniel Robbins 將使您迅速掌握 awk 編程技巧。隨著本系列的進展,將討論更高級的主題,最后將演示一個真正的高級 a…

HDFS-簡介

HDFS 是 Hadoop Distribute File System 的簡稱,意為:Hadoop 分布式文件系統,是一種旨在在商品硬件上運行的分布式文件系統。它與現有的分布式文件系統有許多相似之處。但是,與其他分布式文件系統的區別很明顯。HDFS具有高度的容錯…

awk教程入門與實例練習(二)

在這篇 awk 簡介的續集中,Daniel Robbins 繼續探索 awk(一種很棒但有怪異名稱的語言)。Daniel 將演示如何處理多行記錄、使用循環結構,以及創建并使用 awk 數組。閱讀完本文后,您將精通許多 awk 的功能,而且…

HDFS-配置項

一、core-site.xml與core-default.xml core-default.xml與core-site.xml的功能是一樣的&#xff0c;如果在core-site.xml里沒有配置的屬性&#xff0c;則會自動會獲取core-default.xml里的相同屬性的值 <configuration><property><!-- 這個屬性用來指定namenod…

awk教程入門與實例練習(三)

在 awk 系列的這篇總結中&#xff0c;Daniel 向您介紹 awk 重要的字符串函數&#xff0c;以及演示了如何從頭開始編寫完整的支票簿結算程序。在這個過程中&#xff0c;您將學習如何編寫自己的函數&#xff0c;并使用 awk 的多維數組。學完本文之后&#xff0c;您將掌握更多 awk…

HDFS-常用命令

1. -help&#xff1a;顯示幫助信息 hadoop fs -help rmshel2. -ls&#xff1a;顯示目錄信息 hadoop fs -ls /3. -mkdir&#xff1a;在HDFS上創建目錄 hadoop fs -mkdir -p /user/ha4. -moveFromLocal&#xff1a;從本地剪切粘貼到HDFS hadoop fs -moveFromLocal ~/test.txt…

如何關閉WINDOWS2003 DEP數據保護功能

近來很多朋友和客戶都使用了WINDOWS2003來架設自己的GAME SERVER,但有很多朋友反映說,不如WINDOWS2000好,原因不是穩定,而是成功率高,和簡單.但我個人覺得WINDOWS2003還是不錯的系統,如果朋友們都不用這個系統,而用WINDOWS2000 有點不值得了.我就開始找尋這樣的問題.我對GAME 不…

JDK源碼解析之 java.lang.Thread

位于java.lang包下的Thread類是非常重要的線程類&#xff0c;它實現了Runnable接口&#xff0c;今天我們來學習一下Thread類&#xff0c;在學習Thread類之前&#xff0c;先介紹與線程相關知識&#xff1a;線程的幾種狀態、上下文切換&#xff0c;然后接著介紹Thread類中的方法的…

TASKLIST

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]參數列表:/S system 指定連接到的遠程系統。/U [domain/]user 指定使用哪個用戶執行這個命令。/P [password] 為指定的用戶指定密碼。/SVC 顯示每個進程中的服務…

JDK源碼解析之 java.lang.ThreadLocal

此類提供線程局部變量。這些變量與普通變量不同&#xff0c;每個訪問一個線程&#xff08;通過其get或set方法&#xff09;的線程 都有其自己的&#xff0c;獨立初始化的變量副本。 ThreadLocal實例通常是希望將狀態與線程關聯的類中的私有靜態字段&#xff08;例如&#xff0c…

華爾街頂級大師胡立陽名言

1.不要聽“親朋好友”的話&#xff0c;他們只會讓你成為“平凡人”。 2.不要只會“用功讀書”&#xff0c;重要的是“要讀對書”。  3&#xff0e;不要只是“努力工作”&#xff0c;重要的是“做對工作”。   4.不要指示結交“志趣相投”的朋友&#xff0c;否則你永遠只看到…

JDK源碼解析之 Java.lang.Enum

Enum是一個特殊的類. 我們不能以class Xxx extends Enum的方式手動繼承, 必須寫成enum Xxx的形式; 然而這段枚舉類的定義在編譯之后又變回了class Xxx extends Enum. 一、類定義 public abstract class Enum<E extends Enum<E>>implements Comparable<E>, …

Linux下的一些簡單網絡配置命令介紹

1、 ifconfig可以使用ifconfig命令來配置并查看網絡接口的配置情況。例如&#xff1a;&#xff08;1&#xff09; 配置eth0的IP地址&#xff0c; 同時激活該設備。#ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up&#xff08;2&#xff09; 配置eth0別名設備eth0:1的IP地…

JDK源碼解析之 java.lang.Throwable

在 Java 中&#xff0c;所有的異常都有一個共同的祖先 Throwable&#xff08;可拋出&#xff09;。Throwable 指定代碼中可用異常傳播機制通過 Java 應用程序傳輸的任何問題的共性。 一、類定義 public class Throwable implements Serializable {}Serializable&#xff1a;可…

JDK源碼解析之 java.lang.Error

java.lang.Error 錯誤。是所有錯誤的基類&#xff0c;用于標識嚴重的程序運行問題。這些問題通常描述一些不應被應用程序捕獲的反常情況。 一、源碼部分 //繼承了java.lang.Throwable public class Error extends Throwable {//適用于java序列化機制,過判斷類的serialVersionU…

linux命令之有關網絡的操作命令

1&#xff0e;hostname 命令&#xff08;1&#xff09;一般格式&#xff1a;hostname [選項] [主機名]&#xff08;2&#xff09;說明&#xff1a;顯示或設置系統的主機名&#xff1b;如果無任何選項和主機名&#xff0c;則用于顯示系統的主機名。&#xff08;3&#xff09…

JDK源碼解析之 java.lang.Exception

異常。是所有異常的基類&#xff0c;用于標識一般的程序運行問題。這些問題通常描述一些會被應用程序捕獲的反常情況。 一、源碼部分 //繼承了java.lang.Throwable public class Exception extends Throwable {//適用于java序列化機制,過判斷類的serialVersionUID來驗證的版本…

linux命令之有關關機和查看系統信息的命令

shutdown 正常關機 reboot 重啟計算機 ps 查看目前程序執行的情況top 查看目前程序執行的情景和內存使用情況kill 終止一個進程date 更改或查看目前時間 一&#xff0e;查看系統的進程 要管理進程&#xff0c;首先要知…

HDFS-文件讀寫過程

一、文件讀取 Client向NameNode發起RPC請求&#xff0c;來確定請求文件block所在的位置&#xff1b;NameNode會視情況返回文件的部分或者全部block列表&#xff0c;對于每個block&#xff0c;NameNode 都會返回含有該 block 副本的 DataNode 地址&#xff1b; 這些返回的 DN 地…

linux命令復習之有關磁盤空間的命令

1&#xff0e;mount 命令&#xff08;1&#xff09;一般格式&#xff1a;mount 文件系統類型 [選項] 掛接設備&#xff08;2&#xff09;說明&#xff1a;將某個文件系統掛載到某個目錄上。當這個命令執行成功后&#xff0c;直到使用 umount 將這個文件系統移除為止。&…