当前位置:   article > 正文

【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上)

【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上)

系列文章目录

【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上)
【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(中)
【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(下)



前言

博主所在单位目前使用Oracle GoldenGate将各个业务生产库汇聚到一起做数仓实时ODS平台,源端库可能涉及Oracle、Mysql、达梦、Guassdb库。
之前写过一系列关于GoldenGate异构同步Mysql、Kafka、Kylin、Flink做实时计算的场景文章。但是突然发现,卧槽最最最应该第一个做的Oracle->Oracle的实时异构同步文档竟然没写!
来弥补一下这个空白!!!
好了,扯远了,回归技术!
下面是我给大家的生产环境下,如何部署GoldenGate12C及异构实时同步数据的解决方案。本文主要介绍如何实现实时异构的进行Oracle->Oracle的数据同步,这种数据同步适用于灾备、升级、实时ODS等场景使用。我这里给大家了三个GoldenGate部署方式,看大家喜欢用哪种吧!!
注意:本部署方案分为三章节,三章节的重点分别是:

  • GoldenGate12C安装前,数据库层面的准备工作!!!
  • 给你GoldenGate12C的三种部署方式,看你喜欢哪种部署方式!!!
  • 配置支持DDL操作的实时数据同步!!!

一、数据库配置信息

此架构为ALO模式的数据同步,系统均为:OracleLinux6.8,数据库安装可以参考另一篇数据库安装文档:
【大数据开发运维解决方案】linux5 安装 oracle 11g(11.2.0.4)实验
源端数据库配置信息:
主机名:source
IP:192.168.1.6
归档位置:/u01/arch
字符集:AMERICAN_AMERICA.AL32UTF8
目的端数据库配置信息:
主机名:ogg
IP:192.168.1.10
归档位置:/u01/arch
字符集:AMERICAN_AMERICA.ZHS16GBK
UTF8是GBK的超集,有可能有些utf8中有但是gbk没有的字符,就会报错,比如之前生产遇到的不间断空格(c2a0),文章连接:
【大数据实时数据同步】GoldenGate实时同步异常:OGG-03533:character ‘c2 a0‘ at offset 0 that is not available报错解决

二、下载OGG12C

GoldenGate公司成立于1995年的美国加州旧金山, 它的名称源自旧金山闻名于世的金门大桥。
该公司于2009年9月被Oracle公司收购,在此之前Oracle和GoldGate公司就有了长达超过10年的合作关系。
GoldenGate几乎支持市面上流行的所有主流的操作系统平台和数据库。
点击此处跳转Oracle官网下载

三、上传安装包到主备库并解压

我是通过xmanager的ftp上传的,解压命令

[oracle@source u01]$ unzip V861007-01.zip
  • 1

在这里插入图片描述

四、配置环境变量

源端环境变量设置如下:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export GGHOME=$ORACLE_BASE/ogg12
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_BASE/ogg12:$ORACLE_HOME/OPatch
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib--如果不配置这个,会爆缺少libnnz11.so等库文件的错。所以这里制定这些库文件,可以和后面安装过程用ldd命令验证的步骤搭配看
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias ss='sqlplus / as sysdba'
alias sc='sqlplus scott/tiger'
alias c='cd $GGHOME'
alias g='rlwrap ./ggsci'

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

目的端环境变量配置:

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export GGHOME=$ORACLE_BASE/ogg12
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ogg
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_BASE/ogg12:$ORACLE_HOME/OPatch
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias ss='sqlplus / as sysdba'
alias sc='sqlplus scott/tiger'
alias c='cd $GGHOME'
alias g='rlwrap ./ggsci'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

环境变量配置完要source .bash_profile一下生效

五、创建安装目录

因为两端都指定ogg安装目录为/u01/app/oracle/ogg12,所以两边都做下面操作:

mkdir /u01/app/oracle/ogg12
  • 1

六、数据库配置

源端库配置

1、开启数据库归档

验证是否开启

SQL> archive log list
  • 1

2、开启强制使用日志模式

alter database force logging;
  • 1

验证是否开启

select force_logging from v$database;
  • 1

3、开启日志追加

alter database add supplemental log data;
  • 1

验证是否开启

select supplemental_log_data_min,
supplemental_log_data_pk,
supplemental_log_data_ui,
supplemental_log_data_fk
from v$database;
  • 1
  • 2
  • 3
  • 4
  • 5

4、创建ogg管理用户

创建表空间oggdata,用来存放ogg账户的相关数据

CREATE TABLESPACE OGGDATA DATAFILE '/u01/app/oracle/oradata/orcl/ogg.dbf' SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE 1024M;
create user ogg identified by ogg default tablespace oggdata;
  • 1
  • 2

5、授予ogg账户权限

GRANT CREATE TABLE,CREATE SEQUENCE TO OGG;
grant connect, resource, dba to ogg;
  • 1
  • 2

6、修改数据库参数

查看数据库版本:

select*from v$version;
  • 1

Oracle 11.2.0.4需要配置参数,之前的版本不需要配置
修改参数:

alter system set enable_goldengate_replication=true scope=both; 
  • 1

目标端库配置

1、创建ogg管理用户

创建表空间oggdata,用来存放ogg账户的相关数据

CREATE TABLESPACE OGGDATA DATAFILE '/u01/app/oracle/oradata/orcl/ogg.dbf' SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE 1024M;
create user ogg identified by ogg default tablespace oggdata;
  • 1
  • 2

2、授予ogg账户权限

GRANT CREATE TABLE,CREATE SEQUENCE TO OGG;
grant connect, resource, dba to ogg;
  • 1
  • 2

3、修改数据库参数

查看数据库版本:

select*from v$version;
  • 1

Oracle 11.2.0.4需要配置参数,之前的版本不需要配置
修改参数:

alter system set enable_goldengate_replication=true scope=both; 
  • 1

总结

本篇博客主要介绍了在安装OGG12C之前,数据库层面应该做哪些变化!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/616651
推荐阅读
相关标签
  

闽ICP备14008679号