OGG安装配置_ogg是什么格式的文件

OGG安装配置_ogg是什么格式的文件OGG简介(GoldenGate)OGG是一种基于日志的结构化数据复制软件OGG能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟。OGG安装1.使用Oracle用户,且加入oinstall用户组,GoldenGate安装在Oracle用户所在/home/oracle/app/OGG_linux/ggs目录下。2.源…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

OGG简介GoldenGate
OGG 是一种基于日志的结构化数据复制软件
OGG 能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟。

OGG安装配置_ogg是什么格式的文件

OGG安装

1. 使用Oracle用户,且加入oinstall用户组,GoldenGate安装在Oracle用户所在/home/oracle/app/OGG_linux/ggs目录下。
2. 源端:修改oracle日志模式:

   查看日志模式:SQL>select log_mode,supplemental_log_data_min,force_logging from v$database;
   修改归档模式:
       1)关闭数据库:shutdown immediate;
       2)启动数据库实例到mount状态:startup mount;
       3)切换数据库日志模式:
          alter database archivelog;(设置数据库为归档日志模式)
          alter database noarchivelog;(设置数据库为非归档日志模式)
       4)打开数据库:alter database open;
       5)确认数据库处于归档模式:archive log list;
   打开最小附加日志:alter database add supplemental log data;
   打开强制日志:alter database force logging;
3. 创建ogg用户
  源端:
  1)、/**创建表空间**/
      create tablespace goldengate datafile ‘/home/oracle/app/oradata/orcl/goldengate01.dbf’ size 100m autoextend on;
  2)、/**OGG专属用户goldengate,必须为goldengate用户指定表空间并分配空间**/
     create user goldengate identified by goldengate default tablespace goldengate
     temporary tablespace temp quota unlimited on goldengate;
  3)、/**ogg数据库用户权限,sqlplus下执行**/

     grant create session to goldengate;
     grant alter session,alter system to goldengate;
     grant connect,resource to goldengate;
     grant select any dictionary,select any table,select any transaction to goldengate;
     grant flashback any table to goldengate;
     grant insert any table,update any table,drop any table,create table to goldengate;

     grant select on dba_clusters to goldengate;
     grant select on V_$DATABASE to goldengate;
     grant select on sys.logmnr_buildlog to ogg_role;
     grant execute on utl_file to goldengate;
     grant unlimited tablespace to goldengate;
     grant create table,create sequence to goldengate;//否则安装ogg @ddl_setup.sql时会报错

Jetbrains全家桶1年46,售后保障稳定

  目标端:
  1)、/**创建表空间**/
    create tablespace ogg datafile ‘/home/oracle/app/oradata/orcl/ogg01.dbf’ size 100m autoextend on;
  2)、/**创建OGG专属用户ogg,必须为ogg用户指定表空间并分配空间**/
     create user ogg identified by ogg default tablespace ogg temporary tablespace temp quota unlimited on ogg;
  3)、授予ogg用户源端goldengate用户相同权限
4.  GoldenGate软件安装(源端和目标端)
  1)、上传安装文件至任意目录,解压
  2)、./runinstall
  3)、在ggs目录下新建一个终端:输入 ./ggsci 进入ogg管理控制台,如下图表示安装成功
  4)、配置源端和目标端的管理进程:
  GGSCI(localhost.localdomain 2)>create subdirs
  该命令会在ggs安装目录下建立若干子目录,其中几个主要目录说明如下:
    (1)dirprm:存放GG的参数文件,这些参数文件可以通过文本编辑器直接编辑,也可以在ggsci命令下edit params +文件名来编辑,用于保存启动相关manager、extract、replicat等进程时读取的参数;
    (2)dirrpt:存放各个进程的报告文件,内容为manager、extract、replicat进程相关的统计报告信息,当进程出现ABENDED挂起或STOPED意外终止时,可以查看相关错误信息;
    (3)dirchk:存放由extract抽取进程和replicat复制进程创建的checkpoint文件,checkpoint文件保存当前读写时间戳信息,通过这些信息保证了数据的准确性和数据容错性功能;
    (4)dirpcs:存放各个进程的状态信息;
    (5)dirdat:存放GG跟踪文件和有extract抽取进程创建的抽取文件,这些文件将被replicat复制进程进一步使用。文件名为人为指定两位字符,加上系统自动生成的六位序列号;
    (6)dirdef:存放由defgen组件创建的定义文件,包含在异构环境同步中的源或者目标端的数据定义;
    (7)dirtmp:用于执行大事务处理过程,不要对此文件下的内容进行编辑;
    (8)dirout:废弃,不再使用。
  5)、为新创建的OGG用户goldengate(源端)、ogg(目标端)执行配置脚本:
     sqlplus / as sysdba
     SQL>@marker_setup.sql; 提示输入schema name
     SQL>@ddl_setup.sql; 提示输入schema name
     SQL>@role_setup.sql; 提示输入schema name;提示为<logged user>授予权限
          grant GGS_GGSUSER_ROLE to goldengate;–源端
          grant GGS_GGSUSER_ROLE to ogg;–目标端
     SQL>@ddl_enable.sql; –启动ddl触发器
  6)、测试用户是否创建成功:
     源端:GGSCI(localhost.localdomain 3)>dblogin userid goldengate,password goldengate;
     目标端:GGSCI(localhost.localdomain 3)>dblogin userid ogg,password ogg;
