前言
Oracle同步到MySQL,源端Oracle配置基本没什么变化,只是目标端OGG配置不同;
可以理解ogg源端抽取和目标端入库是独立的,在异构直接可以互相拼接同步,非常灵活。
异构之间同步不支持DDL。
Mysql作为目标端,配置比较简单;当然ogg也支持MySQL作为抽取端,
MySQL作为抽取端5.7.10以上版本支持DDL,仅是本地捕获,
数据初始化可以使用进程初始化的方式。
基于MySQL体系的国产数据库可以尝试同步,若驱动器变化不大。
一、源端数据库配置(Oracle)
1.1 开启归档
startup mount
alter database archivelog;
note:作为目标端,不capture数据不需要配置
1.2 开启强制日志
alter database force logging;
note:作为目标端,不capture数据不需要配置
1.3 开启数据库最小附加日志
alter database add supplemental log data;
note:作为目标端,不capture数据不需要配置
1.4 配置参数
alter system set enable_goldengate_replication=true;
note:11.2.0.4以上需要配置
1.5 创建OGG用户和表空间
表空间
create tablespace ggtbs datafile '+DATA' size 1g autoextend on;
用户
create user ggadmin identified by ggadmin default tablespace ggtbs quota unlimited on ggtbs;
授权
grant connect,resource to ggadmin;
grant alter session to ggadmin;
grant select any dictionary to ggadmin;
grant select any transaction to ggadmin;
grant select any table to ggadmin;
grant flashback any table to ggadmin;
grant alter any table to ggadmin;
exec dbms_goldengate_auth.grant_admin_privilege('GGADMIN','*',TRUE)
note:除了必要权限,其他权限可以根据实际情况而定。
二、源端OGG配置(Oracle)
2.1 创建用户和目录
组
groupadd oinstall
用户
useradd -g oinstall oracle
passwd oracle
目录
mkdir /ogg/oraclient -p
mkdir /ogg/ogg191
mkdir /ogg/oraInventory
chown oracle:oinstall -R /ogg
chmod 775 -R /ogg
2.2 配置环境变量
export ORACLE_HOME=/ogg/oraclient/instantclient_11_2
export GG_HOME=/ogg/ogg191
export LD_LIBRARY_PATH=$ORACLE_HOME:$GG_HOME
export PATH=$ORACLE_HOME:$GG_HOME:$PATH
alias ggsci='cd GG_HOME; ggsci'
2.3 Oracle客户端静默安装
note:最基础客户端包即可
unzip -d /ogg/oraclient instantclient-basic-linux.x64-11.2.0.4.0
2.4 OGG静默安装
解压
unzip 19.1.0.0.4-for-Oracle-on-Linux x86-64
编辑响应文件
vi /home/oracle/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
INSTALL_OPTION=ORA11g
SOFTWARE_LOCATION=/ogg/ogg191
START_MANAGER=
MANAGER_PORT=
DATABASE_LOCATION=
INVENTORY_LOCATION=/ogg/oraInventory
UNIX_GROUP_NAME=oinstall
静默安装
./runInstaller -silent -showProgress -responseFile /home/oracle/fbo_ggs_Linux_x64_shiphom
2.5 配置TNS
创建目录
mkdir -p /ogg/oraclient/instantclient_11_2/network/admin
配置tnsnames.ora
vi tnsnames.ora
WLDB=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XXXXXX)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WLDB)
)
)
2.6 创建ogg目录
登录ogg交互工具
ggsci
创建目录
create subdirs
2.7 配置MGR进程
编辑参数
edit param mgr
PORT 7809
DYNAMICPORTLIST 7810-7899
AUTORESTART ER *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
启动
start mgr
查看
info all
2.8 配置用户凭证
配置
add credentialstore
alter credentialstore add user ggadmin@wldb, password Oggadmin_#123 alias wldb
alter credentialstore add user ggadmin@target, password Oggadmin_#123 alias target
验证
dblogin useridalias wldb
2.9 配置extract进程
添加附加日志
dblogin useridalias wldb
add trandata test.*
添加进程
add extract wl_e, tranlog, begin now,threads 2 --节点数
add exttrail ./dirdat/wl, extract wl_e, MEGABYTES 1024
配置参数
edit param wl_e
EXTRACT wl_e
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERIDALIAS wldb
TRANLOGOPTIONS dblogreader
LOGALLSUPCOLS
GETTRUNCATES
EXTTRAIL ./dirdat/wl
DISCARDFILE ./dirrpt/wl_e.dsc, APPEND, MEGABYTES 1024
WARNLONGTRANS 1H, CHECKINTERVAL 5M
CACHEMGR CACHESIZE 1024MB, CACHEDIRECTORY ./dirtmp
REPORTCOUNT EVERY 60 SECONDS, RATE
TABLE test.*;
Note:dblogreader最低支持版本为11.2.0.4,通过数据字典的方式获取日志信息,需要select any transaction权限
启动
start wl_e
查看
info all
2.10 配置pump进程
添加进程
add extract wl_p EXTTRAILSOURCE ./dirdat/wl
add rmttrail /ogg/ogg191/dirdat/wl extract wl_p MEGABYTES 1024
编辑参数
edit param wl_p
EXTRACT wl_p
DISCARDFILE ./dirrpt/wl_p.dsc, APPEND, MEGABYTES 1024
RMTHOST 192.168.3.132, MGRPORT 7809
RMTTRAIL /ogg/ogg191/dirdat/wl
PASSTHRU
TABLE test.*;
启动进程
start wl_p
查看
info all
三、目标端OGG配置(MySQL)
事先创建好需要同步的数据库,本次案例数据库为testdb,
可以为远程入库方式
3.1 创建ogg用户
CREATE USER 'ogg'@'192.168.1.14' IDENTIFIED BY 'oracle';
GRANT ALL PRIVILEGES ON *.* TO 'ogg'@'192.168.1.14' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.2 OGG安装
tar -xvf ggs_Linux_x64_MySQL_64bit.tar
Note:安装很简单,在MySQL用户下解压即用;注意选好HOME目录
3.3 创建ogg目录
登录ogg交互工具
ggsci
创建目录
create subdirs
3.4 配置MGR进程
编辑参数
edit param mgr
PORT 7809
DYNAMICPORTLIST 7810-7899
AUTORESTART ER *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
启动
start mgr
查看
info all
3.5 配置replicat进程
添加进程
ADD REPLICAT wl_r EXTTRAIL /ogg_mysql/dirdat/wl
编辑参数
edit param wl_r
REPLICAT wl_r
DBOPTIONS HOST 192.168.1.14, CONNECTIONPORT 3306
SOURCEDB testdb@192.168.1.14, USERID ogg, PASSWORD oracle
REPERROR (DEFAULT, ABEND)
DISCARDFILE ./dirrpt/wl_r.dsc, PURGE, MEGABYTES 1024
GETTRUNCATES
ALLOWNOOPUPDATES
REPORTCOUNT EVERY 60 SECONDS, RATE
MAP test.*, TARGET test.*;
启动
start wl_r
查看
info all
最后修改时间:2024-06-04 09:57:05
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




