oracle goldgate 安装配置-单机版(ogg)

oracle goldgate 安装配置-单机版(ogg)

准备

   OGG 配置分两部分,源端与目标端两部分,安装文件不一致,需注意!
    环境: centos7  2台
    1.  源端安装oracle  这里不做配置,请查看 Oracle单机版安装部署
    2.  目标端安装kafka

源端

  1. 开启oracle 归档日志 ,使用dba登录

在这里插入图片描述
查询是否是归档模式
在这里插入图片描述 LOG_MODE= ARCHIVELOG | NOARCHIVELOG NOARCHIVELOG 代表非归档模式 ARCHIVELOG 代表归档模式

    启动归档模式

在这里插入图片描述更改数据库模式要先关闭数据,进入mount

    shutdown immediate; --关闭oracle
    startup mount; --启动到mount状态
    alter database archivelog; --修改至归档模式
    alter database open; --打开oracle
    archive log list; --查看归档日志
    
    --查询oracle回收站状态 回收站会影响同步功能
    SELECT Value FROM V$parameter WHERE Name = 'recyclebin';
    --关闭回收站  
    alter session set recyclebin=off;

    --查询NLS_LANG 并配置到linux  解决中文同步乱码
    select userenv( 'language') from dual;
    export NLS_LANG="AMERICAN_AMERICA.WE8MSWIN1252"

在这里插入图片描述 2. 创建账号信息

 create tablespace tbs_ogg datafile '/home/oracle/app/oradata/tbs_ogg.dbf' size 500M autoextend on;  --建表空间
        --建立用户并相关权限
         create user ogg identified by 123456 default tablespace tbs_ogg;
        GRANT create table to ogg;
        GRANT CONNECT TO ogg;
        GRANT ALTER ANY TABLE TO ogg;
        GRANT ALTER SESSION TO ogg;
        GRANT CREATE SESSION TO ogg;
        GRANT FLASHBACK ANY TABLE TO ogg;
        GRANT SELECT ANY DICTIONARY TO ogg;
        GRANT SELECT ANY TABLE TO ogg;
        GRANT RESOURCE TO ogg;
        GRANT DELETE ANY TABLE TO ogg;
        GRANT INSERT ANY TABLE TO ogg;
        GRANT UPDATE ANY TABLE TO ogg;
        GRANT RESTRICTED SESSION TO ogg;

        --登录ogg用户自行建立测试表
        create table xxxxxx

3. 下载源端OGG

  下载地址: https://www.oracle.com/middleware/technologies/goldengate-downloads.html#license-lightbox
   
   源端下载  xxxxx for Oracle on Linux x86-64 
   
   注意了,下载的版本要根据源端数据库以及操作系统来选择

在这里插入图片描述解压 unzip 191004_fbo_ggs_Linux_x64_shiphome.zip
解压后文件如下:
在这里插入图片描述在这里插入图片描述4. 安装ogg

    关闭防火墙或者自行配置好出入端口

   # 创建安装目录  
   mkdir ogg      # /usr/local/ogg
   # 授权给用户:oracle  (这里是因为oracle服务端的安装的时候 ,配置、环境变量等都是在oracle这个用户下完成,具体用户看自己的oracle在那个用户下安装的)
   # 因为ogg的采集源是oracle 所以需要配置一些oracle相关的东西,所以需要授权给oracle的安装用户
   chown -R oracle.oinstall ogg
   chown -R oracle.oinstall fbo_ggs_Linux_x64_shiphome
   
   # 切换用户  切换至自己的oracle安装用户
   su oracle
   # 授权
   chmod 755 -R fbo_ggs_Linux_x64_shiphome

   # 备份一下文件,一面修改错了 (非必需)

在这里插入图片描述 编辑 oggcore.rsp文件

   # 配置源端oracle
   INSTALL_OPTION=ORA11g
   # 安装目录
   SOFTWARE_LOCATION=/usr/local/ogg
   START_MANAGER=true
   # ogg manager进程端口
   MANAGER_PORT=7809
   # oracle 的地址  配置自己的oracle地址
   DATABASE_LOCATION=/home/oracle/product/11.2.0/db_home1

   # oracle inventory目录 配置自己的文件目录
   INVENTORY_LOCATION=/home/oracle/inventory
   # 用户组
   UNIX_GROUP_NAME=oinstall

