goldengate——简介

news/2025/2/12 7:57:05/

        GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标 数据库,从而实现源数据库与目标数据库同步。GoldenGate 可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据 仓库供应、交易跟踪、数据同步、集中/分发、容灾等多个场景下应用。同时,GoldenGate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。

GoldenGate技术架构

        和传统的逻辑复制一样,Oracle GoldenGate 实现原理是通过抽取源端的redo log 或者 archive log ,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现 同源端数据同步。图1-1 是Oracle GoldenGate 的技术架构。

Manager进程

        Manager进程是GoldenGate 的控制进程。如果把所有的 Oracle 进程比喻为军队,那么 Manager 就相当于司令。Manager 进程运行在源端和目标端上,它主要有以下几个方面的 作用:启动、监控、重启GoldenGate 的其他进程,报告错误及事件,分配数据存储空间, 发布阈值报告等。每个源端或者目标端有且只能存在一个 Manager 进程。其运行状态有两种即 RUNNING(正在运行)和STOPPED(已经停止)。

在Windows 系统上,Manager进程是作为一个服务来启动的,而在类UNIX 系统中, Manager则是一个操作系统进程。

Extract 进程

        Extract 运行在数据库源端,负责从源端数据表或者日志中捕获数据。在早期的 GoldenGate 版本中,它通常被称为Collect 进程。按照其所处的阶段不同,Extract 的作用 可以按照时间来划分。

初始数据装载阶段:在初始数据装载阶段,Extract 进程直接从源端的数据表中抽取数据。 同步变化捕获阶段:初始数据同步完成以后,Extract 进程负责捕获源端数据的变化 (DML和DDL)。

Extract 进程利用其内在的checkpoint 机制,周期性地检查并记录其读写的位置,通常 是写入到一个本地的trail 文件。这种机制是为了保证如果Extract 进程终止或者操作系统 宕机,重新启动 Extract 进程后,GoldenGate 能够恢复到以前的状态,从上一个断点处继续 往下运行,而不会有任何数据损失。

Extract 进程的状态包括STOPPED(正常停止)、STARTING (正在启动)、RUNNING (正在运行)、ABENDED (Abnomal End 的缩写,表示异常结束)。

Pump 进程

        Pump 进程运行在数据库源端,其作用非常简单。如果源端使用了本地的trail 文件, 那么Pump 进程就会把trail 以数据块的形式通过TCP/IP协议发送到目标端,这通常也是推 荐的方式。Pump 进程本质是Extract 进程的一种特殊形式,如果不使用trail 文件,那么就 是Extract 进程在抽取完数据以后,直接投递到目标端。

与Pump 进程相对应的叫做Server Collector 进程,这个进程不需要引起人们的关注, 因为在实际操作过程中无需对其进行任何配置,所以对人们来说它是透明的。它运行在目 标端,其任务就是把 Extract/Pump 投递过来的数据块重新组装成trail 文件,人们称之为远 程trail 文件。

Trail文件

       为了更有效、更安全地把数据库事务信息从源端投递到目标端,GoldenGate 引进trail 文件的概念。前面提到Extract 抽取完数据以后GoldenGate 会将抽取的事务信息转化为一 种GoldenGate 专有格式的文件,然后Pump 负责把源端的trail 文件投递到目标端,所以源、 目标两端都会存在这种文件,源端存放的trail 文件叫本地trail 文件,目标端存放的trail 文件叫远程trail 文件。trail 文件存在的目的旨在防止单点故障,将事务信息持久化,并且 使用checkpoint 机制来记录其读写位置,如果故障发生,则数据可以根据checkpoint 记录 的位置来重传。值得一提的是,trail 文件并不总是必须的。人们可以在配置Extract 进程的时候通过 TCP/IP协议直接把日志的信息投递到目标端。但通常并不推荐这么做,因为一旦发生系统 宕机或者网络故障,则有可能造成数据的丢失。

