本篇使用ogg同步mysql表到oracle数据库,mysql为源端,oracle为目标端。

处于测试目的,表结构手动创建的(后面的会研究sql developer)

使用intial load初始化表数据

实验环境

软件版本

操作系统

Rhel 7.3

源端

Mysql 8.0

目标端

Oracle 18c

ogg

18.1.0.0.0

1.环境准备(mysql和oracle数据库安装略过)

mysql -uroot -poracle

chown mysql:mysql 181000_ggs_Linux_x64_MySQL_64bit.zip 
chown 777 181000_ggs_Linux_x64_MySQL_64bit.zip
tar -xf ggs_Linux_x64_MySQL_64bit.tar 
rm ggs_Linux_x64_MySQL_64bit.tar

./ggsci
GGSCI (cs-db) 1> create subdirs

环境变量:
export OGG_HOME=/oracle/soft/myogg
path后加:$OGG_HOME

2.mysql源端数据库配置

2.1.检查是否开启binlog

mysql> show binary logs;
mysql> show variables like '%log_bin%';
没有则需要开启binlog,略

2.2.创建mysql数据库用户并授权

mysql> CREATE USER 'ggs'@'%' IDENTIFIED BY "oracle";
mysql> ALTER USER 'ggs'@'%' IDENTIFIED BY 'oracle' PASSWORD EXPIRE NEVER;     
mysql> ALTER USER 'ggs'@'%' IDENTIFIED WITH mysql_native_password BY 'oracle';
mysql> GRANT all ON mydb.* TO 'ggs';
mysql> flush privileges;

2.3.测试登陆

[mysql@cs-db ~] mysql  -uggs -p"oracle" -h 133.37.126.38 -P 3306
GGSCI (cs-db) 1> dblogin SOURCEDB mydb@133.37.126.38:3306, USERID ggs, PASSWORD "oracle"

3.源端ogg配置

3.1.mgr进程:
edit param mgr

PORT 7811
DYNAMICPORTLIST  7840-7908
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3,,RESETMINUTES 60
STARTUPVALIDATIONDELAY 5
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 15
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

3.2.抽取进程:

EXTRACT extmy
SETENV (NLS_LANG="AMERICAN_AMERICA.UTF8MB4")
sourcedb mydb@133.37.126.38:3306,userid ggs, password "oracle"
REPORTCOUNT EVERY 30 MINUTES, RATE
DISCARDFILE ./dirrpt/mydb.dsc, APPEND, MEGABYTES 1024
tranlogoptions altlogdest "/oracle/soft/my_data/binlog.index"
EXTTRAIL ./dirdat/my
table mydb.t1;
table mydb.t2;

添加抽取进程
ADD EXTRACT extmy, tranlog, begin now 
ADD EXTTRAIL ./dirdat/my, EXTRACT extmy, megabytes 100

3.3 投递进程
edit param dpmy

EXTRACT dpmy
RMTHOST 133.37.126.38, MGRPORT 7810,COMPRESS
RMTTRAIL /oracle/soft/ogg18/dirdat/fk
PASSTHRU 
NUMFILES 5000
TABLE mydb.*;

添加投递进程
ADD EXTRACT dpmy, EXTTRAILSOURCE ./dirdat/my
ADD RMTTRAIL /oracle/soft/ogg18/dirdat/fk, EXTRACT dpmy,  MEGABYTES 100

3.4 defgen   --其实不需要
defgen用于表结构不一致的同步,defgen文件记录了表的layouts,被collector和replicat进程使用。
不要更改defgen txt文件

edit param defgen

defsfile /oracle/soft/myogg/dirdef/defmydb.p
SOURCEDB mydb@133.37.126.38:3306, USERID ggs, PASSWORD "oracle"
TABLE mydb.*;

defgen是操作系统命令,注意目录或者文件名
defgen paramfile /oracle/soft/myogg/dirprm/defgen.prm
然后将defmydb.p拷贝到目标端,repinit    ,repmy进程都要使用
cp /oracle/soft/myogg/dirdef/defmydb.p /oracle/soft/ogg/dirdef/.
chown ora18:oinstall  /oracle/soft/ogg/dirdef/defmydb.p
chmod 755 /oracle/soft/ogg/dirdef/defmydb.p

4.数据初始化