配置环境变量
在这里插入图片描述
vi .bash_profile
在这里插入图片描述export PATH=/usr/local/ogg: P A T H e x p o r t L D L I B R A R Y P A T H = PATH export LD_LIBRARY_PATH= PATHexportLDLIBRARYPATH=ORACLE_HOME/lib

 wq! 保存

 静默安装

在这里插入图片描述

   ./runInstaller -silent -responseFile /usr/local/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp

5. 配置

 安装完毕后输入ggsci 进入命令行

在这里插入图片描述 FAQ: 如果提示 command not found 命令找不到问题

      尝试输入ldd ggsci 查看是否依赖有问题

在这里插入图片描述 登录之前创建的数据库用户

在这里插入图片描述 dblogin userid ogg

  创建ogg所需目录   create subdirs

在这里插入图片描述
dirprm 存放配置文件
dirrpt 日志目录
dirdef 异构结构所需的定义文件
dirdat 存放trail文件

配置mgr进程

    # 这里配置manager管理进程
    edit param mgr

在这里插入图片描述在这里插入图片描述

PORT 7809
DYNAMICPORTLIST  7810-7920
AUTOSTART er *
AUTORESTART er *, retries 5, waitminutes 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

PORT 7809 --mgr的默认监听端口
DYNAMICPORTLIST 7810-7909 --DYNAMICPORTLIST 动态端口集,当上述指定的端口不可用时在这个区间选择1个,最大范围256
AUTORESTART EXTRACT ,RETRIES 5,WAITMINUTES 3 --表示自动重启所有EXTRACT进程,每次间隔3分钟 最多可以执行5次
PURGEOLDEXTRACTS ./dirdat/
,usecheckpoints, minkeepdays 3 --trail文件定期清理 清理超过3天的trail文件
–配置manager进程启动后 自动启动那些进程
–AUTOSTART ER*
– 下面都是自动预警设置
LAGREPORT 1 --mgr进程每隔1小时检测延时情况
LAGINFO 30 --超过了30分钟就把延迟作为信息记录到错误日志中
LAGCRITICAL 45 --延迟超过了45分钟,则把它作为警告写到错误日志中
配置采集进程

edit params ext1
在这里插入图片描述

extract ext1 --进程名 可根据需要修改
 dynamicresolution
 userid ogg,password 123456 --oracle 用户密码
 exttrail /usr/local/ogg/dirdat/to --trail文件存放地址
 SETENV (ORACLE_SID = "orcl") --环境
 SETENV (NLS_LANG = "AMERICAN_AMERICA.WE8MSWIN1252") --环境
 --配置采集表
 table ogg.test_user; 
 table ogg.test_user1; 

wq! 保存配置 ,添加一个ext1的进程

 GGSCI (localhost.localdomain as ogg@orcl) 9> add extract ext1,tranlog,begin now
 EXTRACT added.  
 GGSCI (localhost.localdomain as ogg@orcl) 10> add exttrail /usr/local/ogg/dirdat/to,extract ext1
 EXTRACT added.   

配置发送进程

    GGSCI (localhost.localdomain as oggadmin@orcl) 11> edit params push1
extract push1 --进程名称
    passthru --禁止ogg与oracle交互
    dynamicresolution --动态解析
    userid ogg,password 123456 --oracle用户密码
    rmthost 192.168.240.132,mgrport 7809 ----目标服务器ip
    rmttrail /usr/local/ogg/dirdat/fr ----目标服务器的trail所在目录
    table ogg.test_user;
   # 添加一个发送进程  exttrailsource : 表示trail 源端地址
   GGSCI (localhost.localdomain as oggadmin@orcl) 12> add extract push1,exttrailsource /usr/local/ogg/dirdat/to
   EXTRACT added.

   #添加目标端trail地址与push1进程绑定
  GGSCI (localhost.localdomain as oggadmin@orcl) 13> add rmttrail /usr/local/ogg/dirdat/fr,extract push1
  RMTTRAIL added.

