张小白教你使用OGG实现Oracle 19C到MySQL 5.7的数据同步(4)
(五)目的端OGG配置
(1)OGG目的端的MySQL配置
创建MySQL的ogg用户:
drop user ogg;
create user 'ogg'@'%' identified by 'ogg';
grant all on *.* to 'ogg'@'%';
创建checkpoint所需的ogg库:
create database ogg;
use ogg
create table test_ogg(id int,name varchar(20),primary key(id));
cd $OGG_HOME
ggsci
create subdirs
(2)OGG目的端管理进程MGR配置(侦听本地端口7810)
edit param mgr
PORT 7810
(这个端口号跟 pumysql配置中的 rmthost 127.0.0.1,mgrport 7810 相对应)
OGG目的端检查点日志表checkpoint配置
edit param ./GLOBALS
(3)OGG目的端检查点日志表checkpoint配置
CHECKPOINTTABLE ogg.checkpoint
将上次生成的 /opt/ogg/source_endpoint/dirdef/ogg_test.ogg_test 文件拷贝到 $OGG_HOME/dirdef下:
cp /opt/ogg/source_endpoint/dirdef/ogg_test.ogg_test /opt/ogg/target_endpoint/dirdef/ogg_test.ogg_test
如果没有权限,可以用root复制后修改权限:
进入ggsci命令行:
dblogin sourcedb ogg@127.0.0.1:3306 ,userid ogg, password ogg
add checkpointtable ogg.ggs_checkpoint
(4)OGG目的端回放线程r_tab1配置(实现将抽取的数据文件写到MySQL数据库表)
edit params r_tab1
replicat r_tab1
targetdb ogg@127.0.0.1:3306,userid ogg,password ogg
sourcedefs /opt/ogg/target_endpoint/dirdef/ogg_test.ogg_test
HANDLECOLLISIONS
MAP test_ogg.test_ogg,target ogg.test_ogg;
dblogin sourcedb ogg@127.0.0.1:3306 ,userid ogg, password ogg
delete replicat r_tab1
add replicat r_tab1,exttrail /opt/ogg/target_endpoint/dirdat/rt,checkpointtable ogg.ggs_checkpoint
info all
start mgr
start r_tab1
(六)测试验证
在Oracle表插入一条记录:
到MySQL看一下:
再插一条:
再看看MySQL:
可见同步成功!
TIPS1:如果遇到 ERROR OGG-15161 Could not initialize the connection with MGR MGR (No route to host),一般是本机的IP在/etc/hosts中没定义,更新IP即可。
TIPS2:OGG不仅仅可以做Oracle到MySQL的实时数据同步,只要装上OGG for xx DB,就可以实现Oracle到其他各种数据库的实时数据同步,甚至实现从OGG到Kafka的数据同步。有兴趣的读者可以自行研究。
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)