4.1 目标端建表
show tables
desc tab
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
目标端建表
create table lzl.t1(id number(33),name varchar2(30));
create table lzl.t2(id number(33),name varchar2(30));
4.2.源端extinit
EXTRACT extinimy
SOURCEDB mydb@133.37.126.38:3306, USERID ggs, PASSWORD "oracle"
REPORTCOUNT EVERY 30 MINUTES, RATE
DISCARDFILE ./dirrpt/extinimy.dsc, APPEND, MEGABYTES 1024
tranlogoptions altlogdest "/oracle/soft/my_data/binlog.index"
RMTHOST 133.37.126.38,MGRPORT 7810, compress
RMTTASK replicat,GROUP repinimy
TABLE mydb.*;

添加extinit进程
ADD EXTRACT extinimy, SOURCEISTABLE

4.3.目标端repinit     
REPLICAT repinimy
setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SOURCEDEFS  /oracle/soft/ogg/dirdef/defmydb.p
USERID c##ggs@jam, password  "admin123##"
MAP mydb.*,target jam.lzl.*;

添加repinit进程
ADD REPLICAT repinimy, SPECIALRUN

5.目标端

5.1 checkpoint
dblogin userid c##ggs@jam,password admin123##
add checkpointtable c##ggs.checkpointtb1

5.1.replicat
REPLICAT repmy
setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
setenv (ORACLE_SID="orcl")
setenv (ORACLE_HOME="/oracle/soft/u01/app/oracle/product/18.0.0/dbhome_1")
USERID c##ggs@jam, password  admin123##
REPORTCOUNT EVERY 30 MINUTES, RATE
REPERROR DEFAULT, ABEND 
DISCARDFILE ./dirrpt/jmmy.dsc, append, megabytes 1024
ALLOWNOOPUPDATES
--ASSUMETARGETDEFS

--SOURCEDEFS  /oracle/soft/ogg/dirdef/defmydb.p
MAP mydb.t1,target jam.lzl.t1;
MAP mydb.t2,target jam.lzl.t2;

添加复制进程
add replicat repmy,exttrail /oracle/soft/ogg18/dirdat/fk, checkpointtable c##ggs.checkpointtb1

mysql常用命令

show databases;
use db;
show tables;
show variables like '%log_bin%';
show variables like '%character%';

问题

问题1:

GGSCI (cs-db) 1> dblogin SOURCEDB mydb@133.37.126.38:3306, USERID ggs, PASSWORD "oracle"

2019-03-05 15:49:50  WARNING OGG-00769  MySQL Login failed: . SQL error (2059). Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/local/mysql/lib/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory.
ERROR: Failed to connect to MySQL database engine for HOST 133.37.126.38, DATABASE mydb, USER ggs, PORT 3306.
mysql登陆成功,ogg登陆失败
#更新密码(mysql_native_password模式)    
ALTER USER 'ggs'@'%' IDENTIFIED WITH mysql_native_password BY 'oracle';

问题2:
GGSCI (cs-db DBLOGIN as ggs) 9> start mgr
Process creation error: Cannot find executable file './mgr'

没有进入ogg根目录 start mgr导致

问题3:mysql没有集成模式,oracle 12c pdb必须使用集成模式
GGSCI (cs-db) 7> ADD EXTRACT extmy,integrated tranlog, begin now 
ERROR: Invalid parameter specified for ADD EXTRACT.

问题4:extinit启动报错
WARNING OGG-01194  EXTRACT task repinimy abended : Source wildcard specification JAM.my.* includes a catalog name, but the source table name mydb.t1 does not include a catalog name.
不能写SOURCECATALOG JAM
正确写法如下:
MAP mydb.*,target jam.lzl.*;

问题5:
2019-03-06 16:15:17  WARNING OGG-02760  ASSUMETARGETDEFS is ignored because trail file  contains table definitions.
2019-03-06 15:53:40  WARNING OGG-02761  Source definitions file, /oracle/soft/ogg/dirdef/defmydb.p, is ignored because trail file  contains table definitions.
ogg18不支持mysql8.0

问题6:
如果map写错了,会有没有report报错,但是没有同步数据的情况(init进程也同样会这样)

问题7:

2019-03-25 10:55:12  WARNING OGG-02761  Source definitions file, /oracle/soft/ogg/dirdef/defmydb.p, is ignored because trail file /oracle/soft/ogg18/dirdat/fk000000001 contains table definitions.
2019-03-25 11:00:53  WARNING OGG-02760  ASSUMETARGETDEFS is ignored because trail file /oracle/soft/ogg18/dirdat/fk000000001 contains table definitions.
defgen文件和ASSUMETARGETDEFS参数在18 ogg中不可用

