这篇文档循序渐进的讲述了OGG在适时复制的几种配置方案。从最基本的配置开始讲起,逐渐加入新的进程,加入新的策略,配置也随之改变。下面从最基础的配置说起。
报表配置
一对一复制是OGG最基本的配置方案:从源端
数据库到目标
数据库复制数据。在目标端从事报表和分析工作,实现OLTP和OLAP分离。
创建一个标准的报表配置
标准的OGG配置是一个提取组(Extract group)将捕获的数据通过
tcp/IP发送给目标系统的tr
ail文件中,复制组(Relicat group)从trail中读取数据,执行
sql语句重演DML和DDL语句,实现数据的同步复制。
SOURCEdb ---> EXTRACT ---> TCP/IP ---> RMTTRAIL ---> REPLICAT ---> TARGETdb
源端系统
配置管理进程(Manager process)
1,在源端配置管理进程,参见笔 【
Goldengate】官方文档
笔记一
Http://blog.itpub
.net/29047826/viewspace-1249506/
配置提取进程组(Extract group)
2,在源端,使用ADD EXTRACT 命令来创建一个提取组(Extract group),取名为ext
ADD EXTRACT <ext>, {TRANLOG | INTEGRATED TRANLOG}, BEGIN <time> [, THREADS <n>]
3,在源端,使用ADD RMTTRAIL命令来在目标系统上指定目标主机的trail文件(remote trail)。参数EXTRACT将trail文件和提取组向关联。
ADD RMTTRAIL <remote_trail>, EXTRACT <ext>
4,在源端,使用EDIT PARAMS命令为提取组(Extract group)创建参数文件。
-- 为提取组指定名称 EXTRACT <ext>
-- OGG管理用户登录数据的用户名和密码
[SOURCEDB <dsn_1>][, USERID <user>[, PASS
Word <pw> [<encrypt
ion options>]]
-- 指定目标系统的IP地址,端口号和加密方式
RMTHOST <target>, MGRPORT <portnumber>, ENCRYPT <encryption options>
-- 指定远程trail和加密方式
ENCRYPTTRAIL [<encryption options>] RMTTRAIL <remote_trail>
-- 指定要捕获的表 TABLE <owner>.<table>;
目标端系统
创建管理进程
5,在源端配置管理进程,参见笔 【goldengate】官方文档笔记一
http://blog.itpub.net/29047826/viewspace-1249506/
6,在管理进程(Manager process)参数文件,使用PURGEOLDEXTRACTS参数控制来自源端trail的删除工作。
配置复制组(Replicat group)
7,在目标端,创建复制检查点表(Replicat checkpoint table)。
8,在目标端,使用ADD REPLICAT命令来创建复制组(Relicate group)。使用EXTTRAIL参数将复制组(Replicate group)和remote trail文件相关联。告诉复制进程从哪里获取文件。
ADD REPLICAT <rep>, EXTTRAIL <remote_trail>, BEGIN <time>
9,在目标端,使用EDIT PARAMS命令来创建复制组(Replicat group)参数文件。
-- 为Replicat group指定名称 REPLICAT <rep> -- State whether or not source and target definitions are identical: SOURCEDEFS <full_pathname> | ASSUMETARGETDEFS -- OGG管理用户登录数据库的用户名和密码 [TARGETDB <dsn_2>][, USERID <user>][, PASSWORD <pw> [<encryption options>]] -- Specify error handling rules: -- Specify decryption if trail is encrypted: DECRYPTTRAIL <encryption options> REPERROR (<error>, <response>) -- 关联源库和目标库的表名称 MAP <owner>.<table>, TARGET <owner>.<table>[, DEF <template name>]
添加投递进程data pump
在刚才最基础配置完成后,我们可以再完善一下
网络传输上的可靠性。在提取进程(Extract)和TCP/IP网络连接之间加入一个进程,datapump。给它起一个贴切的中文名“投递进程”。投递进程也是提取进程中的一种,可以称为二次提取进程。它在源端的trail中读取信息,通过TCP/IP投递(发送)到目标端的trail文件中。投递进程虽然不是必须配置的,但是为了系统的性能和可靠性建议配置。通过下面的简图,可以看下投递进程datapump所处的位置。
SOURCEdb ---> EXTRACT --->
DataPump ---> TCP/IP ---> RMTTRAIL ---> REPLICAT ---> TARGETdb
配置投递进程组(data pump Extract group)
在源端,使用ADD EXTRACT命令来创建一个投递进程组,指令如下:
ADD EXTRAIL <pump>, EXTTRAILSOURCE <local_trail>, BEGIN <time>
EXTTRAILSOURCE:该参数指的是源端trail文件路径,投递进程从该路径读取trail后发送给目标端
在源端,使用ADD RMTTRAIL命令来指定在目标端将要创建的remote trail。
ADD RMTTRAIL <remote_trail>, EXTRACT <pump>
EXTRACT: 该参数将源端的投递进程(data pump)与目标端的trail相连接。
总结一下上面的内容:
新增加的这个投递进程是一个搬运工,在源端工作。它通过EXTTRAILSOURCE找到本地的trail文件,读取该文件,在通过RMTTRAIL参数找到远程trail文件路径,投递过去。
使用EDIT PARAMS命令在源端为投递进程创建参数文件
-- 指定投递进程组:EXTRACT <pump>-- 指定OGG管理用户登录用户名和口令:[SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw>
[<加密选项>]]
-- 如果输入的trail被加密了,请指定:
DECRYPTTRAIL <加密选项>
-- 指定目标系统的主机名和ip地址
-- 通过TCP/IP传递数据的加密方式:
RMTHOST <target>, MGRPORT <portnumber>, ENCRYPT <encryption options>
-- 指定目标端trail文件的加密方式[<encryption options>]
RMTTRAIL <remote_trail>
-- 指定捕获对象:
TABLE <owner>.<table>;
当源端数据库与目标数据库不在一个网络中,可以在一个中介系统里创建投递进程,该进程在整个部署中成为一个二传手。
源端数据库的投递进程读取本local trail后投递(写到)到中介系统中的trail,中介系统中的投递进程(二传手)读取中介系统中的trail投递到目标端。
在配置中需要修改的地方如下:
在源端的投递进程参数中需要将RMTHOST的IP设置为中介地址,RMTTRAIL需要设置为中介trial路径
在中介系统中需要配置如下内容:
1,配置管理进程Manager process,方法同源库相同。
2,在Manager参数文件中使用PURGEOLDEXTRACTS来控制trail删除策略
3,配置投递进程组,取名为pump_2
ADD EXTRACT <pump_2>, EXTTRAILSOURCE <local_trail_1>, BEGIN <time>
EXTTRAILSOURCE:该参数指定中介系统中trail文件路径
4,使用ADD RMTTRAIL指定目标数据库trail位置
ADD RMTTRAIL <remote_trail_2>, EXTRACT <pump_2>
EXTRACT:该参数指明刚刚创建的“中介投递进程”将数据写入目标数据库的trail文件。
下面看看投递进程的配置文件
-- Identify the data pump group:
EXTRACT <pump_2>
-- Note that no database login parameters are required in this case.
-- State whether or not source and target definitions are identical: SOURCEDEFS <full_pathname> | ASSUMETARGETDEFS
-- Specify the target definitions file if SOURCEDEFS was used: TARGETDEFS <full_pathname>
-- Specify decryption if input trail is encrypted:
DECRYPTTRAIL <encryption options>
-- Specify the name or IP address of the target system
-- and optional encryption of data over TCP/IP:
RMTHOST <target_2>, MGRPORT <portnumber>, ENCRYPT <encryption options> -- Specify the remote trail and encryption options on the target system: ENCRYPTTRAIL [<encryption options>]
RMTTRAIL <remote_trail_2>
-- Allow mapping, filtering, conversion or pass data through as-is; [PASSTHRU | NOPASSTHRU]
-- Specify tables to be captured:
TABLE <owner>.<table>;
文档最后还有一部分是级联配置,也就是双向复制,就不在此列出了。
0