5. GoldenGate进程配置-manager管理进程配置(源端和目标端)
        以oracle用户登录,在goldengate软件安装目录ggs下,执行./ggsci进入ogg管理控制台为manager进程配置参数,可以直接在dirdat目录下新建mgr参数文件。
        (1) 通过命令方式:
         GGSCI(localhost.localdomain 4)>edit param mgr;进行编辑,默认保存在dirdat目录下,文件名为mgr,在打开的编辑窗口中,根据需要输入以下内容:

           port 7809  --本例中源端port指定7809,目标端指定7839
           DYNAMICPORTLIST 7840-7850
           AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
           PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints,minkeepdays 7

     MANAGER进程参数说明:
     port:指定服务监听端口,默认端口7809。
     DYNAMICPORTLIST:动态端口列表,最大可指定256个动态端口,当指定port不可用时,管理进程会从列表中选择一个可用的端口。
     AUTORESTART:由于网络等原因造成抽取进程中止,每3分钟尝试重启所有extract进程,共尝试5次,建议配置。
     PURGEOLDEXTRACTS:自动删除过期队列,凡超过7天且已完成同步的所有./dirdat文件下的文件将被删除,建议配置。
     (2) 保存退出
         GGSCI(localhost.localdomain 5)>start mgr;
         GGSCI(localhost.localdomain 6)>info mgr;

     表示manager管理进程正常运行了。如果是stop状态可以去dirrpt文件夹下找到相应的MGR.rpt为最近一次启动的状态报告,一般检查参数关键词是否拼写错误。

6. GoldenGate进程配置-extract抽取进程配置(源端)
    (1) 在源端为要复制的数据表添加附加日志(此处以同步scott用户下两张表数据为例):
        GGSCI(localhost.localdomain 7)>dblogin userid goldendate,password goldengate;
        GGSCI(localhost.localdomain 8)>add trandata scott.emp;
        GGSCI(localhost.localdomain 9)>add trandata scott.dept;
    (2) 添加抽取进程:
        GGSCI(localhost.localdomain 10)>add extract extra,tranlog,begin now;
        参数说明:
        extra为添加的extract进程名,tranlog为要抽取数据库的日志,从当前时间开始抽取
    (3) 添加到配置队列:
        GGSCI(localhost.localdomain 11)>add exttrail ./dirdat/ra, extract extra;
        参数说明:
        将抽取到的trail文件添加到extra进程中。
    (4) 编辑extra进程对应的extra.prm参数文件(–后为注释):
        GGSCI(localhost.localdomain 12)>edit param extra;//会在dirrpm文件下自动生成配置文件
           

EXTRACT extra
            SETENV (ORACLE_SID="orcl")
            SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) --与数据库字符集一致

            USERID goldengate,PASSWORD goldengate
            REPORT AT 01:59 --定义自动定时报告
            REPORTROLLOVER AT 02:00 --防止report文件写满,每天2:00做一次文件过期设定

            exttrail ./dirdat/ra --指定写入本地哪个队列
            --NUMFILES 3000 --控制OGG给多少张table和map进行初始化内存分配,默认1000
            GETTRUNCATES   --复制truncate操作
            TRANLOGOPTIONS DBLOGREADER
            DYNAMICRESOLUTION  --动态解析表名
            NOCOMPRESSDELETES
            WARNLONGTRANS 3H,CHECKINTERVAL 3M --每隔3分钟检查,对于超过2小时的警告
            --TABLEEXCLUDE scott.BONUS;  --如果在下面table参数中使用了*通配符,此处可以--使用该参数单独指定不需要同步的表

            table scott.emp; --必须以;结尾
            table scott.dept; --必须以;结尾

    (4) 保存退出
        GGSCI(localhost.localdomain 13)>start extra;
        GGSCI(localhost.localdomain 14)>info extra;

      表示extract抽取进程正常运行了。如果是stop状态可以去dirrpt文件夹下找到相应的extra.rpt为最近一次启动的状态报告。      datapump投递进程配置