问题8:

GGSCI (cs-db) 9> stats extmy  --无信息(insert 后)
如果不是参数错误,delete进程,然后重启

日志

repinimy report:
GGSCI (cs-db) 10> !
view report extinimy

2019-03-25 10:43:39  INFO    OGG-01017  Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is used.

***********************************************************************
                  Oracle GoldenGate Capture for MySQL
      Version 18.1.0.0.0 OGGCORE_18.1.0.0.0_PLATFORMS_180928.0432
 Linux, x64, 64bit (optimized), MySQL Enterprise on Sep 28 2018 19:48:02
 
Copyright (C) 1995, 2018, Oracle and/or its affiliates. All rights reserved.

Starting at 2019-03-25 10:43:39
***********************************************************************

Operating System Version:
Linux
Version #1 SMP Wed Oct 19 11:24:13 EDT 2016, Release 3.10.0-514.el7.x86_64
Node: cs-db
Machine: x86_64
                         soft limit   hard limit
Address Space Size   :    unlimited    unlimited
Heap Size            :    unlimited    unlimited
File Size            :    unlimited    unlimited
CPU Time             :    unlimited    unlimited

Process id: 18109

Description:

***********************************************************************
**            Running with the following parameters                  **
***********************************************************************

2019-03-25 10:43:39  INFO    OGG-03059  Operating system character set identified as UTF-8.

2019-03-25 10:43:39  INFO    OGG-02695  ANSI SQL parameter syntax is used for parameter parsing.

2019-03-25 10:43:39  INFO    OGG-01360  EXTRACT is running in Initial Load mode.

2019-03-25 10:43:39  INFO    OGG-01889  Flush size (max message size) is set to 27,985.
EXTRACT extinimy
SOURCEDB mydb@133.37.126.38:3306, USERID ggs, PASSWORD ***
REPORTCOUNT EVERY 30 MINUTES, RATE
DISCARDFILE ./dirrpt/extinimy.dsc, APPEND, MEGABYTES 1024
tranlogoptions altlogdest "/oracle/soft/my_data/binlog.index"
RMTHOST 133.37.126.38,MGRPORT 7810, compress
RMTTASK replicat,GROUP repinimy
TABLE mydb.t1;
TABLE mydb.t2;

2019-03-25 10:43:39  INFO    OGG-01851  filecaching started: thread ID: 140647706429184.

2019-03-25 10:43:39  INFO    OGG-01815  Virtual Memory Facilities for: COM
    anon alloc: mmap(MAP_ANON)  anon free: munmap
    file alloc: mmap(MAP_SHARED)  file free: munmap
    target directories:
    /oracle/soft/myogg/dirtmp.

Database Version:
MySQL
Server Version: 8.0.13
Client Version: 5.6.14
Host Connection: 133.37.126.38 via TCP/IP
Protocol Version: 10

Database Language and Character Set:
CLIENT CHARACTER SET         = "utf8mb4" 
SERVER CHARACTER SET         = "utf8mb4" 
DATABASE CHARACTER SET       = "utf8mb4" 
LOCALE INFORMATION           = "en"                 
DATABASE COLLATION           = "casesensitive"

2019-03-25 10:43:40  INFO    OGG-06509  Using the following key columns for source table mydb.t1: ID, NAME.

2019-03-25 10:43:40  INFO    OGG-06509  Using the following key columns for source table mydb.t2: ID, NAME.

2019-03-25 10:43:45  INFO    OGG-01890  Compression level is set to 1.

2019-03-25 10:43:45  INFO    OGG-02911  Processing table mydb.t1.

2019-03-25 10:43:54  INFO    OGG-02911  Processing table mydb.t2.

***********************************************************************
*                   ** Run Time Statistics **                         *
***********************************************************************

Report at 2019-03-25 10:43:54 (activity since 2019-03-25 10:43:40)

Output to repinimy:

From Table mydb.t1:
       #                   inserts:         1
       #                   updates:         0
       #                   deletes:         0
       #                  discards:         0

