广告
返回顶部
首页 > 资讯 > 数据库 >GoldenGate的基本原理介绍
  • 437
分享到

GoldenGate的基本原理介绍

2024-04-02 19:04:59 437人浏览 八月长安
摘要

本篇内容介绍了“GoldenGate的基本原理介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是Go

本篇内容介绍了“GoldenGate的基本原理介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

什么是GoldenGate

官方定义:
oracle GoldenGate is a comprehensive software package for real-time data integration and replication in heterogeneous IT environments.The product set enables high availability solutions, real-time data integration, transactional change data capture, data replication, transfORMations, and verification between operational and analytical enterprise systems.

大白话版:
Oracle GoldenGate(OGG)只会做一件事:复制数据。除此之外,啥也不会。

  • 专一

  • 高效

  • 跨平台

OGG支持的平台

支持的数据库
Oracle

支持的平台:

支持的操作:

  • DML

  • DDL

OGG支持的架构

GoldenGate的基本原理介绍


OGG基本原理-Oracle的Redo Log机制

GoldenGate的基本原理介绍

LGWR: Log Writer Process
日志写进程,将缓存中的Change Vector写入到文件(Online Redo Log)中

ARCn: ArcHiver Processes
归档进程,对Online Redo Log进行拷贝

Redo Log:
记录数据库的变更数据(Change Vector)。
分为:Online Redo Log和Archived Redo Log

OGG基本原理-工作机制

GoldenGate的基本原理介绍

GoldenGate的基本原理介绍


主要进程:

  • Manager

  • 总控进程

  • 管理其它进程

  • 管理网络端口

  • 管理TRAIL文件

  • 管理运行日志

Extract

  • 数据抓取

  • 数据分发(Data Pump)

Replicat

  • 数据应用

Collector

  • 数据接收

主要文件:
Trail
数据的记录

Checkpoints
数据检查点信息


OGG的安装

环境: Centos 6.7/Oracle 11.2.0.4/GoldenGate 11.2.1.0.32

Step 1. 设置环境变量
export ORACLE_HOME=/u01/app/oracle/product/database/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

Step 2. 解压缩软件包
cd /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1
tar xf fbo_ggs_Linux_x64_ora11g_64bit.tar

Step 3. 安装运行目录
cd /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1
./ggsci
GGSCI> create subdirs


OGG实施的基本步骤

场景:源库的表J.T1实时同步到目标库的J.T1

GoldenGate的基本原理介绍

Step 1. 源端OGG账号配置
SQL> CREATE TABLESPACE GGS DATAFILE '+DATA01' SIZE 4G;
SQL> CREATE USER GGS IDENTIFIED BY GGS123 DEFAULT TABLESPACE GGS QUOTA UNLIMITED ON GGS;
SQL> GRANT DBA TO GGS;


$ ./keygen 128 1
0xD63ED81A1DA4DA0596004362410C5522
$ cat > ENCKEYS
DEFKEY 0xD63ED81A1DA4DA0596004362410C5522


GGSCI> encrypt passWord GGS123 encrypTKEy DEFKEY
Encrypted password:  AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC
Algorithm used:  AES128

Step 2. 源端数据库配置
SQL> ALTER DATABASE FORCE LOGGING;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;


GGSCI> dblogin userid ggs, password AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, encryptkey DEFKEY
GGSCI> add trandata J.T1

Step 3. 源端Manager进程配置
GGSCI> edit params MGR
PORT 7809
PURGEOLDEXTRACTS /data01/oracle/ogg/dirdat/ta*, USECHECKPOINTS, MINKEEPDAYS 30
AUTORESTART ER *, RETRIES 5, WAITMINUTES 1, RESETMINUTES 30
LAGREPORTMINUTES 30
LAGCRITICALMINUTES 60
GGSCI> start MGR

Step 4. 源端Extract进程配置
GGSCI> edit params EJT
EXTRACT EJT
SETENV (ORACLE_HOME="/u01/app/oracle/product/database/11.2.0/db_1")
SETENV (ORACLE_SID="stest")
USERID GGS, PASSWORD AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, ENCRYPTKEY DEFKEY
TRANLOGOPTIONS DBLOGREADER, DBLOGREADERBUFSIZE 2097152
EXTTRAIL /data01/oracle/ogg/dirdat/ta
DISCARDFILE /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1/dirrpt/EJT.dsc, APPEND Megabytes 256
DISCARDROLLOVER AT 00:00 on SUNDAY
REPORTROLLOVER AT 00:00 on SUNDAY
REPORTCOUNT EVERY 4 HOURS, RATE
FETCHOPTIONS, FETCHPKUPDATECOLS, USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW REPORT
STATOPTIONS REPORTFETCH
WARNLONGTRANS 1H, CHECKINTERVAL 5M


