【ORACLE】OGG-微服务架构初探2(MA配置)

前情回顾

上一节中我们已经完成了OGG软件的安装,管理服务的创建,MAWeb管理界面也正常,接下来就开始正式进入数据同步的配置流程。

要了解上节内容:【ORACLE】OGG-微服务架构初探1(环境安装)_慢工也能出细活的博客-CSDN博客

MA管理配置同步服务大纲

  1. 在源库和目标库上各自创建OGG专用用户和对象(可选);
  2. 创建提取(extract)进程
  3. 创建复制(replicate)进程

操作步骤

1. 创建数据库OGG对象

 这步是可选的,也可以直接使用数据库已有的管理员账号,作为最佳实践,推荐在所有数据库上创建统一的OGG对象。

这些操作包括以下内容:

  1. 开启数据库归档模式;
  2. 开启数据库补充日志,设置streams_pool_size参数
  3. 创建OGG专用表空间
  4. 创建OGG专用账户,默认表空间为OGG专用表空间;
  5. 给OGG账户授权

第一步        OGG增量同步需要Oracle端开启归档日志和补充日志:

su - oracle
# 创建归档目录(可选)
# mkdir /home/oracle/ora_PROD_archive 
sqlplus / as sysdba
# 查看归档是否开启
archieve log list
# Automatic archival           Enabled  是为开启,否则执行下面的开启归档脚本
-- 开启补充日志
SHUTDOWN IMMEDIATE
STARTUP MOUNT
-- 开启归档(可选)
-- ALTER SYSTEM SET log_archive_dest='/home/oracle/ora_PROD_archive';
-- ALTER DATABASE ARCHIVELOG;
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE;
ALTER DATABASE FORCE LOGGING;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE OPEN;

第二步        创建OGG专用账户和表空间,并授权

--获取数据文件目录(可选)
--select name from v$datafile;
 
--1. 创建ogg用户专用表空间(ggts),主要要打开闪回功能
CREATE TABLESPACE ggts DATAFILE '/u01/app/oracle/oradata/PROD/ggts01.dbf' SIZE 10M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
--2. 创建ogg用户(gguser)
CREATE USER gguser IDENTIFIED BY Cloud_4u DEFAULT TABLESPACE ggts
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
--3. 给gguser授权 
GRANT RESOURCE,CONNECT ,SELECT_CATALOG_ROLE ,dba TO gguser;
ALTER USER gguser DEFAULT ROLE ALL;
GRANT CREATE SESSION TO gguser;
GRANT ALTER SESSION TO gguser;
GRANT SELECT ANY TRANSACTION TO gguser;
GRANT SELECT ANY DICTIONARY TO gguser;
GRANT FLASHBACK ANY TABLE TO gguser;
GRANT SELECT ANY TABLE TO gguser;
GRANT UNLIMITED TABLESPACE TO gguser;
-- ggts表空间配额不限制
ALTER USER gguser QUOTA UNLIMITED ON ggts;
-- 闪回对象操作权限 
GRANT EXECUTE ON SYS.DBMS_FLASHBACK TO gguser;
GRANT FLASHBACK ON SYS.USER_SOURCE TO gguser;
--4. ogg管理员权限
exec dbms_goldengate_auth.grant_admin_privilege('gguser');
alter system set streams_pool_size='100M' scope=both;

 在所有节点上完成上述脚本操作后,ogg所需的基础环境就准备好了。接下来可以开始分别在源库和目标库上配置OGG的各种服务。 

2. 创建提取进程

 用浏览器打开http://host201:7859,ggadmin/Cloud_4u

 在下图中选择管理服务

主页面上可以查看微服务的各种状态及其详细信息,也可以操作微服务的状态变更 ,其中以下4个是OGG微服务架构的核心服务

  • 管理服务(Admin server): 用于创建用户、添加附加日志、创建抽取和投递进程,类似在ggsci命令下添加附加日志、extract、replicat进程

  • 分发服务(Distribution server):用于创建传输进程,类似于以前的pump进程

  • 接收方服务(Receiver server):用于监控接收进程,类似于以前的server collector进程

  • 性能度量服务(Performance metrics server):性能监控,这个里面信息非常多,例如ADMINSRVR包括进程性能,线程性能以及进程状态与配置,非常详细与直观。

 点击【管理服务】的端口号,进入当前部署的管理页面

 点击左侧【提取】旁边的“+”按钮,开始配置数据来源数据库的信息

关于参数的具体用法说明阅读参考文献,这里只列出几个必要的参数

进程名称:exprod

提示:自定义不超过8位字符

开始时间:现在

线索名称:ex

提示:自定义非字母开头的2个字符,本次演示用ex作为Trail文件的开头。

身份证明:域 oraclerds 别名 prod201

提示:可以在这里创建一个新的证明,其中用户ID必须写成xx@ip:1521/服务名的形式。身份证明域可以自定义,别名也可以自定义,填写完成后提交,下面两个下拉框就能看到这个身份证明。

参数文件配置

把下列信息添加到参数文件中

 -- Extract组名
EXTRACT exprod

useridalias prod201 domain demo
DDL INCLUDE MAPPED
EXTTRAIL ex
CACHEMGR CACHESIZE 128M
TRANLOGOPTIONS INTEGRATEDPARAMS(max_sga_size 500,parallelism 1)
TRANLOGOPTIONS ENABLE_AUTO_CAPTURE 

-- 需要捕获的表,每个表一行,全部列出,包含schema名
TABLE HR.*;

或经典版的配置 

 -- Extract组名
EXTRACT exprod
 
-- 客户端的编码,如果oracle字符串编码不是UTF8会转为UTF8
SETENV (NLS_LANG="AMERICAN_AMERICA.UTF8")  
 