Replicat 进程

        Replicat 进程,通常也把它叫做应用进程。运行在目标端,是数据传递的最后一站, 负责读取目标端trail 文件中的内容,并将其解析为 DML或DDL语句,然后应用到目标数 据库中。和Extract 进程一样,Replicat也有其内部的checkpoint 机制,保证进程重新启动后可 以从上次记录的位置开始恢复,而无数据损失的风险。 它的运行状态和 Extract 进程一致,包括 STOPPED、STARTING 、RUNNING 、 ABENDED 。

GGSCI

        GGSCI是GoldenGate Software Command Interface的缩写,它提供了十分丰富的命令 来对GoldenGate 进行各种操作,如创建、修改、监控GoldenGate 进程等。绝大部分的操作都是通过它来完成的。当然如果您需要GUI 方式的图形界面来管理, 则需要购买GoldenGate Director。

GoldenGate的复制模式

        GoldenGate 的模式包括图1-2 中描述的几种,其中“一对一”是 GoldenGate 最简单的 一种模式,也是最常用的模式。

这种模式的一种典型应用就是用于数据容灾,通常源端数据库为生产端,目标端数据 库为容灾端。另外一种应用场景是把源端的OLTP系统产生的交易日志传送到目标端,使用BI数据 仓库或者是OLAP。

GoldenGate应用情况

1.高可用性与容灾

容灾与应急备份。消除计划内停机。双业务中心。OLTP 和OLAP 分开。


2.主数据 数据库移植、升级

3.实时数据集成

数据仓库实时供给。实时报表。政府、企业垂直部门级数据同步。主数据。


http://www.ppmy.cn/news/411952.html

相关文章

kingroot权限管理_KingRoot

KingRoot是由Kingroot工作室开发的一款Android手机一键Root工具,使用KingRoot几乎支持Android目前所有的版本的系统进行Root,该Root只需要用户点击“一键Root”即可使用KingRoot获取Root权限。 软件特色 1、软件卸载 轻松卸载系统自带的、内置的、预装的…

电巢:半导体ATE国产化产业探究(附国内外厂家汇总)

前言 2022年10月7日,美国BIS发布近年来范围最大半导体管制举措,管控范围包括芯片、设备、零部件、人员等。 12月6日下午,全球最大晶圆代工厂台积电,在美国亚利桑那州凤凰城高调举行了首批机台设备迁机仪式。 据联合早报12月8日报道…

GeekChallenge

2.GeekChallenge 1.web 1.朋友的学妹 url:http://49.234.224.119:7413/ 右键点击查看源码,找到flagU1lDe0YxQF80c19oNExwZnVsbGxsbGx9 然后base64解码得到SYC{F1_4s_h4Lpfullllll} 2.EZwww url:http://47.100.46.169:3901/ 根据网站提示…

基于阻尼绕组起动同步电动机matlab完整程序分享

主要包含输出转速,感应转矩,磁场变化,感应电压,感应电流等6个参数变化曲线图!! 完整程序如下: clc; clear; close all; warning off; addpath(genpath(pwd)); %電機參數設定 r_stat_in=15;%stator內圈半徑 r_stat_out=17;%stator外圈半徑 width_rot=2;%rotor細部寬度 leng…

ubuntu解决没有nvcc命令的错误

cuda安装完成后,用nvcc查看安装版本,但是nvcc -V找不到命令。然后在terminal中提示sudo apt-get install nvidia-cuda-toolkit安装 解决办法:(~/.bashrc是一个在home下的隐藏文件) 办法一:如果存在nvcc可执行文件,但…

Java大全(一)

第一章 Java基础知识 1.MyEclipse快捷键用法 【ALT / 】 内容补全 【Ctrl / 】 快速添加或取消行注释【ctrlshift/ 】 【ctrlshift\】添加/删除<!-- -->注释【CtrlD】 删除当前行【CtrlO】 显示大纲【Ctrl M 】 窗口最大化与还原【…

web课程设计——仿小米商城(10个页面)html css javascript web前端课程设计 web前端课程设计代码 web课程设计 HTML网页制作代码

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 [TOC](文章目录&#x1…

web课程设计——仿小米商城(10个页面)HTML+CSS+JavaScript web前端课程设计 web前端课程设计代码 web课程设计 HTML网页制作代码

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…