TABLE J.T1  ;

Step 5. 源端添加Extract进程
GGSCI> add extract EJT, tranlog, begin now
GGSCI> add exttrail /data01/oracle/ogg/dirdat/ta, extract EJT, megabytes 256
GGSCI> start extract EJT

Step 6. 目标端数据库配置
SQL> ALTER SYSTEM SET enable_goldengate_replication=TRUE;

Step 7. 目标端OGG账号配置
参见Step 1. 源端OGG账号配置

Step 8. 目标端Checkpoint配置
GGSCI> dblogin userid ggs, password AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, encryptkey DEFKEY
GGSCI> add checkpointtable ggs.checkpoint

Step 9. 目标端Manager进程配置
GGSCI> edit params ./GLOBALS
CHECKPOINTTABLE ggs.checkpoint
ALLOWOUTPUTDIR /data01/oracle/ogg/dirdat


GGSCI> edit params MGR
PORT 7809
PURGEOLDEXTRACTS /data01/oracle/ogg/dirdat/ta*, USECHECKPOINTS, MINKEEPDAYS 30
AUTORESTART ER *, RETRIES 5, WAITMINUTES 1, RESETMINUTES 30
LAGREPORTMINUTES 30
LAGCRITICALMINUTES 60
GGSCI> start MGR

Step 10. 源端Data Pump进程配置
GGSCI> edit params PJT
EXTRACT PJT
SETENV (ORACLE_HOME="/u01/app/oracle/product/database/11.2.0/db_1")
PASSTHRU
RMTHOST tj, MGRPORT 7809
RMTTRAIL /data01/oracle/ogg/dirdat/ta
DISCARDFILE /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1/dirrpt/PJT.dsc, APPEND, MEGABYTES 256
DISCARDROLLOVER AT 00:00 on SUNDAY
REPORTROLLOVER AT 00:00 on SUNDAY
REPORTCOUNT EVERY 4 HOURS, RATE


TABLE J.T1  ;


Step 11. 源端添加Data Pump进程
GGSCI> add extract PJT, exttrailsource /data01/oracle/ogg/dirdat/ta
GGSCI> add rmttrail /data01/oracle/ogg/dirdat/ta, extract PJT, megabytes 256
GGSCI> start extract PJT

Step 12. 目标端Replicat进程配置
GGSCI> edit params RJT
REPLICAT RJT
SETENV (ORACLE_HOME = "/u01/app/oracle/product/database/11.2.0/db_1" )
SETENV (ORACLE_SID="ttest")
SETENV (NLS_LANG = "AMERICAN_CHINA.ZHS16GBK")
USERID GGS, PASSWORD AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, ENCRYPTKEY DEFKEY
DISCARDFILE /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1/dirrpt/RJT.dsc, APPEND Megabytes 256
DISCARDROLLOVER AT 00:00 on SUNDAY
REPORTROLLOVER AT 00:00 on SUNDAY
REPORTCOUNT EVERY 4 HOURS, RATE
ASSUMETARGETDEFS


MAP J.T1, TARGET J.T1;

Step 13. 目标端添加Replicat进程
GGSCI> dblogin userid ggs, password AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, encryptkey DEFKEY
GGSCI> add replicat RJT, exttrail /data01/oracle/ogg/dirdat/ta

Step 14. 数据初始化-源端数据导出
SQL> SELECT CURRENT_SCN FROM V$DATABASE;


  CURRENT_SCN
-------------
    373926987


$ expdp system/systm123 directory=DUMPDIR dumpfile=JT1.dump tables=J.T1 flashback_scn=373926987 logfile=JT1.expdp.log

Step 15. 数据初始化-目标端数据导入
$ impdp system/systm123 directory=DUMPDIR dumpfile=JT1.dump logfile=JT1.impdp.log

Step 16. 目标端启Replicat进程
GGSCI> start replicat RJT, atcsn 373926987

“GoldenGate的基本原理介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: GoldenGate的基本原理介绍

