ogg批量配置_最简单OGG配置方式

ogg一般来说有4个进程,Manager进程,Extract进程,Pump进程,Replicat进程

Manager进程:

是GoldenGate的控制进程,它主要作用有以下几个方面:启动、监控、重启GoldenGate的其他进程,报告错误及时间,分配数据存储空间,发布阀

值报告等。

Extract进程:

运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查 并记录其读写的位置,通常

是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重启Extract进程 后,GoldenGate能够恢复到以前

的状态,从上一个断点处继续往下运行,而不会有任何数据损失。

Pump进程:(如果trail文件落本地才会用这个进程,一般OGG都会把traile文件落地)

运行在数据库源端,其作用非常简单。如果源端使用了本地trail文件,那么Pump进程就会把Trail文件以数据块的形式通过 TCP/IP协议发送到目

标端,我们下面的配置都是这种方式。Pump进程本质是Extract进程的一种特殊形式,如果不使用Trail文件,那么 Extract进程在抽取完数据后,

直接投递到目标端。

与Pump进程相对应的叫Server Collector进程,这个进程不需要引起我们关注,因为在实际操作过程中无需对其进行任何配置,它运行在目标端,

任务就是把Extract/Pump进程投递过来的数据块重新组装成Trail文件。

Replicat进程:

运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML或DDL语句,然后应用到目标数据库中。

测试环境

源端:

IP:172.16.0.30    SID:prod

目标;

IP: 172.16.0.40 SID:prod(实例名可以不一致)

1、安装ogg软件,安装方式如下(两端均执行)

oracle用户下创建ogg目录

mkdir /home/oracle/ogg

[oracle@localhost ~]$ cd ogg/

[oracle@localhost ogg]$ unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

