OGG 11g Complete Cookbook
VincentQB
就是一混子
展开
-
40. Oracle GoldenGate 11g Complete Cookbook 博文指引
Linux环境下的OGG二进制软件包安装开启源端附加日志OGG支持的数据类型源库预部署目标库预部署配置MGR进程配置Classic Capture抽取进程配置Integrated Capture抽取进程配置发送进程配置应用进程两单机库环境的OGG简单配置实验多组抽取发送应用进程拆分实验配置抽取进程读取ASM实例RAC环境的OGG简单配置实验trail文件所需空间计算...原创 2018-07-25 09:34:56 · 398 阅读 · 2 评论 -
39. Creating a GoldenGate confguration with a consistent state behind the target database
简单说明:OGG提供了应用进程延迟同步的功能,本篇博文主要测试该特性 依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,将该博文实验步骤全部执行完毕实验步骤:1° 目标库EMP表新增两个字段用于验证:s...原创 2018-07-24 16:48:08 · 172 阅读 · 0 评论 -
38. Steps to re-instantiate a failed GoldenGate confguration
简单说明:本篇博文模拟OGG重新初始化同步目标端数据,启动应用进程的操作,只介绍大体步骤重新初始化OGG复制的步骤:1° 目标端停掉应用进程2° 目标库删除被复制的SCOTT用户3° 源库查询出当前SCN4° 源端抽取和发送进程保持正常启动状态5° 源端创建directory,使用数据泵基于FLASHBACK_SCN导出SCOTT6° 目标端创建director...原创 2018-07-23 16:48:08 · 197 阅读 · 0 评论 -
37. Steps to measure throughput of a GoldenGate confguration
衡量OGG吞吐量:有两种衡量OGG吞吐量的标准:数据吞吐量和操作吞吐量1° 数据吞吐量的衡量步骤:# 目标端操作su - oraclecd /ggs# 获取应用进程RGGTEST1当前和一分钟之后的RBA值BEF_RBA_RGGTEST1=$(echo 'info rggtest1'|./ggsci|grep 'RBA'|awk '{print $NF}')sleep 6...原创 2018-07-23 16:02:09 · 214 阅读 · 0 评论 -
36. Script to perform a regular scheduled healthcheck of a live GoldenGate confguration
周期性健康检查脚本:1° 依据《CentOS6u9 简单邮件告警部署》部署告警邮件2° 配置脚本:cat >/tmp/status_report.sh<<EOF#!/bin/bash# Written by Ankur Gupta# Modified and Note by Vincentsource ~/.bash_profile# Oracle相关的...原创 2018-07-23 14:10:58 · 297 阅读 · 0 评论 -
35. Performing a healthcheck of a live GoldenGate confguration
OGG健康检查:1° 查询OGG日志ggserr.log:su - oraclecd /ggsgrep -iv info ggserr.log# 过滤掉该日志中的INFO类信息,剩下的WARNING和ERROR类信息即是要关注的信息2° 使用OGG命令行检查进程状态:su - oraclecd /ggsecho 'status *'|./ggsci3° 进程故...原创 2018-07-23 12:34:57 · 294 阅读 · 0 评论 -
34. Optimizing the network settings for a GoldenGate confguration
OGG网络层面优化点:1,为每个抽取进程配置至少一个发送进程 如果抽取和发送配置成一个进程,当网络故障时,抽取操作会停止 同时抽取和发送配置成一个进程,该进程的压力也会很大2,为发送参数RMTHOST配置TCPBUFSIZE和TCPFLUSHBYTES操作 默认的TCPBUFSIZE是30000 bytes,对于高速网络需要调整 使用ping命令来查看源端到目标...原创 2018-07-23 11:54:59 · 270 阅读 · 0 评论 -
33. Splitting the replication load into multiple process groups for optimal performance
简单说明:本篇博文讨论进程负载切分时要考虑的诸多因素,并不涉及具体的配置操作进程拆分的原因:当在一个非常繁忙的系统中部署复制时,一个单独的抽取和应用进程不足以保证复制事务的速度这种情况下,一般应用进程是瓶颈,应用进程从trail文件中读取事务,重构成SQL,然后一条条的在目标端执行除非是特意配制成这种延迟行的复制,否则该情况就是不合理的进程拆分所需要关注的地方:...原创 2018-07-20 18:08:48 · 269 阅读 · 0 评论 -
32. Steps to confgure a BATCHSQL mode
简单说明:本博文介绍提升应用进程性能的批处理进程模式BATCHSQL,以及该模式下的其他配置参数开启方法:目标端应用进程打开BATCHSQL模式的配置语句: REPLICAT RGGTEST1 USERID ggs, PASSWORD ggs DISCARDFILE /ggs/dirrpt/RGGTEST1.dsc, append, MEGABYTES 500 AS...原创 2018-07-20 14:08:15 · 555 阅读 · 0 评论 -
31. Creating an exception handler to record the erroneous transactions in a GoldenGate confguration
简单说明:OGG提供了捕获异常的特性,能够让应用进程遇到故障时捕获该故障,使应用进程不会停机,本篇博文主要测试该特性 依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,将该博文实验步骤全部执行完毕实验步骤:...原创 2018-07-19 17:32:38 · 218 阅读 · 0 评论 -
30. Creating a GoldenGate confguration to run a Shell script when an end-of-day processing record is
简单说明:OGG提供了EVENTMARKER特性,可以用来创建事件并执行它,本篇博文主要测试该特性 依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,将该博文实验步骤全部执行完毕环境准备:1° 源端和目标端...原创 2018-07-19 12:14:06 · 193 阅读 · 2 评论 -
29. Mapping the changes to a target table and storing the transaction history in a history table
简单说明:OGG允许追踪一条记录的历史数据,并将其映射到另外一张表来记录事务历史,本篇博文主要测试该功能 依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,将该博文实验步骤全部执行完毕实验步骤:1° 目标库...原创 2018-07-18 18:58:02 · 270 阅读 · 0 评论 -
28. Filtering the records using the FILTER and WHERE clause
简单说明:本篇博文实验使用OGG的FILTER子句实现筛选数据复制的功能 依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,将该博文实验步骤全部执行完毕实验步骤: 1° 目标库依据EMP表结构创建表 EMP...原创 2018-07-18 15:36:52 · 190 阅读 · 0 评论 -
27. Adding custom felds to a replicated record using SQLEXEC
简单说明:本篇博文实验使用OGG的SQLEXEC参数实现在复制时执行SQL生成数据并插入到目标端的功能 依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,将该博文实验步骤全部执行完毕实验步骤: 1° 修改目标端...原创 2018-07-18 14:16:56 · 167 阅读 · 0 评论 -
26. Adding custom felds for a replicated record using tokens
简单说明:本篇博文实验使用OGG的tokens参数增加抽取信息,并将这些信息同步到目标端 依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,将该博文实验步骤全部执行完毕实验步骤:1° 修改目标端表结构,用于...原创 2018-07-17 15:21:37 · 185 阅读 · 0 评论 -
25. Setting up a GoldenGate replication with mapping between different columns
简单说明:本篇博文实验源表和目标表列名不同的环境下的OGG复制 在博文《19. Setting up a GoldenGate replication between tables with different structures using defgen》 实验了目标库和源库表结构不同,表名不同和表列序不同的复制,本次实验是该实验的补充 依据《11. Setting up a sim...原创 2018-07-17 13:20:48 · 283 阅读 · 0 评论 -
24. Loading data using trail files to the Replicat process method
简单说明:本实验模拟源库100万条记录的EMP表到目标库的复制 验证OGG初始化数据同步方法为:Trail to the Replicat method 复制过程中源表会有事务执行,也就是模拟生产不停机的环境环境准备:依据《11. Setting up a simple GoldenGate replication confguration between two single n...原创 2018-07-17 10:16:38 · 222 阅读 · 0 评论 -
23. Performing an initial load using an extract file to the GoldenGate's replicat method
简单说明:本实验中将会模拟源库100万条记录的EMP表到目标库的复制 复制过程中源表会有事务执行,也就是模拟生产不停机的环境环境准备:依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署实验环境,停掉应用进程,因为需要在源库重新初始化e...原创 2018-07-16 16:40:42 · 193 阅读 · 0 评论 -
22. Performing an initial load using GoldenGate
简单说明:本篇博文是关于使用OGG做源库到目标库的初始化数据同步方法的步骤梳理具体方法参见后续几篇博文使用OGG初始化同步数据,非使用数据泵/RMAN的初始化数据同步的准备工作:1,抽取和发送进程已配置启动,应用进程配置完成2,在初始化数据同步的时候关闭DDL复制3,在初始化数据同步之前,目标库清空被初始化同步的表的数据4,需要在目标环境删除所有的索引,禁用所有的约...原创 2018-07-16 02:16:17 · 239 阅读 · 0 评论 -
21. Setting up a GoldenGate DDL replication and verifying the changes
简单说明:依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》部署实验环境并依据《20. Performing an initial setup required for GoldenGate DDL replication》执行DDL复制支持脚本...原创 2018-07-15 22:49:18 · 160 阅读 · 0 评论 -
20. Performing an initial setup required for GoldenGate DDL replication
简单说明:为了支持DDL的同步复制,源端的抽取进程需要一些元数据表,通过执行一些脚本来设置 当源端配置好用于OGG的数据库用户即可执行脚本支持DDL的复制脚本执行步骤:su - oraclecd /ggssqlplus / as sysdba@marker_setup.sql-- Enter Oracle GoldenGate schema name:ggs@ddl_s...原创 2018-07-15 21:40:16 · 192 阅读 · 0 评论 -
19. Setting up a GoldenGate replication between tables with different structures using defgen
简单说明:依据《11. Setting up a simple GoldenGate replication confguration between two single node databases》 部署试验环境模拟本次实验,源端和目标端均只部署完MGR即可开始本次实验 注意在Oracle 11.2.0.4 之后需要打开ENABLE_GOLDENGATE_REPLICATION参数:...原创 2018-07-15 13:55:20 · 280 阅读 · 0 评论 -
18. Encrypting the trail fles
Trail文件加密步骤:1° 准备:依据《17. Generating encryption keys》生成256位的key文件源端和目标端都持有该key文件2° 源端抽取进程配置改写:./ggsciEDIT PARAMS EGGTEST1EXTRACT EGGTEST1USERID ggs, PASSWORD ggsENCRYPTTRAIL AES256 KEYNA...原创 2018-07-14 11:41:36 · 157 阅读 · 0 评论 -
16. Verifying the data transfer on the target system
目标端验证数据传输:该实验是一个最简单的验证数据传输的例子1° 源库更新:update SCOTT.EMP set sal=sal+1000;commit;2° 检查一小时内抽取进程统计信息:stats EGGTEST1 hourly-- Sending STATS request to EXTRACT EGGTEST1 ...-- Start of Statisti...原创 2018-07-14 11:20:29 · 149 阅读 · 0 评论 -
15. Determining the size of trail fle areas
计算所需的trail文件空间:计算公式:一小时内的redo日志容量 * 最大故障时间 * 0.4简单解释:应当选择正常业务情景下的一小时内业务高峰期的redo日志容量抽取进程生成的trail文件容量一般是redo日志容量的40%OGG在trail文件中对每个更新都存储其对象名如果源库中的对象名很长,可能导致trail文件容量大于redo的40%最大故障时间要根据...原创 2018-07-14 10:44:50 · 205 阅读 · 0 评论 -
14. Setting up a GoldenGate replication between Oracle RAC databases
简单说明:因为在RAC专题中已经有了《CentOS6u9 Oracle11g RAC 搭建部署(七)OGG预部署》 和《CentOS6u9 Oracle11g RAC 搭建部署(八)OGG测试》,本篇不在进行实验验证 只记录书上的操作步骤和区别于单机环境的部署操作源库部署操作:1° 抽取进程配置文件配置:./ggsciEXTRACT EGGTEST1USERID ggs...原创 2018-07-14 10:10:54 · 176 阅读 · 0 评论 -
13. Confguring an Extract process to read from an Oracle ASM instance
Oracle 10.2.0.5或11.2.0.2或更新的库版本抽取进程配置写法:EDIT PARAMS EGGTEST1EXTRACT EGGTEST1USERID ggs, PASSWORD ggsEXTTRAIL /ggs/dirdat/stTRANLOGOPTIONS DBLOGREADER-- 该配置就是较新的库版本的ASM实例环境配置方法-- 参数 DBLOGREAD...原创 2018-07-13 16:39:21 · 209 阅读 · 0 评论 -
17. Generating encryption keys
使用默认的加密key加密用户密码,得到密码密值:su - oraclecd /ggs./ggsciencrypt password ggs,ENCRYPTKEY default-- Using default key...-- Encrypted password: AACAAAAAAAAAAADAFHJEXBKHIDHHAGIC-- Algorithm used: BLO...原创 2018-07-13 16:11:22 · 342 阅读 · 0 评论 -
12. Setting up a GoldenGate replication with multiple process groups
简单说明:本实验实际上是将一个业务用户切分成两个抽取进程,每个抽取进程切分成两个甚至多个应用进程进行应用清理《11. Setting up a simple GoldenGate replication confguration between two single node databases》 实验的环境,进行本章节的实验:源端清理:su - oraclecd /ggs....原创 2018-07-13 14:17:07 · 309 阅读 · 0 评论 -
11. Setting up a simple GoldenGate replication confguration between two single node databases
本篇博文以一个实验对文章的操作进行实际模拟:源端:IP: 192.168.77.10HOSTNAME: sourceORACLE: 11.2.0.4OGG: 11.2.1.0.33SCHEMA: scott目标端:IP: 192.168.77.11HOSTNAME: targetORACLE: 11.2.0.4OGG: 11.2.1.0.33SCHEMA: sco...原创 2018-07-12 17:08:48 · 215 阅读 · 0 评论 -
10. Setting up a Replicat process
Setting up a Replicat process1° 部署前的准备:配置启动MGR进程2° 目标端创建Replicat进程的步骤:su - oraclecd /ggs./ggsciDBLOGIN, USERID ggs PASSWORD ggsADD CHECKPOINTTABLE ggs.rggtest1_ckpt-- 向ggs用户中添加checkpo...原创 2018-07-12 14:55:54 · 305 阅读 · 0 评论 -
9. Setting up a Datapump process
Setting up a Datapump process1° 简单介绍:Datapump进程是可选的如果不进行单独配置,则由Extract进程完成数据抽取和发送如果配置Datapump进程,则由它来完成数据的发送功能使Extract进程更专注于源库的数据抽取和写本地trail文件2° 部署前的准备:部署OGG的MGR进程部署Extract进程并且配置关联本地tra...原创 2018-07-12 13:47:12 · 152 阅读 · 0 评论 -
8. Setting up an Integrated Capture Extract process
Setting up an Integrated Capture Extract process1° Integrated Capture提取进程简介:Integrated Capture是OGG的新的提取进程直接从数据库日志挖掘服务的逻辑改变记录(LCRs)中获取数据改变该功能基于Oracle的Streams技术OGG管理用户需要有访问日志挖掘字典对象的权限参见《4. Pre...原创 2018-07-12 10:12:03 · 234 阅读 · 0 评论 -
7. Setting up a Classic Capture Extract process
Setting up a Classic Capture Extract process1° Classic Capture提取进程简介:Classic Capture提取进程配置在源端系统上该进程能够抽取源数据并且持续复制该进程从源库的redo或归档日志提取数据库事务并记录在内存缓冲区遇到commit,写入磁盘trail文件;遇到rollback,丢弃所有平台所有版本的OGG都支...原创 2018-07-11 23:33:49 · 213 阅读 · 0 评论 -
6. Setting up a Manager process
Setting up a Manager process1° 配置步骤和参数解释:cd /ggs./ggsciEDIT PARAMS MGR-- 命令edit params mgr,实际上是执行命令 vi /ggs/dirprm/mgr.prmPORT 8000-- MGR的监听端口DYNAMICPORTLIST 8001-8200, 8300-- 其他进程的监听端口范围,自...原创 2018-07-11 21:56:58 · 257 阅读 · 0 评论 -
5. Preparing the target database for GoldenGate setup
Preparing the target database for GoldenGate setup1° 需要一个数据库用户用于目标库的部署操作(源库也是需要的) 考虑到灾备切换,ggs用户应该均授予源库和目标库所需要的所有权限:sqlplus / as sysdbacreate tablespace GGS datafile '...' size 50mautoextend on ...原创 2018-07-11 20:58:11 · 172 阅读 · 0 评论 -
4. Preparing the source database for GoldenGate setup
Preparing the source database for GoldenGate setup1° 提取进程分类:提取进程Extract有两类:Classic Capture和Integrated Capture2° 需要一个数据库用户用于源库的部署操作(备库也是需要的):sqlplus / as sysdbacreate tablespace GGS datafile ...原创 2018-07-10 21:05:51 · 158 阅读 · 0 评论 -
3. Supported datatypes in Oracle GoldenGate
Supported datatypes in Oracle GoldenGateOracle GoldenGate v11.2.1.0.1 支持的数据类型:NUMBER、BINARY FLOAT、BINARY DOUBLECHAR、VARCHAR2、LONG、NCHAR、NVARCHAR2RAW、LONG RAW、DATE、TIMESTAMP、CLOB、NCLOBBLOB、SECUR...原创 2018-07-10 18:16:37 · 174 阅读 · 0 评论 -
2. Enabling supplemental logging in the source database
Enabling supplemental logging in the source database1° 准备:源库启用附加日志,首先准备好想要从源库到目标库复制的表的列表2° OGG需要打开库级附加日志和表级附加日志:打开库级附加日志: ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;切日志,保证配置OGG时的日志全部包含附加日志...原创 2018-07-10 17:34:50 · 365 阅读 · 0 评论 -
1. Installing Oracle GoldenGate in a x86_64 Linux-based environment
简单说明:开个坑,拆读《Oracle GoldenGate 11g Complete Cookbook》相关有用的章节 该坑不面向OGG零基础,是这本书自己觉着有用地方的翻译解释和摘录,本坑什么时候填完看心情…Installing Oracle GoldenGate in a x86_64 Linux-based environment1° 下载:OGG下载地址: h...原创 2018-07-10 16:37:41 · 215 阅读 · 0 评论