Oracle GoldenGate 学习教程二、配置和使用(3)

启动原理:通过读取GoldenGate_home/dirprm/mgr.prm文件,然后根据该文件的配置信息启动进程分配端口号,如果该进程启动失败,首先请检查预使用的端口是否被占用:

netstat -lntup|grep 7809 tcp 0 0 :::7809 :::* LISTEN 32426/./mgr

然后检查相关的配置文件或重新配置MGR。

2.2 在源端创建和配置Extract进程

创建和配置Extract进程的工作有:

创建和配置主抽取进程(Primary Extract)

创建和配置Data Pump进程(Secondly Extract)

2.2.1 创建主抽取进程(Primary Extract)

进入GGSCI命令行使用add extract 命令创建主抽取进程

[oracle@sywu ~]$ sggsci Oracle GoldenGate Command Interpreter for Oracle Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO Linux, x64, 64bit (optimized), Oracle 11g on Aug 7 2014 09:14:25 Operating system character set identified as UTF-8. Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved. GGSCI (sywu as ogg_owner@sydb) 13> add extract esydb001,tranlog,begin now EXTRACT added.

因为主进程的作用是抽取捕获系统变更数据并将这些数据保存到trail文件里,所以必须为其配置trail文件目录和trail文件名的两个字符名,trail文件名共8个字符,其余6个字符由GoldenGate系列填充;

GGSCI (sywu as ogg_owner@sydb) 14> ADD EXTTRAIL /u01/app/product/ogg_src/dirdat/es, EXTRACT esydb001 EXTTRAIL added. 2.2.1.1 配置主抽取进程(Primary Extract)参数 GGSCI (sywu as ogg_owner@sydb) 15> edit param esydb001 extract esydb001 SETENV(ORACLE_SID="sydb") SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8) userid ogg_owner, password ogg_owner EXTTRAIL /u01/app/product/ogg_src/dirdat/es table ogg_owner.togg;

userid指定GoldenGate 抽取用户的用户名和密码;
SETENV 设置环境变量,如实例名、数据库字符集;
table 指定抽取的用户和表名,如果指定多个以相同字符开头或结尾的表名,可以使用“前缀* ”的方式代替,这里仅以ogg_owner.togg表为测试案例;

2.2.2 创建和配置Data Pump进程(Secondly Extract)

添加Data Pump Extract进程时要注意,如果源端和目标端OGG物理路径都相同,可以按照常规方式处理,但是如果不相同,就像我本例的一样源端和目标端都在同一台机器上,但GoldenGate物理路径不相同,请按如下方式处理

2.2.2.1 创建Data Pump Extract进程 GGSCI (sywu) 26> ADD EXTRACT PSYDB001, EXTTRAILSOURCE /u01/app/product/ogg_src/dirdat/es EXTRACT added.

EXTTRAILSOUCE 指定源端的trail路径,必须包含两个字符,这个路径和主抽取进程(Primary Extract)中指定的trail目录和trail文件命名必须相同,因为Data Pump进程要读取主抽取进程生成的trail文件;

2.2.2.2 配置Data Pump Extract进程 edit param psydb001 extract psydb001 SETENV(ORACLE_SID="sydb") SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) userid ogg_owner,password ogg_owner RMTHOST sywu,mgrport 7909 RMTTRAIL /u01/app/product/ogg_trg/dirdat/ps --这里指定目标端trail文件位置,同样包含两个字符 table ogg_owner.togg;

RMTHOST 指定目标端地址和端口等信息;
RMTTRAIL 指定目标端保存trail文件的目录和两个字符文件名;
TABLE 指定同步的表,配置的方式同在主抽取进程(Primary Extract)的配置一样,但这里多了许多额外的功能,比如实现数据过滤和其它复杂操作;

2.2.2.3 将目标端trail文件添加到队列中

  源端可以配置多个主抽取进程,也可以配置多个Data Pump进程,但必须为每个要同步的目标端配置一个Data Pump进程;

GGSCI (sywu) 10> ADD RMTTRAIL /u01/app/product/ogg_trg/dirdat/ps, EXTRACT PSYDB001 RMTTRAIL added. 2.3 在目标端配置Replicat

目标端需要做的工作:

创建和配置Checkpoint Table

创建和配置Replicat进程

2.3.1 创建和配置Checkpoint Table

  目标端Replicat进程监控Checkpoint Table,每一条接收到的checkpoint数据由Collector后台进程写入到Checkpoint Table,因为对于事务来说每一条checkpoint数据要么执行成功要么执行失败,所以Replicat进程确保每一条checkpoint事务数据只应用一次,即使其它进程错误或者数据库错误。
在目标端GSSCI命令行下使用dblogin登录到目标端OGG管理用户

[oracle@sywu ogg_src]$ tggsci Oracle GoldenGate Command Interpreter for Oracle Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO Linux, x64, 64bit (optimized), Oracle 11g on Aug 7 2014 09:14:25 Operating system character set identified as UTF-8. Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved. GGSCI (sywu) 1> dblogin userid ogg_trg,password ogg_trg Successfully logged into database.

创建checkpoint table

GGSCI (sywu as ogg_trg@sydb) 2> add checkpointtable ogg_trg.ogg_chk Successfully created checkpoint table ogg_trg.ogg_chk.

将checkpoint table 定义在GoldenGate配置文件里

GGSCI (sywu) 1> edit param ./GLOBALS GGSCHEMA OGG_TRG CHECKPOINTTABLE OGG_TRG.OGG_CHK

首次编辑GoldenGate配置文件时,GLOBALS文件以大写命名并且没有扩展名创建在GoldenGate_home根目录。

2.3.2 创建和配置Replicat进程

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/34cc0a588956ba1ccf7320b8e7f0a08e.html