7. GoldenGate进程配置-datapump投递进程配置(源端)
    pump进程是extract进程的特殊形式,用于异地复制或网络不稳定的环境下,一般先通过extract将数据库增量数据抽取到本地,再单独配一个进程传输到目标端,建议使用。
    (1) 添加投递进程:
        GGSCI(localhost.localdomain 15)>add extract dpea, exttrailsource ./dirdat/ra;
    (2) 配置远程队列:
        GGSCI(localhost.localdomain 16)>add rmttrail ./dirdat/ra, extract dpea;
        参数说明:
        这里的ra是投递到目标端的trail文件名,不是源端的trail文件名。
    (3) 编辑dpea进程对应的dpea.prm参数文件(–后为注释):
        GGSCI(localhost.localdomain 17)>edit param dpea;//会在dirrpm文件下自动生成配置文件           

EXTRACT dpea
           SETENV (ORACLE_SID="orcl")
           SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) --与数据库字符集一致
           REPORT AT 01:59 --定义自动定时报告
           REPORTROLLOVER AT 02:00 --防止report文件写满,每天2:00做一次文件过期设定

           RMTHOST 192.168.203.134,mgrport 7839 --端口号要与目标端得mgr定义的port对应
           RMTTRAIL ./dirdat/ra
           GETTRUNCATES   --复制truncate操作

           TRANLOGOPTIONS DBLOGREADER
           DYNAMICRESOLUTION  --动态解析表名
           NOCOMPRESSDELETES
           PASSTHRU --表示本进程是一个投递进程,无需跟数据库交互

           table scott.emp;
           table scott.dept;

    (4) 保存退出
        GGSCI(localhost.localdomain 18)>start dpea;
        GGSCI(localhost.localdomain 19)>info dpea;        表示extract投递进程正常运行了。如果是stop状态可以去dirrpt文件夹下找到相应的dpea.rpt为最近一次启动的状态报告。
      以上源端的GoldenGate进程基本配置完成了,如果有什么错误,可以在ggs安装目录下查看ggserror.log日志文件。
8. GoldenGate进程配置-replicat复制进程配置(目标端)
     (1) 为replicat进程创建checkpoint表:
         GGSCI(localhost.localdomain 20)>edit param ./GLOBAL;
         在参数文件中输入:
                GGSCHEMA ogg
                CHECKPOINTTABLE ogg.checkpoint
         保存退出。
         GGSCI(localhost.localdomain 21)>dblogin userid ogg,password ogg;
         GGSCI(localhost.localdomain 22)>add checkpointtable ogg.checkpoint;
         复制进程需要用到checkpoint表,通过ggsic控制平台下的add checkpointtable命令会自动在ogg用户下创建checkpoint表,用于异常中止的数据恢复。
     (2) 添加复制进程:
         GGSCI(localhost.localdomain 23)>add replicat repa, exttrail ./dirdat/ra,checkpointtable     ogg.checkpoint;
     (3) 投递进程参数配置:
        编辑repa进程对应的repa.prm参数文件(–后为注释):
     GGSCI(localhost.localdomain 24)>edit param repa;//会在dirrpm文件下自动生成配置文件         

REPLICAT repa
         SETENV (ORACLE_SID="orcl")
         SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) --与数据库字符集一致
         REPORT AT 01:59 --定义自动定时报告
         REPORTROLLOVER AT 02:00 --防止report文件写满,每天2:00做一次文件过期设定

         USERID ogg,PASSWORD ogg
         REPERROR DEFAULT,ABEND  --出现错误后的处理模式
         DISCARDFILE ./dirrpt/repa.dsc,append,megabytes 1024
         ASSUMETARGETDEFS
         ALLOWNOOPUPDATES
         GETTRUNCATES   --复制truncate操作
         DYNAMICRESOLUTION  --动态解析表名
         NOCOMPRESSDELETES

         MAP scott.emp, TARGET scott.emp; --源表和目标表的映射,target前要有空格
         MAP scott.dept, TARGET scott.dept;

     (4) 保存退出
         GGSCI(localhost.localdomain 25)>start mgr;
         GGSCI(localhost.localdomain 27)>start repa;
         GGSCI(localhost.localdomain 28)>info all;

         发现源端的manager和replicat进程都启动了,如果是stop或abended状态可以去dirrpt文件夹下找到相应的报告文件查看原因。