配置define文件(oracle to kakfa属于异构环境,需要对应的中间文件来定义结构)

 GGSCI (localhost.localdomain as ogg@orcl) 11> edit param test_user

  defsfile /home/ogg/install/dirdef/oggadmin.test_user --define文件存放目录
  userid ogg,password 123456 --oracle用户密码
  table ogg.test_user;


 #执行生成文件
./defgen paramfile dirprm/test_user.prm

在这里插入图片描述

至此,源端配置完成

在这里插入图片描述

目标端

1.  下载OGG
     
     
      下载地址: https://www.oracle.com/middleware/technologies/goldengate-downloads.html#license-lightbox
   
      注意了! 因为目标端为kafka 目标端下载  Oracle GoldenGate for Big Data xxxxxx
  1. 解压

    创建安装目录 /usr/local/ogg

    mkdir ogg

    解压

    tar xf OGG_BigData_Linux_x64_12.3.2.1.1.tar -C /usr/local/ogg

    配置环境变量

    vi /etc/profile

    #安装目录

     export OGG_HOME=/usr/local/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
    
  2. 环境生效
    source /etc/profile
    在这里插入图片描述

  3. 配置

    4.1 添加一个manager进程

    GGSCI (localhost.localdomain) 2> edit params mgr

     PORT 7809
     DYNAMICPORTLIST 7810-7909
     AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
     PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3
    
     # 这里配置介绍不在重复了,可查看源端配置介绍
    

    4.2 配置检查点checkpoint
    GGSCI (kafka) 2> edit param ./GLOBALS
    CHECKPOINTTABLE test_ogg.checkpoint
    4.3 添加replicat进程

    GGSCI (kafka) 3> edit param rekafka
    

      REPLICAT receive1 --relicate进程名字
      sourcedefs /usr/local/ogg/dirdef/ogg.test_ogg --define的映射文件
      TARGETDB LIBFILE libggjava.so SET property=dirprm/kafka.props --TARGETDB LIBFILE即定义kafka一些库文件以及配置文件位置
      REPORTCOUNT EVERY 1 MINUTES, RATE --复制任务的报告生成频率
      GROUPTRANSOPS 10000 --以事务传输时,事务合并的单位,减少IO操作  
      MAP ogg.test_user, TARGET ogg.test_user; --源端与目标端的映射关系

# 添加replicat 设置trail文件与检查点
     GGSCI (localhost.localdomain) 26> add replicat receive1 exttrail /usr/local/dirdat/fr,checkpointtable test_user.checkpoint
     REPLICAT added.

4.4 配置kafka文件

  [root@localhost dirprm]# pwd
   /usr/local/software/ogg/dirprm
   [root@localhost dirprm]# vi kafka.props 
   gg.handlerlist=kafkahandler
   gg.handler.kafkahandler.type=kafka
   gg.handler.kafkahandler.KafkaProducerConfigFile=kafka_producer.properties
   gg.handler.kafkahandler.topicMappingTemplate=test_user #kafka topic名称,OGG12有修改
   gg.handler.kafkahandler.format=json
   gg.handler.kafkahandler.mode=op
   
   # 路径设置 根据自己的安装情况设置
   gg.classpath=dirprm/:/usr/local/software/kafka/kafka_2.11-2.2.0/libs/*:/usr/local/software/ogg/:/usr/local/software/ogg/lib/*
[root@localhost dirprm]# vi  kafka_producer
   #kafka地址
        bootstrap.servers=192.168.240.132:9092
        #ack 设置
        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

至此目标端ogg配置完毕
在这里插入图片描述
测试

  1. 启动
       
          启动顺序:  源端mgr ---> 目标端mgr ---> 源端extract ---> 源端pump ---> 目标replicate

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述 注意了!查看进程是否启动成功,不能以控制台输出为准,可根据info all命令查看进程状态 或者 dirrpt/* 下查看日志

おすすめ

転載: blog.csdn.net/weixin_43564627/article/details/118961632