-- 连接Oracle服务器的信息,最好OGG与Oracle安装在同一台机器上
USERID gguser@host201:1521/prod, PASSWORD Cloud_4u
 
-- discard文件,出错时可查看详细信息
DISCARDFILE /u02/oggdata/smprod/dirrpt/exprod.dsc, APPEND, MEGABYTES 100
-- Trail文件路径,会生成多个Trail文件,文件名为前缀ex+文件编号
EXTTRAIL /u02/oggdata/smprod/dirdat/ex
 
--支持truncate
GETTRUNCATES
GETUPDATEBEFORES
-- 捕获delete、update不使用压缩方式
NOCOMPRESSDELETES FETCHMISSINGCOLUMNS
NOCOMPRESSDELETES
NOCOMPRESSUPDATES
WARNLONGTRANS 1H, CHECKINTERVAL 10M
 
-- 需要捕获的表,每个表一行,全部列出,包含schema名
TABLE HR.*;

有关提取参数文件中的参数知识库:Summary of Oracle GoldenGate Parameters 

su - oracle
$OGG_HOME/bin/adminclient
# 连接到web管理中的manager服务,服务名就是前面配的msprod,用户米ggadmin/Cloud_4u
CONNECT http://host201:7859 deployment msprod as ggadmin password Cloud_4u
DBLOGIN USERIDALIAS prod201 DOMAIN demo

附命令行语句

# 可选,关闭manager
# GGSCI > stop manager
# 查看服务配置
# view params mgr
# 查看服务运行日志
# view report mgr

# 可选:删除Extract组:
# GGSCI >DELETE EXTRACT exprod

# 可选:取消注册Extract组:
# GGSCI >unregister extract exprod database

# 可选,删除Trail文件:
# GGSCI >DELETE EXTTRAIL /u01/app/ogg21/dirdat/ex
# rm /u01/app/ogg21/dirdat/ex*

# 停止服务
# GGSCI >stop extract exprod

#查看状态:
# GGSCI >info exprod
# GGSCI >stats exprod
# GGSCI >status exprod

3. 创建复制(replicate)进程

3.1 创建复制进程 

点击右边的复制+

 选择【集成的复制】

 进程名称:reprod2

身份证明域/别名:prod2ora/prod2201

检查点表:gguser.chkp1

更多参数可以阅读联机文档。

 可以创建身份证明

 表单主要输入:

进程名称:reprod2

身份证明域:prod2ora

身份证明别名:prod2201

用户ID:(目标库的连接字符串) gguser@host201:1522/prod2

密码:gguser的口令 Cloud_4u

线索名称:ex

检查点表:gguser.CHKP1

提示:检查点表需要在配置页面增加参考步骤如下:

 点击左上角“三”,在出现在左侧的功能栏选择【配置】后进入本页面。

找到刚才配置的复制用的身份证明prod2ora,点击图中标记2的位置连接到目标库,如果能连接则会出现下面的配置页面

 输入检查点表名称,注意要带模式名,提交。这个表会在复制服务启动后自动创建。

还可以在这里添加TRANDATA信息和脉动信息,如图所示

 参数文件,输入以下内容

replicat reprod2
--SETENV (ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1)
--SETENV (ORACLE_SID=PROD2)

USERID gguser@host201:1522/prod2, PASSWORD Cloud_4u

STATOPTIONS, RESETREPORTSTATS
REPORTCOUNT EVERY 1 MINUTES, RATE
REPORT AT 00:00
REPORTROLLOVER ON SUNDAY

DISCARDFILE /u02/oggdata/smprod/dirrpt/reprod2.dsc,APPEND,MEGABYTES 100

ASSUMETARGETDEFS

DBOPTIONS NOSUPPRESSTRIGGERS

-- dynamicresolution
MAP hr.*, target hr.*,colmap(usedefaults);

或者(为证实可用)

REPLICAT reprod2
USERIDALIAS  prod2201, DOMAIN prod2ora

STATOPTIONS, RESETREPORTSTATS
REPORTCOUNT EVERY 1 MINUTES, RATE
REPORT AT 00:00
REPORTROLLOVER ON SUNDAY

DISCARDFILE /u02/oggdata/smprod/dirrpt/reprod2.dsc,APPEND,MEGABYTES 100

ASSUMETARGETDEFS

DBOPTIONS NOSUPPRESSTRIGGERS
MAP hr.*, TARGET hr.*;

点击创建,先不运行。

 3.2 创建检查点表(经典)

在目标库上执行(微服务目前试下来不需要手工创建)

su - oracle
$OGG_HOME/bin/adminclient
# 连接到web管理中的manager服务,服务名就是前面配的msprod,用户米ggadmin/Cloud_4u
CONNECT http://host201:7859 deployment msprod as ggadmin password Cloud_4u
DBLOGIN USERIDALIAS prod2201 DOMAIN prod2ora
# 可选,如果前面在身份配置的页面已经配过了,这里就不用执行了
#add checkpointtable GGUSER.CHKP1

4 验证

在源库上执行数据库修改,再检查一下目标库,如果结果成功同步,则说明搭建成功。

5 总结

OGG微服务ORALCE单向同步的架构搭建步骤比较简单,通过4步就可以搭建起来

  1. 安装oracle微服务版OGG,服务和数据库可以放在同一台服务器上,也可以独立部署服务,目标库上无需单独部署OGG管理服务;
  2. 在源库和目标库上分别创建OGG专用对象,包括表空间,schema,授权等;
  3. 在管理服务中创建连接源库上的EXTRACT进程服务;
  4. 在管理服务中创建连接目标库上的REPLICAT进程服务;

双向同步怎么配置呢?一个简单的办法就是把上面的配置过程,源库和目标库反过来配置一遍即可。大家可以自己尝试一下。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值