ogg12.3+mmsql配置写入kafka

1、解压ogg压缩包

注意:源端是安装了sqlserver的机器,sqlserver环境变量之前都配置好了,解压之后在希望安装 OracleGoldenGate 的位置(在本示例中为C:\Users\Administrator\Desktop\GG)解压缩下载的压缩包。然后打开命令提示符,转到 C:\Users\Administrator\Desktop\GG目录,启动GGSCI(GoldenGate 命令界面)

2、ogg初始化(和mysql是一样的)

接着执行CREATE SUBDIRS 命令创建 Oracle GoldenGate 工作目录进行初始化

3、创建测试数据库和表数据

创建一个数据库在该库下新建测试表,数据库名、表名均为 test_ogg:

create database test_ogg

在下面选择数据库创建表

4、配置dsn数据源

现在,为使 Oracle GoldenGate 能够访问test_ogg 数据库,必须为其创建一个 ODBC 数据源。转到 Control

Panel -> Administrative Tools -> Data Sources (ODBC),添加一个新的系统 DSN。选择 SQL Server 作为数据库驱动程序并将该数据源命名为 HRT。将来源指向本地 SQL Server (MSSQL) 并填写登录凭证。数据源摘要应类似如下所示:

Window系统下,打开控制面板->管理工具->选中数据源


选择系统dsn进行添加,选择sqlserver点击完成

输入数据源名称,选择连接的服务器,如下拉框中没有你本地数据源,cmd中输入hostname查看本地服务,然后粘贴。


然后这个使用默认的,不加以修改,你也可以选择输入登录id和密码进行sqlserver验证,但是sqlserver需要修改一些配置(暂时没研究),所以我们使用默认的

修改默认的数据库,看你需要访问那个数据库


然后使用默认配置,点击完成和测试数据源


如显示测试成功,那就dsn添加成功。

5、配置用户sysadmin权限

打开microsoft sql server management studio连接数据库->服务器角色->sysadmin


点击添加nt authority\system用户点击确定。(不配置sysadmin权限启动extract会有权限问题)

6、清理作业

在Management Studio中,在源数据库的查询窗口中。您必须手动删除数据库的SQL Server CDC清除作业,因为它可能导致Extract的数据丢失。(EXECUTE sys.sp_cdc_drop_job 'cleanup';)


7、启用cdc

在sqlserver studio新建查询运行:

EXECUTEsys.sp_cdc_enable_db;

如果报错执行

ALTER AUTHORIZATION ON DATABASE::[数据库名称] TO [sa]

8、配置globals配置文件

使用Sql Server系统管理员用户创建ogg Schema,这个schema会存cdc抽取的一些数据记录:

-- 创建schema

create schema ogg

进入OGG安装目录下,使用CMD命令行配置globals文件:

ggsci.exe

GGSCI(ambari.master.com) 2> edit param ./globals

输入以下命令,

ggschema [创建的schema]

9、add trandata

如果是新建ojdbc是windowid验证则在ogg命令行中输入以下命令

GGSCI(ambari.master.com) 2> dblogin sourcedb hrt

GGSCI(ambari.master.com) 2> add trandata [schema].*

如果是新建ojdbc是通过账号密码验证验证则在ogg命令行中输入以下命令

GGSCI(ambari.master.com) 2>dblogin sourcedbhrt, userid sa, password xxxxxx

GGSCI(ambari.master.com) 2>add trandata [schema].*

如果add trandata失败显示如下图错误

原因:SqlServer安装后修改了主机名,导致以下两个语句结果不一致

SELECT * FROMmaster.dbo.sysservers

SELECTSERVERPROPERTY('ServerName')

如果不一致就在sql studio执行如下语句

iF serverproperty('servername')<>@@servername

BEGIN

DECLARE @server SYSNAME

SET  @server=@@servername

EXEC sp_dropserver @server=@server

SET  @server=cast(serverproperty('servername') AS SYSNAME)

EXEC sp_addserver @server=@server,@local='LOCAL'

END

ELSE

PRINT '实例名与主机名一致,无需修改!'

执行成功后就重新dblogin然后add trandata

执行完成之后,可以看到多了一张配置表

如果数据表没有add trandata,则不能捕获其变更数据。

10、开启sql server agent

设置sql serveragent开启,进入sqlserver managermant studio,打开连接选择sqlserver代理进行开启


11、配置清理作业和关联对象

在cmd目录下使用该ogg_cdc_cleanup_setup.bat实用程序(在Oracle GoldenGate安装目录中)创建Oracle GoldenGate CDC清理作业和关联对象。使用的ggschema名称必须与您GGSCHEMA在GLOBALS文件参数中使用的名称相同。您必须使用具有sysadmin权限的SQL Server身份验证用户。在解压的ogg文件夹下进行:

