网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
# 启动mgr进程, start 进程名
GGSCI (SC-201708231409 DBLOGIN as project) 12> start mgr
Starting Manager as service ('OGGMGR')...
Service started.
# 查看进程状态
GGSCI (SC-201708231409 DBLOGIN as project) 13> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
# 停止mgr进程, stop 进程名
GGSCI (SC-201708231409 DBLOGIN as project) 14> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y
Sending STOP request to MANAGER ('OGGMGR') ...
Request processed.
Manager stopped.
(7)、配置extract抽取进程,输入edit params eora
将会弹出文本编辑器并写入:
GGSCI (SC-201708231409 DBLOGIN as project) 15> edit params eora
以下是添加内容:
extract eora
sourcedb project@127.0.0.1:3306 userid project password project
TranLogOptions AltLogDest F:\mysqlbin\binlog.index
exttrail E:\OGG\oggmsql\dirdat\et
table project.nbarankings2013;
说明
sourcedb:源端数据库信息
TranLogOptions AltLogDest:mysql二进制日志输出地址
exttrail:源端抽取出来的mysql日志存放地址(自定义),E:\OGG\oggmsql\dirdat\et
文件夹需要自己创建
table:同步的数据库和表,表名可以使用通配符,如table project.*
保存后,添加并启动eora进程,输入add extract eora,tranlog,begin now
、add exttrail E:\OGG\oggmsql\dirdat\et,extract eora
、start eora
:
GGSCI (SC-201708231409 DBLOGIN as project) 16> add extract eora,tranlog,begin now
GGSCI (SC-201708231409 DBLOGIN as project) 17> add exttrail E:\OGG\oggmsql\dirdat\et,extract eora
GGSCI (SC-201708231409 DBLOGIN as project) 18> start eora
注意:启动前需要先启动mgr
否则会报error:
Sending START request to MANAGER ('OGGMGR') ...
2019-02-02 14:44:36 ERROR OGG-15146 Manager not currently running.
从指定日期开始抽取
(8)、配置pump_so投递进程,输入edit params pump_so
将会弹出文本编辑器并写入:
GGSCI (SC-201708231409 DBLOGIN as project) 19> edit params pump_so
以下是添加内容:
extract Pump_so
sourcedb project@127.0.0.1:3306 userid project password project
rmthost 172.16.94.37,mgrport 7809,compress
rmttrail D:\OGG\oggmsql\dirdat\et
table project.nbarankings2013;
说明
sourcedb:源端数据库信息
rmthost :目标端ip地址, ogg端口号
rmttrail:目标端接收到的mysql日志存放地址(自定义),D:\OGG\oggmsql\dirdat\et
文件夹需要自己创建
table:同步的数据库和表,表名可以使用通配符,如table project.*
保存成功后,添加pump_so进程,输入(先不启动pump_so)add extract pump_so,exttrailsource E:\OGG\oggmsql\dirdat\et
,add rmttrail D:\OGG\oggmsql\dirdat\et,extract pump_so
:
GGSCI (SC-201708231409 DBLOGIN as project) 20> add extract pump_so,exttrailsource E:\OGG\oggmsql\dirdat\et -- 注意`rmttrail`的地址为`源端`服务器的目录
GGSCI (SC-201708231409 DBLOGIN as project) 21> add rmttrail D:\OGG\oggmsql\dirdat\et,extract pump_so -- 注意`rmttrail`的地址为`目标端`服务器的目录
(9)、创建表的定义文件(.def)
- .def文件说明:https://blog.csdn.net/huoshuyinhua/article/details/72957349
- 配置 .prm文件
GGSCI (SC-201708231409 DBLOGIN as project) 19> edit param defgen
以下是添加内容:
defsfile E:\OGG\oggmsql\dirdef\gmqdsjsjp.def
sourcedb project@127.0.0.1:3306 userid project, password project
table project.*;
说明
defsfile:.def存放位置和文件名
sourcedb:源端数据库信息
table:需要定义的数据库和表,表名可以使用通配符,如table project.*
- 生成 .def文件,在ogg安装根目录
E:\OGG\oggmsql> defgen paramfile ./dirprm/defgen.prm
- 将生成的 gmqdsjsjp.def文件复制到目标端安装目录下
dirdef
文件夹内
(10)、注意等待目标端安装完成后,启动start pump_so
- 源端所需要启动的服务有
3
个
> start mgr
> start eora
> start pump_so
> stop .. //停止服务
<< 到此源端的配置就结束了 >>
====== End Source(同步的数据源)Oracle GoldenGate配置 ======
====== 以下为Target(同步的目标数据库)Oracle GoldenGate配置 ======
2、Oracle GoldenGate(目标端)
(1)、在目标端服务器
安装的OGG根目录
按住SHift+右键
或cmd
进入OGG根目录
的命令面板
(2)、运行ogg:执行ggsci.exe
# 运行ogg
D:\OGG\oggmsql>ggsci.exe
Oracle GoldenGate Command Interpreter for MySQL
Version 12.3.0.1.2 OGGCORE_12.3.0.1.0_PLATFORMS_171208.0005
Windows x64 (optimized), MySQL Enterprise on Dec 8 2017 10:16:57
Operating system character set identified as GBK.
Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
GGSCI (DESKTOP-LDTMM0I) 1>
(3)、添加manager进行到windows服务,使之可以随windows开机自行启动
- 手动指定服务名GGMGR(默认就是GGMGR)。用
edit params ./GLOBALS
命令(注意./GLOBALS
为大写),进入编辑文件
# 编辑 GLOBALS文件(没有自动创建)
GGSCI (DESKTOP-LDTMM0I) 1> edit params ./GLOBALS
- 输入下面内容:
MGRSERVNAME OGGMGR
- 保存退出后,用install addservice命令添加服务
E:\OGG\oggmsql>install addservice
Service 'GGMGR' created.
Install program terminated normally.
(4)、输入create subdirs
自动创建需要用到的文件夹
GGSCI (SC-201708231409) 1> create subdirs
主要目录介绍:
dirchk:存放检查点(Checkpoint)文件
dirdat:存放Trail与Extract文件,以后详述
dirdef:通过DEFGEN工具生成的源或目标的数据定义文件
dirpcs:存放进程状态文件
dirprm:存放参数文件
dirrpt:存放进程报告文件
dirsql:存放SQL脚本文件
dirtmp:当事务所需要的内存超过已分配内存时,缺省存储于此。
(5)、登录projectTarget 账号,输入dblogin sourcedb 数据库名@IP地址:端口号 userid 用户名 password 密码
(此处为目标端数据库):
GGSCI (DESKTOP-LDTMM0I) 2> dblogin sourcedb project_target@172.16.94.37:3306 userid projectTarget password projectTarget
Successfully logged into database.
(6)、添加检查点表checkpoint,输入add checkpointtable project_target.checkpoint
:
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 3> add checkpointtable project_target.checkpoint
(7)、编辑GLOBAL文件,输入edit params ./GLOBALS
将会弹出文本编辑器并写入:
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 4> edit params ./GLOBALS
以下是添加内容:
checkpointtable project_target.checkpoint
ALLOWOUTPUTDIR D:\OGG\oggmsql\dirdat
(8)、配置mgr管理进程,输入edit params mgr
将会弹出文本编辑器并写入:
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 5> edit params mgr
以下是添加内容:
port 7809
dynamicportlist 7840-7939
autorestart er *, retries 5, waitminutes 3
purgeoldextracts D:\OGG\oggmsql\dirdat*,usecheckpoints, minkeepdays 2
ACCESSRULE, PROG 7809, IPADDR 172.16.94.15, ALLOW
保存成功后,启动mgr管理进程start mgr
:
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 6> start mgr
(10)、配置的复制进程,输入edit params repl
将会弹出文本编辑器并写入:
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 7> edit params repl
以下是添加内容:
replicat repl
targetdb project_target@127.0.0.1:3306 userid projectTarget password projectTarget
assumetargetdefs
reperror default,discard
discardfile ./dirrpt/repl.dsc,append,megabytes 50
map project.nbarankings2013, target project_target.nbarankings2013;
说明
targetdb:目标端数据库信息
map:源端需要同步的表
target:目标端相对应的备份表
表名可以使用通配符,如MAP project.* , target ggs.*
保存成功后,添加并且启动复制进程,输入add replicat repl,exttrail D:\OGG\oggmsql\dirdat\et,checkpointtable project_target.checkpoint
,start repl
:
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 8> add replicat repl,exttrail D:\OGG\oggmsql\dirdat\et,checkpointtable project_target.checkpoint
GGSCI (DESKTOP-LDTMM0I DBLOGIN as projectTarget) 9> start repl
(11) 目标端所需要启动的服务有2个
> start mgr
> start repl
<< 到此目标端的配置就结束了 >>
====== End target(同步的目标数据库)Oracle GoldenGate配置 ======
四、GoldenGate 测试
(1)、启动源端
的start pump_so
:
GGSCI (Win10) 1> start pump_so
目标端
显示了这个info,如图:
源端
的sqlplus.exe输入:
SQL> INSERT INTO NBArankings2013 (NBATeam, Division, WinPerc, GB, Conference)
VALUES ('Brooklyn', 'Atlantic', '0.598', '17', 'East'),
('Brooklyn', 'Atlantic', '0.598', '17', 'East');
已创建 2 行。
SQL> commit;
然后再去目标端看看效果如何,如图(我插入了2条):
注:可以到安装ogg的根目录中找到ggserr.log文件,查看错误日志。
五、错误解决方案
- 登陆mysql:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
或者2059 Authentication plugin 'caching_sha2_password'cannot be loaded
原因:MySQL开发团队已发布MySQL 8.0.4 RC版本,加密方式从原来的mysql_native_password更改为caching_sha2_password,mysql5.7版本之后,默认采用了caching_sha2_password验证方式。
解决办法:进入mysql命令行,输入以下命令:
// 1.更改加密方式
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
// 2.更改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
// 3.刷新
mysql> FLUSH PRIVILEGES;
- 目标端 repl 进程弹出的窗口显示:
拒绝访问
解决办法:cmd使用管理员打开
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
oot’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
// 3.刷新
mysql> FLUSH PRIVILEGES;
2. 目标端 repl 进程弹出的窗口显示:`拒绝访问`
解决办法:cmd使用管理员打开
[外链图片转存中...(img-DMI4FE8f-1715545997120)]
[外链图片转存中...(img-skvjrDWI-1715545997121)]
[外链图片转存中...(img-spAFoe8M-1715545997121)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**