赞
踩
客户目前的操作系统环境为AIX 7.2 ,硬件为IBM小机。Oracle环境使用rac+adg单机部署,rac使用asm管理磁盘。部署goldengate为了降低对主库的影响,因此部署在dg节点。
原文写在移动云盘笔记上,贴过来图片不会自动更过来,因此把截图删除了,大家凑活看看吧,整整三天从无到有。
目标库为kafaka,最终给flink用于消费产生的数据。
由于小机环境不好模拟,以下为本次技术验证所提供的环境
主机ip | 配置 | 系统版本 | Oracle/kafka版本 | Goldengate版本 | 备注 |
10.89.136.3 | 4c 16g 60g系统盘 500g数据盘 | Centos 7.8 | Oracle 19.3 for linux | - | Adg主库 |
10.89.136.4 | 4c 16g 60g系统盘 500g数据盘 | Centos 7.8 | Oracle 19.3 for linux | Adg从库 | |
10.89.136.5 | 4c 16g 60g系统盘 500g数据盘 | Centos 7.8 | kafka_2.13-3.7.0 | 目标库kafka |
以下为从库adg安装ogg整体实施步骤。
源端:
传输安装包213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip至 /opt/目录
解压安装
mkdir -p /u01/app/ogg
chown -R oracle:oinstall /u01/app/ogg
su - oracle
cd /opt
unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zi
配置oracle的环境变量文件/home/oracle/.bash_profile里配置,为了怕出问题,我把OGG_HOME等环境变量在/etc/profile配置了一份。
vim /home/oracle/.bash_profile
文件内容如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin
# 注意这里是你的主机,注意修改否则创建监听会出问题
export ORACLE_HOSTNAME=p19cstd
# 注意这里是你的主机,注意修改否则创建监听会出问题
export ORACLE_SID=p19cstd
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
#rlwrap
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
#for ogg
export OGG_HOME=/u01/app/ogg
export PATH=$OGG_HOME/bin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$OGG_HOME:$ORACLE_HOME/lib:/usr/lib
alias ggsci='cd $OGG_HOME;ggsci'
cd ~
source .bash_profile
提示交换空间不足,用root用户配置2G交换空间。
继续执行安装
至此源端ogg软件已经安装完毕。
OGG基于辅助日志等进行实时传输,故需要打开相关日志确保可获取事务内容,通过下面的命令查看该状态
select force_logging,supplemental_log_data_min from v$database;
在adg备库dg上可以看到,日志状态已经同步更改
首先root用户建立相关文件夹,并赋予权限,主库及从库同步操作。
- mkdir -p /u01/app/oggdata/p19c
- chown -R oracle:oinstall /u01/app/oggdata/p19c
- chown -R oracle:oinstall /u01/app/oggdata
alter system set standby_file_management=AUTO scope=both;
grant connect,resource,unlimited tablespace to ogg;
grant executeon utl_file to ogg;
grant select any dictionary,select any table to ogg;
grant alter any table to ogg;
grant flashback any table to ogg;
grant execute on DBMS_FLASHBACK to ogg;
alter system set streams_pool_size=1g;
由于要从dg库抽取日志文件,extract抽取时主要加入参数,
TranlogOptions MINEFROMACTIVEDG
ogg版本12.1.2.1.0 及以后版本支持,但只支持oracle asm用户及经典抽取模式,不支持集成抽取模式。
因此本环境配置为从主库抽取。
数据库源端启用scott用户来验证同步过程。
alter session set "_ORACLE_SCRIPT"=true;
创建scott.sql脚本
@/u01/app/oracle/product/19.3.0/rdbms/admin/scott.sql
退出,重新登录
sqlplus / as sysdba
alter user SCOTT account unlock;
密码为TIGER 区分大小写
2、源端创建测试用表:
在scott下创建测试表kafka:
create table KAFKA
(
empno NUMBER(4) not null,
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2)
);
alter table KAFKA
add constraint PK_KAFKA primary key (EMPNO);
插入测试数据:
insert into kafka select * from emp where sal is not null;
select * from kafka;
3.1、添加kafka表附加日志
./ggsci
dblogin userid ogg@10.89.136.3:1521/p19c password oggL123
#添加表
add trandata scott.kafka
info trandata scott.kafka
创建心跳表,用于监控同步进度,这步可选,但最好加上,后面监控会方便很多
3.4、编辑抽取进程GGSCI >ADD HEARTBEATTABLE
5.1、添加checkpoint表
在确保zookeeper集群和kafka正常的情况下做下面配置:
checkpoint即复制可追溯的一个偏移量记录,在全局配置里添加checkpoint表即可。
edit param ./GLOBALS
CHECKPOINTTABLE ogg.checkpoint
创建2g的交换空间。
再次启动kafka
从dg库的ogg登录主库
数据初始化,指的是从源端Oracle 数据库将已存在的需要的数据同步至目标端,配置初始化进程:
注意使用oracle用户进入进行编辑,否则可能起进程的时候可能会提示无法找到文件。
填入以下内容
GoldenGate 提供了 DEFGEN 工具,用于生成数据定义,当源表和目标表中 的定义不同时,GoldenGate 进程将引用该专用工具。在运行 DEFGEN 之前,需要 为其创建一个参数文件:
edit params init_scott 加入下面配置 defsfile /u01/app/ogg/dirdef/init_scott.def userid ogg@10.89.136.3:1521/p19c password oggL123 table scott.SCEMP; table scott.SCDEPT;
利用已有的抽取进程
加入以下内容
edit params init01
移除原先文件
rm INITSC.cpe
view report initsc
但数据已经抽取。
再次启动,源端数据已经抽取。
启动目标端初始化进程
start init01
查看进程状态
根据文章 https://stackoverflow.com/questions/62984676/goldengate-specialrun-abending-with-ogg-02419-missing-checkpoint-file-name/74760498#74760498
提示对应参数不支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。