ogg_cdc_cleanup_setup.bat createJob username password databasename servername\instancename ggschema

创建样例:ogg_cdc_cleanup_setup.bat  createJob sa  xxxxx  ogg_test NewESB1  ogg

删除样例:ogg_cdc_cleanup_setup.bat  dropJob sa  xxxx ogg_test NewESB1  ogg

Username:数据库用户名,password数据库密码,databasename数据库名称,服务名\实例名 globals文件中定义的schema(用户自己创建一个schema)。

12、配置mgr

GGSCI(ambari.master.com) 3> edit param mgr

文件内容:

PORT 7809

AUTOSTART ER *

AUTORESTART ER*,RETRIES 3, WAITMINUTES 5, RESETMINUTES 10

说明:PORT即mgr的默认监听端口,AUTORESTART重启参数设置表示重启所有EXTRACT和Replicat进程,最多5次,每次间隔3分钟,最多等待5分钟,AUTOSTART开启自启所有EXTRACT和Replicat进程。

13、配置extract 抽取进程

GGSCI(ambari.master.com) 6>edit param  extkafka

文件内容:

Extract extkafka

SOURCEDB HRT

TRANLOGOPTIONS  MANAGECDCCLEANUP

exttrail

C:/Users/Administrator/Desktop/GG/[extkafka]/to

TABLE dbo.TEST_OGG;

说明:第一行指定extract进程名称;sourcedb hrt连接数据源;TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT。此选项告诉 Extract 进程定期检查和删除 CDC 捕获作业,从而提高性能并减小捕获数据所占用的空间;exttrail定义trail文件的保存位置以及文件名,注意这里文件名只能是2个字母,其余部分OGG会补齐;table即复制表的表名,test_ogg.test_ogg代表抽取test_ogg表(支持*通配,必须以;结尾)

添加extract进程:

GGSCI(ambari.master.com) 16> add extract extkafka,tranlog,begin now

添加trail文件的定义与extract进程绑定,extract进程监听文件夹文件是否有变动:

GGSCI(ambari.master.com) 17> add exttrail C:/Users/Administrator/Desktop/GG/[extkafka]/to,extract extkafka

13、配置pump推送进程

pump进程本质上来说也是一个extract,只不过他的作用仅仅是把trail文件传递到目标端,配置过程和extract进程类似,只是逻辑上称之为pump进程:

GGSCI(ambari.master.com) 18>edit parampukafka

文件内容:

extract pukafka

passthru

dynamicresolution

rmthost192.168.124.173 mgrport 7809

rmttrail /opt/ogg/[extkafka]/to

table dbo.*;

说明:第一行指定extract进程名称;passthru即禁止OGG与Oracle交互,我们这里使用pump逻辑传输,故禁止即可;dynamicresolution动态解析;rmthost和mgrhost即目标端(kafka)OGG的mgr服务的地址以及监听端口;rmttrail即目标端trail文件存储位置以及名称。

分别将本地trail文件和目标端的trail文件绑定到extract进程:

GGSCI(ambari.master.com) 1> add extract pukafka,exttrailsource C:/Users/Administrator/Desktop/GG/[extkafka]/to

GGSCI(ambari.master.com) 2> add rmttrail /opt/ogg/[extkafka]/to,extract pukafka

14、配置define进程

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

GGSCI(ambari.master.com) 3> edit param [extkafka]

defsfile C:\Users\Administrator\Desktop\GG\dirdef\[extkafka]

sourcedb hrt

table test_ogg.*;

在OGG主目录下执行:

C:\Users\Administrator\Desktop\GG> defgen paramfile C:\Users\Administrator\Desktop\GG\dirprm\[extkafka].prm

将生成的C:\Users\Administrator\Desktop\GG\dirdef\[extkafka]发送的目标端ogg目录下的dirdef里,源端配置完成。

15、开机自启mgr

在goldengate环境ggsci下输入以下命令:

edit params ./GLOBALS

#(注意./GLOBALS为大写)编辑文件,添加以下内容。

MGRSERVNAME GGMGR

#GGMGR 是个性化设置的OGG管理进程服务名,保存退出。

在OGG安装目录下使用“以管理员身份运行”模式打开cmd提示符,执行命令,执行install addservice激活服务。

然后在windows服务中找到服务设置开机自启动。

如果是windos环境oracle数据库,可能需要设置自动延时启动,在oracle启动之后在进行启动,如果设置了延时启动ogg进程还是启动报错,报错如下图所示

那可以设置通过bat脚本文件进行开机自启。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容