[oracle@localhost ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar

设置LD_LIBRARY_PATH参数

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

查看运行./ggsci命令行接口所缺是的库文件,可能会出现libnnz11.so,libclntsh.so.11.1缺失,只需要将libnnz10.so,libclntsh.so.10.1软

解析到缺失的文件即可

[oracle@localhost ogg]$ ldd ./ggsci

2、数据库环境准备(两端均执行)

打开最小附加日志

SQL>alter database add supplemental log data;

SQL>select supplemental_log_data_min from v$database;

创建数据库ogg用户

SQL>CREATE USER ogg IDENTIFIED BY ogg DEFAULT TABLESPACE USERS ;

授权ogg用户,如果对用户权限要求不严格可以直接授予dba权限,否则授予如下权限

源端:

GRANT CONNECT TO goldengate;

GRANT CREATE SESSION TO goldengate;

GRANT ALTER SESSION TO goldengate;

GRANT RESOURCE TO goldengate;

GRANT SELECT ANY DICTIONARY TO goldengate;

GRANT SELECT ANY TABLE TO goldengate;

GRANT FLASHBACK ANY TABLE TO goldengate;

GRANT ALTER ANY TABLE TO goldengate;

目标端:

GRANT ALTER SESSION TO goldengate;

GRANT CREATE SESSION TO goldengate;

GRANT CONNECT TO goldengate;

GRANT RESOURCE TO goldengate;

GRANT SELECT ANY DICTIONARY TO goldengate;

GRANT SELECT ANY TABLE TO goldengate;

GRANT FLASHBACK ANY TABLE TO goldengate;

GRANT INSERT ANY TABLE TO goldengate;

GRANT UPDATE ANY TABLE TO goldengate;

GRANT DELETE ANY TABLE TO goldengate;

3、主备库创建mgr管理进程,添加端口7809(两端均执行)

创建ogg子目录

[oracle@localhost ogg]$ ./ggsci

GGSCI>create subdirs

GGSCI (localhost.localdomain) 10> edit params mgr

port 7809

GGSCI (localhost.localdomain) 11> start mgr

GGSCI (localhost.localdomain) 11> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

mgr可以添加如下参数:

DYNAMICPORTLIST 7820-7830, 7833, 7835

autostart er *

autorestart er *, retries 5, waitminutes 3 (自动启动所有参数,会尝试5次,每次等待3分钟)

purgeoldextracts ./dirdat/*,usecheckpoints, minkeepdays 7(自动清理过期的trail文件,会保留7天)

4、添加表级附加日志

ggsci>dblogin userid ogg, password ogg

ggsci>add trandata hzq.*

5、添加抽取进程 (源端)

GGSCI> add ext exta, tranlog, begin now

exta为进程名,一般为ext开头表示是extract进程,后面可以加1-2位字符标识;begin可以是now也可以是指定的时间

为exta进程配置本地队列,本地的trail文件以la开头

GGSCI> add exttrail ./dirdat/lc, ext exta, MEGABYTES 20

添加投递进程pmpa,将本地的./dirdat/la文件传送到目标端

GGSCI> add extract pmpa, EXTTRAILSOURCE ./dirdat/lc

为pmpa进程配置远程队列,队列的位置是源端的主机目录,传送到目标断后命名以rc开头。

GGSCI> add rmttrail ./dirdat/rc, ext dpea, MEGABYTES 20

GGSCI (localhost.localdomain) 23> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     STOPPED     EXTA        00:00:00      00:00:02

EXTRACT     STOPPED     PMPA        00:00:00      00:00:01

6、配置进程参数(源端)

GGSCI (localhost.localdomain) 25> edit params exta

EXTRACT exta

setenv ( NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" )

setenv (ORACLE_SID = prod)

USERID ogg, PASSWORD ogg

EXTTRAIL ./dirdat/lc

dynamicresolution

--GETUPDATEBEFORES

--DDL INCLUDE ALL (DDL复制参数)

--DDLOPTIONS ADDTRANDATA NOCROSSRENAME REPORT (ddl复制参数)

--NOCOMPRESSDELETES

table hzq.*;

GGSCI (localhost.localdomain) 28> edit params pmpa

extract pmpa

setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )

passthru

--REPORT AT 01:59

--reportrollover at 02:00

rmthost 172.16.0.40, mgrport 7809, compress

rmttrail ./dirdat/rc

dynamicresolution

table hzq.*;

启动进程

GGSCI>start ext *

GGSCI (localhost.localdomain) 29> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     EXTA        00:00:00      00:00:04

EXTRACT     RUNNING     PMPA        00:00:00      00:00:05

7、配置目标端进程和参数(目标端)

GGSCI> add rep rep1a, exttrail ./dirdat/rc, nodbcheckpoint

GGSCI>edit param rep1a

replicat rep1a

setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )

setenv (ORACLE_SID = prod)

userid ogg, password ogg

reperror default,abend

discardfile ./dirrpt/rep1a.dsc,append, megabytes 10

assumetargetdefs

--allownoopupdates

dynamicresolution

--DDL include all

--ddloptions report

--DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5

ASSUMETARGETDEFS

--INSERTALLRECORDS

map hzq.*, target hzq.*;

启动参数

GGSCI (localhost.localdomain) 12> start rep1a

GGSCI (localhost.localdomain) 11> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REP1A       00:00:00      00:00:06

ogg一般来说有4个进程,Manager进程,Extract进程,Pump进程,Replicat进程

Manager进程:

是GoldenGate的控制进程,它主要作用有以下几个方面:启动、监控、重启GoldenGate的其他进程,报告错误及时间,分配数据存储空间,发布阀

值报告等。

Extract进程:

运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查 并记录其读写的位置,通常

是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重启Extract进程 后,GoldenGate能够恢复到以前

的状态,从上一个断点处继续往下运行,而不会有任何数据损失。

Pump进程:(如果trail文件落本地才会用这个进程,一般OGG都会把traile文件落地)

运行在数据库源端,其作用非常简单。如果源端使用了本地trail文件,那么Pump进程就会把Trail文件以数据块的形式通过 TCP/IP协议发送到目

标端,我们下面的配置都是这种方式。Pump进程本质是Extract进程的一种特殊形式,如果不使用Trail文件,那么 Extract进程在抽取完数据后,

直接投递到目标端。

与Pump进程相对应的叫Server Collector进程,这个进程不需要引起我们关注,因为在实际操作过程中无需对其进行任何配置,它运行在目标端,

任务就是把Extract/Pump进程投递过来的数据块重新组装成Trail文件。

Replicat进程:

运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML或DDL语句,然后应用到目标数据库中。

测试环境

源端:

IP:172.16.0.30    SID:prod

目标;

IP: 172.16.0.40 SID:prod(实例名可以不一致)

1、安装ogg软件,安装方式如下(两端均执行)

oracle用户下创建ogg目录

mkdir /home/oracle/ogg

[oracle@localhost ~]$ cd ogg/

[oracle@localhost ogg]$ unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

[oracle@localhost ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar

设置LD_LIBRARY_PATH参数

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

查看运行./ggsci命令行接口所缺是的库文件,可能会出现libnnz11.so,libclntsh.so.11.1缺失,只需要将libnnz10.so,libclntsh.so.10.1软

解析到缺失的文件即可

[oracle@localhost ogg]$ ldd ./ggsci

2、数据库环境准备(两端均执行)

打开最小附加日志

SQL>alter database add supplemental log data;

SQL>select supplemental_log_data_min from v$database;

创建数据库ogg用户

SQL>CREATE USER ogg IDENTIFIED BY ogg DEFAULT TABLESPACE USERS ;

授权ogg用户,如果对用户权限要求不严格可以直接授予dba权限,否则授予如下权限

源端:

GRANT CONNECT TO goldengate;

GRANT CREATE SESSION TO goldengate;

GRANT ALTER SESSION TO goldengate;

GRANT RESOURCE TO goldengate;

GRANT SELECT ANY DICTIONARY TO goldengate;

GRANT SELECT ANY TABLE TO goldengate;

GRANT FLASHBACK ANY TABLE TO goldengate;

GRANT ALTER ANY TABLE TO goldengate;

目标端:

GRANT ALTER SESSION TO goldengate;

GRANT CREATE SESSION TO goldengate;

GRANT CONNECT TO goldengate;

GRANT RESOURCE TO goldengate;

GRANT SELECT ANY DICTIONARY TO goldengate;

GRANT SELECT ANY TABLE TO goldengate;

GRANT FLASHBACK ANY TABLE TO goldengate;

GRANT INSERT ANY TABLE TO goldengate;

GRANT UPDATE ANY TABLE TO goldengate;

GRANT DELETE ANY TABLE TO goldengate;

3、主备库创建mgr管理进程,添加端口7809(两端均执行)

创建ogg子目录

[oracle@localhost ogg]$ ./ggsci

GGSCI>create subdirs

GGSCI (localhost.localdomain) 10> edit params mgr

port 7809

GGSCI (localhost.localdomain) 11> start mgr

GGSCI (localhost.localdomain) 11> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

mgr可以添加如下参数:

DYNAMICPORTLIST 7820-7830, 7833, 7835

autostart er *

autorestart er *, retries 5, waitminutes 3 (自动启动所有参数,会尝试5次,每次等待3分钟)

purgeoldextracts ./dirdat/*,usecheckpoints, minkeepdays 7(自动清理过期的trail文件,会保留7天)

4、添加表级附加日志

ggsci>dblogin userid ogg, password ogg

ggsci>add trandata hzq.*

5、添加抽取进程 (源端)

GGSCI> add ext exta, tranlog, begin now

exta为进程名,一般为ext开头表示是extract进程,后面可以加1-2位字符标识;begin可以是now也可以是指定的时间

为exta进程配置本地队列,本地的trail文件以la开头

GGSCI> add exttrail ./dirdat/lc, ext exta, MEGABYTES 20

添加投递进程pmpa,将本地的./dirdat/la文件传送到目标端

GGSCI> add extract pmpa, EXTTRAILSOURCE ./dirdat/lc

为pmpa进程配置远程队列,队列的位置是源端的主机目录,传送到目标断后命名以rc开头。

GGSCI> add rmttrail ./dirdat/rc, ext dpea, MEGABYTES 20

GGSCI (localhost.localdomain) 23> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     STOPPED     EXTA        00:00:00      00:00:02

EXTRACT     STOPPED     PMPA        00:00:00      00:00:01

6、配置进程参数(源端)

GGSCI (localhost.localdomain) 25> edit params exta

EXTRACT exta

setenv ( NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" )

setenv (ORACLE_SID = prod)

USERID ogg, PASSWORD ogg

EXTTRAIL ./dirdat/lc

dynamicresolution

--GETUPDATEBEFORES

--DDL INCLUDE ALL (DDL复制参数)

--DDLOPTIONS ADDTRANDATA NOCROSSRENAME REPORT (ddl复制参数)

--NOCOMPRESSDELETES

table hzq.*;

GGSCI (localhost.localdomain) 28> edit params pmpa

extract pmpa

setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )

passthru

--REPORT AT 01:59

--reportrollover at 02:00

rmthost 172.16.0.40, mgrport 7809, compress

rmttrail ./dirdat/rc

dynamicresolution

table hzq.*;

启动进程

GGSCI>start ext *

GGSCI (localhost.localdomain) 29> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     EXTA        00:00:00      00:00:04

EXTRACT     RUNNING     PMPA        00:00:00      00:00:05

7、配置目标端进程和参数(目标端)

GGSCI> add rep rep1a, exttrail ./dirdat/rc, nodbcheckpoint

GGSCI>edit param rep1a

replicat rep1a

setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )

setenv (ORACLE_SID = prod)

userid ogg, password ogg

reperror default,abend

discardfile ./dirrpt/rep1a.dsc,append, megabytes 10

assumetargetdefs

--allownoopupdates

dynamicresolution

--DDL include all

--ddloptions report

--DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5

ASSUMETARGETDEFS

--INSERTALLRECORDS

map hzq.*, target hzq.*;

启动参数

GGSCI (localhost.localdomain) 12> start rep1a

GGSCI (localhost.localdomain) 11> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REP1A       00:00:00      00:00:06

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

与Serverless 的第一次亲密接触

Servrless概念 Serverless 是一个架构上的概念,从字面上理解就是无服务器架构。Serverless最初是用于描述依赖第三方服务实现对逻辑和状态进行管理的应用,典型的例子是单页 Web 和移动 App 这种富客户端应用,他们一般都使用基于云端的数据库…

eclipse把tomcant用到一个项目里_聊一个镜头工艺里容易被忽略,但很重要的项目...

在不改换门庭的情况下,一颗镜头一般都会伴随大家使用很长一段时间,也相信大多数人都遇到过剐蹭镜头前组的情况,这时候最容易引发的担忧就是“伤着镀膜了么?会不会影响成像效果?”其实换个角度来看,这个问题…

c语言中词法分析怎么识别注释,C语言中的词法分析-如何在检测多行注释时使星号被读取并输出?...

我正在研究词法分析程序,检测到一行注释时一切正常。 这是我的单行注释检测代码。//Single Commentif ((Current_Character /) && (fgetc(File_Input) /)){printf("%c", Current_Character);do{printf ("%c", Current_Character);Cur…

Java性能调优的11个实用技巧

大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很…

华为手机怎么看图片属性_华为手机怎么才能息屏显示时间?操作方法很简单,看完涨知识了...

现如今大家几乎都是手机不离身,甚至有些朋友机不离手。所以已经比较少人,会因为看时间而佩戴手表了,毕竟只要按下电源键就可以看时间了。其实现在的很多手机,不用亮屏也能看时间,下面我们就一起来看看是如何设置的吧。…

android内置t卡中预制资源,[FAQ17514][Recovery]Recovery mode FAQ搜寻指南

[DESCRIPTION]Recovery mode 依据不同问题归类为几个属性标签如下[Debug/Log] :debug log , adb 相关问题[OTAError] :升级过程报错相关问题[UI/Key] : UI 界面与 custom key 配置相关问题[Otapackage] : 制作升级包相关问题[SecureOTA] : secure boot proje…

开源神器,无需一行代码就能搞定机器学习,不会数学也能上手

对于机器学习和数据科学的初学者来说,最大的挑战之一是需要同时学习太多知识,特别是如果你不知道如何编码。你需要快速地适应线性代数、统计以及其他数学概念,并学习如何编码它们,对于新用户来说,这可能会有点难以承受…

linux twm,linux 命令缩写解析

linux有非常多的命令,如果可以知道它是什么的缩写,一定非常方便我们的记忆。下面转载一下这方面的知识。bin BINaries/dev DEVices/etc ETCetera/lib LIBrary/proc PROCesses/sbin Superuser BINaries/tmp TeMPorary/usr Unix Shared Resources/…

OpenStack不行了吗?悉尼峰会,OpenStack的白城反击战?

作者:李开,九州云99Cloud联合创始人&副总裁。 11月悉尼的春天忽然变得阴冷潮湿,和第一天抵达时候的风和日丽大相径庭,海风推动着飘忽的乌云,有点电影《魔戒》里黑暗军团压境的味道。 由于早上不小心睡过了头&…

档案盒正面标签制作_错题本科学制作方法、正确使用方式及窍门

错题本的作用不用多说,重点是如何制作错题本以及正确使用方法。小编整理了以下制作错图集的正确步骤,希望对大家有用。一、制作错题本的简单步骤步骤1:把所有的练习册和试卷找出来;分学科按学期顺序整理;以学年或学期为单位装订在一起&#x…

android触摸效果,Android UI实现单行文本水平触摸滑动效果

本文实例为大家分享了单行文本水平触摸滑动效果,通过EditText实现TextView单行长文本水平滑动效果。下一篇再为大家介绍 多行文本折叠展开效果,自定义布局View实现多行文本折叠和展开。1.初衷最近做应用的时候有用到TextView单行长文本,当文本…

机器人爱因斯坦、索菲亚对话人类:“人类必须自我修复”

人工智能的发展速度真的太快了,就在不久前机器人“索菲亚”获得沙特阿拉伯获得了公民身份之后,机器人版的爱因斯坦教授也登上了历史的舞台。 机器人版的爱因斯坦教授是由汉森机器人(Hanson Robotics)公司制造的,这家机器人制造商制造的另外一…

hook控制浏览器的方法_Java-Hook技术-入门实践+反射、动态代理、热修复再看看

延续之前的MonkeyLei:Android-模块化、组件化、插件化、热修复-插件化-起个头,我们复习下里面的关于反射和动态代理点的知识。然后尝试简单了解下Hook...看之前文章,记得多复习下反射代理,比如使用这些....:public cla…

1._请写出5种以上的android中界面常用布局方式,跳槽季“充电宝”Android面试题(一)...

1.请介绍下Android中常用的5种布局Android中常用的5种布局分别为:FrameLaout(框架布局)、LinearLayout(线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)。框架布局 :也叫帧布局,是将放入其中的元素都…

git 拉取远端仓库_git命令-远程仓库拉取、本地仓库更新、工作空间提交等等

一,新建代码库1,在当前目录下新建一个git代码库$ git init2,新建一个目录将其初始化为git代码库$ git init [project-name]3,git clone 远程代码库$ git clone [url]二,配置1,Git的设置文件为.gitconfig&am…

c语言二维数组对每一列排序,二维数组对每一行进行排序。。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这是我的代码、、问题出在换行的时候sum[i][j]的值还保存着上一行的值、、#include "stdafx.h"#include"stdio.h"int main(){int sum[3][4]{{2,3,4,5},{4,3,2,5},{1,3,5,9}};for(int i0;i<3;i){for(int j0;…

vscode 头文件包含问题_使用clangd替代c/c++配置vscode c++项目

背景&#xff1a;最近从Clion切换到了vscode来进行代码开发&#xff0c;发现vscode自带的c/c插件除了能够使用debug功能&#xff0c;其余代码补全&#xff0c;跳转等功能都和基于clangd的clion有较大差距&#xff0c;经常出现匹配不上或者跳转不准确的问题&#xff0c;在这背景…

微服务拆分需要考虑的必要因素与坚持原则

前言&#xff1a;创业公司往往因为有限的时间和投入&#xff0c;把系统所有的功能都聚集在一起。随着业务的不断发展&#xff0c;技术人员开始不断地对架构进行解耦和拆分。微服务在最近几年大行其道&#xff0c;很多公司的研发人员都在考虑微服务架构&#xff0c;或者在做微服…

android如何建立全局变量,如何在Android中声明全局变量?

我正在创建一个需要登录的应用程序。 我创建了主要和登录活动。在主要活动onCreate方法中我添加了以下条件&#xff1a;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);...loadSettings();if(strSession…

data后缀文件解码_Java语法进阶13-文件、IO流

FileFile是文件和目录路径名的抽象表示形式&#xff0c;即File类是文件或目录的路径&#xff0c;而不是文件本身&#xff0c;因此File类不能直接访问文件内容本身&#xff0c;如果需要访问文件内容本身&#xff0c;则需要使用输入/输出流。File类的对象用来表示文件和文件夹的对…