9. 验证数据同步
     更改源端 scott用户下的dept和emp表中的数据,commit后查看目标端 scott用户下的表,发现数据已同步过来。
 

同步到Kafka

安装big data for ogg

添加环境变量

export OGG_HOME=/app/ogg
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server:$JAVA_HOME/jre/lib/amd64/libjsig.so:$JAVA_HOME/jre/lib/amd64/server/libjvm.so:$OGG_HOME/lib
export PATH=$OGG_HOME:$PATH

源端配置define文件

Oracle与MySQL,Hadoop集群(HDFS,Hive,kafka等)等之间数据传输可以定义为异构数据类型的传输,故需要定义表之间的关系映射,在OGG命令行执行:

edit param kafka
defsfile /app/ogg/dirdef/ogg.emp_dept 
userid ggs,password ggs 
table scott.emp;
table scott.dept;

执行./defgen paramfile dirprm/kafka.prm
然后scp /app/ogg/dirdef/ogg.emp_dept 目标端:/app/ogg/dirdef/ogg.emp_dept

目标端

目标端复制进程
REPLICAT rekafka
sourcedefs /app/ogg/dirdef/ogg.test_ogg
TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.props
REPORTCOUNT EVERY 1 MINUTES, RATE 
GROUPTRANSOPS 10000
MAP scott.emp, TARGET ogg.emp;
MAP scott.dept, TARGET ogg.dept;


vi dirprm/kafka.props
gg.handlerlist=kafkahandler
gg.handler.kafkahandler.type=kafka
gg.handler.kafkahandler.KafkaProducerConfigFile=custom_kafka_producer.properties
gg.handler.kafkahandler.topicMappingTemplate=test_ogg
gg.handler.kafkahandler.format=json
gg.handler.kafkahandler.mode=op
gg.classpath=dirprm/:/opt/kafka_2.11-0.11.0.0/libs/*:/app/ogg/:/app/ogg/lib/*


vi dirprm/custom_kafka_producer.properties
bootstrap.servers=hadoop-senior03.zhangbk.com:9092
acks=1
compression.type=gzip
reconnect.backoff.ms=1000
value.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
key.serializer=org.apache.kafka.common.serialization.ByteArraySerializer
batch.size=102400
linger.ms=10000


add replicat rekafka,exttrail /app/ogg/dirdat/ra,checkpointtable ogg.checkpoint

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213650.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 什么是PMF?

    什么是PMF?PMF是ProductMarketFit的简写,是指产品和市场达到最佳的契合点,你所提供的产品正好满足市场的需求,令客户满意,这是创业成功的第一步。PMF如何实现PMF金字塔模型PMF金字塔模型“PMF金字塔模型”是一个可操作的模型,它用5个关键要素定义了PMF的问题。在这个层级模型中,每一个要素就是金字塔的一层,并且直接与它上下层相关联。从下到上,这5层依次是:你的目标用户,你用户未被满足的需求,你的价值主张,产品的功能集,你的用户体验(UX)。精益产品开发流程是建立在P.

  • TCP三次握手详解及释放连接过程[通俗易懂]

    TCP三次握手详解及释放连接过程[通俗易懂]TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。两个序号和三个标志位:  (1)序号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。  (2)确认序号:ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,ack=seq+1。  (3)标志位:共6个,即URG、AC…

  • 英:英语面试常用口语900句[通俗易懂]

    英语面试常用口语900句英语面试常用口语900句2018年09月18日12:13:11Nathan_Sun阅读数:9514(一)高频词汇:可以拿来形容自己的形容词。除开我们都熟知的一些基本的词汇可以用来形容自己,比如honest,reliable,trustworthy等,我们还可以运用一些“高级词汇”。用形容词的形式来形容自己1.com…

  • pandas删除某列有空值的行_drop的之

    pandas删除某列有空值的行_drop的之0.摘要dropna()方法,能够找到DataFrame类型数据的空值(缺失值),将空值所在的行/列删除后,将新的DataFrame作为返回值返回。1.函数详解函数形式:dropna(axis=0,how=’any’,thresh=None,subset=None,inplace=False)参数:axis:轴。0或’index’,表示按行删除;1或’column…

  • 二分查找法

    序言引在正式的聊二分法之前,我们先来看一下下面的小例子:l.index(66)…我们之所以用index方法可以找到,是因为python帮我们实现了查找方法。如果,index方法不给你用了。。

  • SQL语句创建索引_MySQL索引

    SQL语句创建索引_MySQL索引createindex[index_mode]on[cn_name]([car_mode]);index_mode自定义索引名cn_name表名car_mode列名

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号