本文链接: https://www.lsjlt.com/news/59580.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • GoldenGate的基本原理介绍
    本篇内容介绍了“GoldenGate的基本原理介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是Go...
    99+
    2022-10-18
  • OpenFeign 基本介绍和原理了解
    了解 OpenFeign OpenFeign 组件的前身是 Netflix Feign 项目。后来 Feign 项目被贡献给了开源组织,才有了今天使用的 Spring Cloud OpenFeign ...
    99+
    2023-09-20
    java spring spring cloud
  • PHP伪协议基本原理介绍
    目录前言常见的php伪协议php://inputphp://filterzip://与bzip2://与zlib://协议data://phar://前言 引用一张比较清晰易懂的图 ...
    99+
    2022-11-16
    PHP伪协议 PHP伪协议原理
  • 介绍GitLab流程的基本概念和工作原理
    GitLab是一种基于网络的Git存储库管理工具。它支持一系列功能,包括合并请求、问题跟踪、自动构建和持续集成等。在开发团队中,GitLab通常用来管理源代码。本文将介绍GitLab流程的基本概念和工作原理。GitLab流程简介GitLab...
    99+
    2023-10-22
  • Promise的原理和基础用法介绍
    这篇文章主要介绍“Promise的原理和基础用法介绍”,在日常操作中,相信很多人在Promise的原理和基础用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Promis...
    99+
    2022-10-19
  • 爬虫基本原理介绍、实现以及问题解决
    文章目录 一、爬虫的意义1.前言2.爬虫能做什么3.爬虫有什么意义 二、爬虫的实现1.爬虫的基础原理2.api的获取3.爬虫实现 三、反爬解决方案1.反爬的实现方式2.反爬的解决方法3...
    99+
    2023-09-02
    python 爬虫
  • Csh的基本语法介绍
    在*unix系统中,常用的shell有sh,bash,csh/tcsh, ksh. sh来自于systemV的Unix,是传统的Unix的shell,直到现在很多的系统管理员仍然喜欢使用sh。 bash来自...
    99+
    2022-06-04
    语法 Csh
  • Rman的基本命令介绍
    本篇内容主要讲解“Rman的基本命令介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Rman的基本命令介绍”吧!可以用RMAN环境来打开和关闭数据库: [or...
    99+
    2022-10-18
  • Java的基本概念介绍
    本篇内容介绍了“Java的基本概念介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   Java概述:    目前Java主要应用于中间件...
    99+
    2023-06-03
  • 【mysql】—— 函数的基本介绍
    前言: MySQL是一种常用的关系型数据库管理系统,它提供了许多内置的函数来进行数据操作和处理。本期,我将给大家介绍的就是关于 “函数” 的相关知识!!! 目录 (一)日期函数 (二)字符串函数 (三)数学函数 (四)其它函数 总结 ...
    99+
    2023-09-16
    mysql 数据库
  • Dockerfile的基本语法介绍
    这篇文章主要讲解了“Dockerfile的基本语法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dockerfile的基本语法介绍”吧!Dockerfile的组成Dockerfile分为...
    99+
    2023-06-04
  • WPF基本控件介绍
    上一章讲到了布局、这点就有点类似建筑设计、第一步是出图纸、整体的结构、而第二步就是堆砌, 建筑学里面也会有很多描述, 例如砖头,水泥、玻璃、瓷板。而在WPF中, 这一切的基础也就是控...
    99+
    2022-11-13
  • Cassandra基本介绍(3) - 架
        通过上面2节,大家了解到了RDBMS遇到的问题,以及对Cassandra有了基本的了解。下面将介绍下Cassandra内部简单结构。    通过本章,大家应该了解到:Cassandra Write流程什么是SSTableCassan...
    99+
    2023-01-31
    Cassandra
  • PHP基本语法介绍
    这篇文章主要介绍“PHP基本语法介绍”,在日常操作中,相信很多人在PHP基本语法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP基本语法介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!在进行PH...
    99+
    2023-06-17
  • Cassandra基本介绍(3) - 架构简介
        通过上面2节,大家了解到了RDBMS遇到的问题,以及对Cassandra有了基本的了解。下面将介绍下Cassandra内部简单结构。  &...
    99+
    2022-10-18
  • 对Netty组件的基本介绍
    Netty的介绍 netty是一个异步的基于事件的框架,主要针对在tcp协议下,开发面向clients端的高...
    99+
    2022-11-12
  • MYSQL的基本SQL语句介绍
    下文主要给大家带来MYSQL的基本SQL语句介绍,希望这些内容能够带给大家实际用处,这也是我编辑MYSQL的基本SQL语句介绍这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。MYSQL介绍MySQL...
    99+
    2022-10-18
  • Sql Server的基本函数介绍
    这篇文章主要介绍“Sql Server的基本函数介绍”,在日常操作中,相信很多人在Sql Server的基本函数介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Sql Se...
    99+
    2022-10-18
  • HTML5 canvas的基本语法介绍
    本篇内容主要讲解“HTML5 canvas的基本语法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5 canvas的基本语法介绍”吧!canvas ...
    99+
    2022-10-19
  • zabbix的安装和基本介绍
    这篇文章主要讲解了“zabbix的安装和基本介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“zabbix的安装和基本介绍”吧!系统版本CentOS Lin...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作