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

 

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA初体验

    JAVA初体验目录 nbsp 1 什么是软件开发 2 人机交互方式 3 JAVA 语言概述 3 1JAVA 语言的三种技术架构 3 2JAVA 语言的跨平台性 4 JAVA 开发环境 4 1 nbsp JDK JRE JVM 之间的关系 4 2 为什么配置 path 变量 5 Java 程序的编写 编译和运行 1 什么是软件开发 软件 一系列按照特定顺序组织的计算机数据和指令的集合 软件是由程序 数

    2025年10月25日
    3
  • mysql读写分离配置

    mysql读写分离配置mysql读写分离配置随着网站访问和请求量的增加,单台数据库服务器的连接已耗尽,会出现连接请求还在等待,或是数据库服务器崩溃等现象,这时候我们考虑如何减少数据库的连接,可以通过优化代码、使用缓存、数据库读写分离等方式解决此问题。 什么是读写分离:将数据库的读、写操作分别作用到不同的数据库(不同物理机)上。 适用场景:读操作远大于写操作,包含大量复杂统计、离线计算等任务(比如定时按各维度对数…

    2022年6月9日
    38
  • shell编程和shell脚本_shell脚本语言入门pdf

    shell编程和shell脚本_shell脚本语言入门pdf看了一遍,小有问题,但是可以览个大概了。 Shell编程基础http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80

    2022年10月3日
    3
  • stm32智能小车设计「建议收藏」

    stm32智能小车设计「建议收藏」提前说说博主是用寄存器写的驱动历时两周,总算把小车弄好了,总体上来说做的太慢了。自己在32的学习中还不够仔细深入,只是浅面的学习,当真正做一个项目时,暴露的问题就太多了。这次在小车的制作的过程中,遇到了各种各样的问题,软件,硬件,各式各样的问题迎面而来,真的好几次心态崩了。不过还好小车这个项目不只是我一个人在搞,组里的其他成员也在一直在考虑问题,想办法,不断地解决解决,总归小车终于做好了,下面…

    2022年10月18日
    5
  • PyTorch 数据归一化与反归一化[通俗易懂]

    PyTorch 数据归一化与反归一化[通俗易懂]文章目录数据归一化除最大值法MinMaxScaler均值和标准差反归一化数据归一化除最大值法defread_and_normalize_train_data():train_data,train_label=load_train()print(‘Converttonumpy…’)train_data=np.array(train_data…

    2022年6月23日
    46
  • phpstorm 2021.2.3激活(已测有效)「建议收藏」

    phpstorm 2021.2.3激活(已测有效),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    381

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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