异构同步——mysql-oracle ogg同步相关推荐

  1. 不同数据库同步方式|异地数据库同步|mysql数据库实时同步工具|数据库实时同步

    SyncNavigator v8.6.2 SyncNavigator是一款功能强大的数据库同步软件,适用于SQL SERVER, MySQL,具有自动/定时同步数据.无人值守.故障自动恢复.同构/异构 ...

  2. mysql不同版本会覆盖吗,[mysql不同版本数据库同步]mysql数据库主从同步,master和slave上的mysql必须版本一样吗,如果不一样会有什么结果?...

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 497950890 Slave_SQL_Running: No mysql同步故障解决 如果数据不同步可以尝试该资料 ...

  3. ORACLE OGG同步时更新分区字段值的问题

    UPDATE更新分区表的分区字段,使一条数据发生变化,按分区规划使此行数据需要放在其它分区时,需要打开row movement,才可以继续. 示例如下: 源端更新语句: SQL> update ...

  4. ogg配置 oracle,OGG同步配置ORACLE至ORACLE

    系统环境 系统版本:redhat 6.5 数据库版本:11.2.0.4 OGG软件链接: https://pan.baidu.com/s/1kWuhBsN 密码: h5q1 源库配置 创建OGG表空间 ...

  5. mq同步mysql数据 duplicate entry_MySQL数据同步之otter

    一.otter介绍 基于日志数据,用于MySQL或者ORACLE之间准实时同步数据. 用途: mysql/oracle互相同步 中间表/行记录同步 二.原理及架构图 otter整体模块 manager ...

  6. mysql 定时同步数据_MySQL数据同步之otter

    一.otter介绍 基于日志数据,用于MySQL或者ORACLE之间准实时同步数据. 用途: mysql/oracle互相同步 中间表/行记录同步 二.原理及架构图 otter整体模块 manager ...

  7. mysql otter 数据同步_MySQL数据同步之otter

    一.otter介绍 基于日志数据,用于MySQL或者ORACLE之间准实时同步数据. 用途: mysql/oracle互相同步 中间表/行记录同步 二.原理及架构图 otter整体模块 manager ...

  8. Otter 双向同步mysql

    一.Otter目前支持了什么 1. 单向同步, mysql/oracle互相同步 2. 双向同步,无冲突变更 3. 文件同步,本地/aranda文件 4. 双A同步,冲突检测&冲突补救 5. ...

  9. mysql主从同步默认延迟_减少mysql主从数据同步延迟问题的详解

    基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了.如果延迟比较大,就先确认以下几个因素: 1. 网络延迟 2. master负载 3. slave负载 一般的做法是 ...

  10. oracle 上搭建ogg文档,ogg搭建配置实现oracle数据同步到mysql)

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 参考博客文章:https://www.jianshu.com/p/53882229b70e ? 1)根据不同的数据库 ...

最新文章

  1. 基于模糊聚类的色彩迁移算法
  2. PostgreSQL将表导出为CSV(服务器端、客户机端)完整版
  3. webpack基础使用Loader(三)
  4. java调用方法出现i 2a_性能-Java方法调用与使用变量
  5. Python SimpleHTTPServer – Python HTTP服务器
  6. Linux安装nextcloud教程,WSL下安装nextcloud
  7. VB.net数据库编程pdf
  8. Eclipse创建并运行Java程序输出Hello World
  9. stm32零基础应该怎么入门?
  10. 石油大学计算机课程,2018年石油高校计算机类课程MOOC共建研讨会在我校召开
  11. 信息的定义与特征,构成世界的三大要素:物质、能量、信息
  12. js打开新窗口并且不被拦截
  13. 人脸活体检测:活体检测数据集
  14. contactform7 ajax,Wordpress contact_form_7_v5.0.3 插件 权限提升、任意文件读取漏洞分析...
  15. 【GAMES-202实时渲染】1、软阴影01(Shadow Mapping、Peter Panning、PCSS原理超详细)
  16. 2021年最好的Laravel教程
  17. python中math函数_python中math模块函数
  18. 探索四自由的机械臂动力学
  19. emWin 2天速成实例教程012_基于STM32单片机的全键盘中文汉字拼音输入法
  20. 去哪儿网2015春季校招笔试--回忆版

热门文章

  1. BeesCMS系统漏洞分析
  2. 触动精灵 python,[触动精灵]零基础小白学触动5-8
  3. android avd 使用方法,触动精灵 Android 模拟器使用手册
  4. SoC-按键控制led
  5. 独立研发股票分析系统
  6. 我想用python写一个股票交易策略回测软件,请给出框架及步骤等建议
  7. BugReport 分析利器 ChkBugReport
  8. 如何不通过iTunes将Mac上的音乐同步到iPad
  9. jQuery的 $.ajax防止重复提交的两种方法(推荐)
  10. 太完整了!这是我见过最详细的线程池讲解了