Oracle GoldenGate配置异构数据库数据传输(oracle到sqlserer)的dml操作(带pump进程)
实验环境:
os01:Red Hat Enterprise Linux Server release 5.1 (32位)
db01:oracle 10.2.0.1.0
os02:Windows 7 (32位)
db02:Microsoft SQL Server Enterprise Edition(10.0.1600.22)
实验目的:
实现两异构数据库单向dml复制(oracle到sqlserver)并配置pump进程,db01为source,db02为target。
实验思路:
知识准备:
- Manager进程是GoldenGate的控制进程,它主要作用有以下几个方面:启动、监控、重启GoldenGate的其他进程,报告错误及时间,分配数据存储空间,发布阀值报告等。
- Extract进程运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重启Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。
- Pump进程运行在数据库源端。如果源端使用了local trail文件,那么Pump进程就会把local Trail目录中的文件文件以数据块的形式通过TCP/IP协议发送到目标端,我们下面的配置就是这种方式。Pump进程本质是Extract进程的一种特殊形式,如果不使用local Trail文件,那么Extract进程在抽取完数据后,直接投递到目标端。pump进程非必须,但其增加了一层,可以避免由网络问题引起的Extract进程异常终止最终导致日志没有捕获的问题,待网络问题解决后重新启动pump进程,可以保证故障期间的数据修改继续传输。
- 与Pump进程相对应的叫Server Collector进程,这个进程不需要引起我们关注,因为在实际操作过程中无需对其进行任何配置,它运行在目标端,任务就是把Extract/Pump进程投递过来的数据块重新组装成Trail文件。
- Replicat进程运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML或DDL语句,然后应用到目标数据库中。
环境准备
1.准备OGG软件,OGG实现了异构数据库之间的数据同步,因此会有很多版本,请选取正确的ogg版本.这里我选取的是:
fbo_ggs_Linux_ora10g_32bit.zip
for sqlserver 2008_32.zip
2.保证两台机器了网络连通,分别编辑/etc/hosts和C:\Windows\System32\drivers\etc\hosts,ping机器名测试。
3.安装OGG软件
a)解压软件
[oracle@linux01 oracle]$ su - oracle
[oracle@linux01 oracle]$ mkdir $ORACLE_BASE/gg
[oracle@linux01 gg]$ unzip fbo_ggs_Linux_ora10g_32bit.zip
[oracle@linux01 gg]$ tar -xvf fbo_ggs_Linux_x86_ora10g_32bit.tar
b)进入ogg简历相关目录及文件,配置主进程端口号并启动
[oracle@linux01 gg] ./ggsci
GGSCI (linux01) n> create subdirs
GGSCI (linux01) n> edit param mgr
--添加如下内容并保存
port 7809
--启动并检查
GGSCI (linux01) n> start mgr
GGSCI (linux01) n> info all
c)在target端也执行上述安装过程
Source端配置:
1.开启source端归档并设置最小附加日志模式
SQL> select log_mode from v$database;
--如没开启需启动数据库至mount并开启归档模式
SQL> alter database archivelog;
SQL> select supplemental_log_data_min from v$database;
SQL> alter database add supplemental log data;
2.在源端添加补充日志
GGSCI (linux01) n> dblogin userid ann password xxxxxxxx
GGSCI (linux01) n> add trandata ann.t01
3.添加定义文件(因是异构之间的传输,需要转换字段类型等处理需用到defgen工具生成定义文件)
GGSCI (linux01) n> edit param defgen
添加如下内容
--
defsfile ./dirdef/t01.def
userid ann, password xxxxxxxx
table ann.t01;
--
退出ggsci到ogg安装目录,生成定义文件
[oracle@linux01 gg]$ defgen paramfile ./dirprm/defgen.prm
将生成文件传输至windows机器的ogg目录下的dirdef目录下供复制进程使用。
4.添加抽取进程
GGSCI (linux01) n> add extract ext01,tranlog,begin now
GGSCI (linux01) n> add exttrail ./dirdat/et,extract ext01
GGSCI (linux01) n> edit param etx01
添加一下内容并保存
--
EXTRACT EXT01
USERID ann, PASSWORD xxxxxxxx
EXTTRAIL ./dirdat/et
DYNAMICRESOLUTION
GETTRUNCATES
TABLE ann.t01;
--
5.添加pump传输进程pump01
GGSCI (linux01) n> add extract pump01,exttrailsource ./dirdat/et,begin now
GGSCI (linux01) n> add rmttrail D:\Apps\GG\dirdat\rt,extract pump01
GGSCI (linux01) n> edit param pump01
添加如下内容并保存
--
EXTRACT pump01
userid ann, password xxxxxxxx
RMTHOST ann_pc, MGRPORT 7809
RMTTRAIL D:\Apps\GG\dirdat\rt
PASSTHRU
TABLE ann.mv_t01;
--
Target端配置
1.添加ODBC数据源,控制面板-管理工具-数据源(ODBC),添加系统DNS,取名为test01,注意选择驱动程序类型为SQL Server Native Client 10.0。
2.在sqlserver目标库中新建和源表结构相同的表;
3.添加复制replicat进程
GGSCI (linux01) n> dblogin sourcedb test userid sa password xxxxxxxx
GGSCI (linux01) n> add checkpointtable dbo.ckp
GGSCI (linux01) n> edit param ./globals
添加如下内容
--
CHECKPOINTTABLE dbo.ckp
--
GGSCI (linux01) n> add replicat rpl01,exttrail D:\Apps\GG\dirdat\rt,begin now,checkpointtable dbo.ckp
GGSCI (linux01) n> edit param rpl01
添加如下内容
--
replicat rpl01
sourcedefs d:\apps\gg\dirdef\t01.def
targetdb test01 userid sa, password xxxxxxxx
reperror default,discard
discardfile d:\Apps\GG\dirrpt\rpltm
gettruncates
MAP ann.t01, TARGET dbo.t01;
--
运行
启动source端进程
GGSCI (linux01) n> start ext01
GGSCI (linux01) n> start pump01
启动target端进程
GGSCI (linux01) n> start rpl01
至此配置完成。
其他一些命令:
GGSCI (linux01) n> info trandata [schema.objectname] --查看附加日志添加情况
GGSCI (linux01) n> info all --查看进程状态
GGSCI (linux01) n> view report ext01 --查看进程报错信息
GGSCI (linux01) n> info extract|replicat *,tasks --查看所有抽取进程信息
(待续DDL异构环境配置)
Oracle GoldenGate配置异构数据库数据传输(oracle到sqlserer)的dml操作(带pump进程)的更多相关文章
- oracle监听,数据库,oracle服务器的启动和停用
一.oracle监听,数据库,oracle服务器的启动和停用 使用root用户登录:切换用户su – root/root操作系统,一般只有root用户才有权限去操作系统中安装的oracle数据库服务器 ...
- ORACLE GoldenGate在Windows与AIX平台ORACLE的单向、双向数据传输配置及其测试
第1章...... GoldenGate概述 1.1 GoldenGate技术原理 1.2 GoldenGate可靠的复制 1.3 GoldenGate ...
- 『OGG 03』Win7 配置 Oracle GoldenGate 一次性成功(包括Adapter Java)
安装Oracle: 安装 Oracle_11g 32位[Oracle 32位的话,OGG 也必须是 32位,否则会有0xc000007b无法正常启动 错误] 安装目录为 D:\oracle\produ ...
- 为Oracle GoldenGate准备数据库
了解如何为Oracle GoldenGate准备数据库,包括如何配置连接和日志记录,如何在数据库中启用Oracle GoldenGate,如何设置闪回查询以及如何管理服务器资源. 为集成进程配置连接 ...
- 『OGG 02』Win7 配置 Oracle GoldenGate Adapter Java 踩坑指南
上一文章 <__Win7 配置OGG(Oracle GoldenGate).docx>定下了 两个目标: 目标1: 给安装的Oracle_11g 创建 两个用户 admin 和 root ...
- Oracle GoldenGate理论
1Oracle GoldenGate处理方法和支持的数据库Oracle GoldenGate在多样和异构的基础IT平台中,可以在事务级别上进行数据交换和数据操作.在保证交易完整性和最小的开销的条件下, ...
- Oracle GoldenGate 11.2 OGG-01168(转)
为客户部署的Oracle GoldenGate在测试阶段出现如下的错误: 2012-04-24 10:45:20 ERROR OGG-01168 Oracle GoldenGate Deliv ...
- 建立Oracle GoldenGate凭证
了解如何为与数据库交互的流程创建数据库用户,分配正确的权限并防止未经授权使用凭据. 主题: 为Oracle GoldenGate分配凭证 保护Oracle GoldenGate凭证 3.1 为Orac ...
- 76 道 Oracle Goldengate 面试问题
基础 12c新特性 性能 Troubleshoot 其它 1. Oracle Goldengate 支持部署到哪些拓扑? GoldenGate supports the following topol ...
随机推荐
- CSS清除浮动的方法
CSS清除浮动的方法有哪些呢?经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,清除浮动是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一.下面看今天的 ...
- 安装sql server 2008 management studio时,提示升级VS2008 到 SP1
安装sql server 2008 management studio时,提示错误:此计算机上安装了 Microsoft Visual Studio 2008 的早期版本.请在安装 SQL Serve ...
- C++实现20个设计模式
http://c.chinaitlab.com/special/sjms/Index.html 一个月下来,把常见的20个设计模式好好复习并且逐个用C++实现了一遍,收获还是很大的,很多东西看上去明白 ...
- NET基础课--配置文件1
在.NET Framework中,配置几乎是无处不在的.配置是控制应用程序行为的一些设置.下面我们就来看看到底有几个配置文件,而他们又分别代表了什么? 1. machine.config 这个文件只有 ...
- 配置基于NotePad++工具下的C#开发环境
1.打开NotePad++,打开Notepad++的插件(plugins)菜单-->Plugin Manager-->Show Plugin Manager-->勾选NppExec- ...
- 【常用小命令】解决windows下有些文件文件名识别不了导致删除不了的问题
在百度上找的解决方案哈,只为自己存档一份. 因为发现现在从csdn上下载的文件都是“.pdf_”格式,下载2个文件,将一个文件格式改成 “.pdf”,另一个文件就扔回不了回收站了, 所以没有办法就找各 ...
- LINQ 操作符
using System; using System.Collections.Generic; using System.Text; using System.Linq; namespace LinQ ...
- 龙芯3A上V8的编译与测试
使用平台: loongson3a+debian6.0.3+linux2.6.36.3+gcc4.6.3 一: V8的下载 这里V8是从其官网上使用git下载的: (1)如果没有git和git-svn需 ...
- volatile 和const 变量的使用
一.volatile定义: 一个定义为volatile的变量是说这变量可能会被意想不到的被改变,这样,有了volatile变量后,就提醒编译器就不会去假设这个变量的值了.精确地说就是,编译中的优化器在 ...
- C# sliverlight调用WCF服务出现的一个错误
错误提示如下: 尝试向 URI“http://localhost:8396/Service1.svc”发出请求时出错.这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP ...