- 浏览: 7340336 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
here I only show the meaning of params.
add extract <group name>, TRANLOG, BEGIN NOW, THREADS <thread number>
其中group name表示这个Extract group的名字
TRANLOG 表示使用事务日志的方式
BEGIN NOW 表示从现在开始,你也可以指定一个具体的开始时间
THREADS 表示从哪个instance上运行,只对RAC环境有用,单机环境比需要指定该Option
GoldenGate 软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。GoldenGate 可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾等多个场景下应用。
同时,GoldenGate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。
环境要求:
支持的Oracle Database 版本
在当前的Oracle GoldenGate 10.4版本中,支持如下Oracle Database版本
Oracle 8i (DML support only)
Oracle 9.1 and 9.2 (DML and DDL support)
Oracle 10.1 and 10.2 (DML and DDL support)
Oracle 11g (DML and DDL support)
支持的操作系统平台
几乎所有主流的操作系统,GoldenGate都支持
Windows 2000, 2003, XP,Linux,Sun Solaris,HP NonStop,HP-UX
内存要求
GoldenGate对操作系统内存的需求主要取决于Extract和Replicat进程数,一般建议>2G。
DISK空间需求
由于要数据库必须设置为归档模式,所以要求至少保存7天以上的日志,建议剩余空间在10G~100G之间。
对于RAC环境
对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数。否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到 GoldenGate运行节点。
对于RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RAC node和运行extract进程的node节点保持时钟同步。因为GoldenGate会比较本地的系统时间和commit的时间戳。所以不能忽略这个设置。否则可能导致数据复制的紊乱。
数据库客户端
GoldenGate需要安装full Oracle client,以便于GoldenGate程序访问Oracle XDK libraries。
数据库用户
建议使用sys或任何其他具有sysdba/sysasm权限的用户。
数据库配置
对于Source Oracle Database要求
数据库处于归档模式下
打开补充日志
打开force logging
分别配置连接源数据库和目标数据库的主机字符串
建立一个专门的用户如Goldengate来负责将所需的数据同步到远端,而不是用已有的业务用户
这个用户需要哪些权限呢?
Create user goldengate identified by goldengate default tablespace users temporary tablespace temp quota unlimited on users ;
GRANT CONNECT TO goldengate;
GRANT ALTER ANY TABLE TO goldengate;
GRANT ALTER SESSION TO goldengate;
GRANT CREATE SESSION TO goldengate;
GRANT FLASHBACK ANY TABLE TO goldengate;
GRANT SELECT ANY DICTIONARY TO goldengate;
GRANT SELECT ANY TABLE TO goldengate;
GRANT RESOURCE TO goldengate;
GRANT drop ANY TABLE TO goldengate;
GRANT DBA TO goldengate;
注*
补充日志是否打开查询语句:
select supplemental_log_data_min from v$database;
打开补充日志语句:
alter database add supplemental log data;
打开force logging语句:
Alter database force logging;
配置golengate
环境:os linux 4.7 x86_64 数据库:10.0.2.1 64位
IP设置:源 192.168.8.1 目标 192.168.8.2
SID: ORCL
1. 安装goldengate 软件
在oracle官方网站上下载goldengate对应平台的安装程序
进入到GoldenGate的安装目录.
运行
GGSCI
In GGSCI, issue the following command to create the GoldenGate working directories.
CREATE SUBDIRS
Issue the following command to exit GGSCI.
EXIT
2. 数据复制初始化
GoldenGate中支持的data load 方法有
Loading data with a database utility
Loading data from file to Replicat
Loading data from file to database utility
Loading data with a GoldenGate direct load
Loading data with a direct bulk load to SQL*Loader
Loading tables with Teradata table copy
Loading data with Teradata load utilities
注 * 这点我没怎么研究,我采用的rman异地恢复
3. 配置进程
第一步 : 在源数据库和目标数据库分别配置管理进程mgr GGSCI> edit params mgr
port 7809
(保存退出)
GGSCI> start mgr
Manager started.
GGSCI> info all
ProgramStatus Group Lag ime Since Chkpt
MANAGER RUNNING
(可以正常启动)
第二步:源数据库增加两个进程
*.一般源数据库需要应配置两个进程,一个负责抽取数据(ZLE_01),另一个负责投递数据(ZLE_02),默认只支持DML,如果要支持DDL需要执行一些单独的配置。
在源数据库系统中执行如下命令增加一个Extract group,详细的ADD EXTRACT语法参见官方手册说明或GGSCI的online help.
GGSCI> add extract <group name>, TRANLOG, BEGIN NOW, THREADS <thread number>
其中group name表示这个Extract group的名字
TRANLOG 表示使用事务日志的方式
BEGIN NOW 表示从现在开始,你也可以指定一个具体的开始时间
THREADS 表示从哪个instance上运行,只对RAC环境有用,单机环境比需要指定该Option
2.1 配置抽取进程
我这里是单机环境,extract group name定义为zle_01
GGSCI > DBLOGIN USERID goldengate@orcl1, PASSWORD goldengate
GGSCI > add extract ZLE_01, tranlog,begin now
EXTRACT added.
GGSCI > add RMTTRAIL ./dirdat/ra, extract zle_01, megabytes 50
查看一下刚才定义的这个extract process的结果
GGSCI > info extract zle_01
EXTRACT ZLE_01 Initialized 2010-01-19 11:50 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:22 ago)
Log Read Checkpoint Oracle Redo Logs
2010-01-19 11:50:39 Seqno 0, RBA 0
补充一个命令: info extract zle_01, showch 看的更详细
为该抽取Extract进程配置参数文件,在源数据库执行如下命令
GGSCI> edit param zle_01
增加如下内容
EXTRACT ZLE_01
SETENV (ORACLE_SID=ORCL)
USERID goldengate@ORCL1, PASSWORD goldengate
RMTHOST 192.168.8.1, MGRPORT 9001
RMTTRAIL ./dirdat/ra
TABLE ZLHIS.TEST;
RMTTRAIL告诉extract process需要将trail文件写到哪里
TABLE部分说明我这个Extract 进程只处理ZLHIS用户下的TEST表
好了,到这里就可以启动上面定义的Capture 进程了,执行如下命令
GGSCI> start extract zle_01
Sending START request to MANAGER (‘mgr’) …
EXTRACT ZLE_01 starting
GGSCI>
Verify the results:
GGSCI> info EXTRACT ZLE_01, DETAIL
GGSCI> view REPORT ZLE_01
GGSCI> info extract ZLE_01
好了,到这里就完成了一个最简单的抽取Extract process的配置并启动,下面来配置投递Extract process进程。
2.2 配置投递进程
在Source系统执行如下命令
GGSCI> ADD EXTRACT ZLE_02, EXTTRAILSOURCE ./dirdat/ra, BEGIN now
GGSCI> ADD RMTTRAIL ./dirdat/la, EXTRACT ZLE_02
*(./dirdat/la为远端接收目录,必须存在)
GGSCI> edit params zle_02
添加内容如下:
extract ZLE_02
dynamicresolution
PASSTHRU
rmthost 192.168.8.2, mgrport 9001, compress
rmttrail ./dirdat/la
numfiles 3000
TABLE ZLHIS.TEST ;
GGSCI> start extract zle_02
Sending START request to MANAGER (‘mgr’) …
EXTRACT ZLE_02 starting
查看下状态:
GGSCI> info all
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING ZLE_01 00:00:00 00:00:05
EXTRACT RUNNING ZLE_02 00:00:00 00:00:07
2.3配置接收进程
在目标系统(Target system)上执行如下命令增加一个复制组(Replicat Group)
GGSCI > DBLOGIN USERID goldengate@orcl2, PASSWORD goldengate
GGSCI>add replicat ZLR_01, EXTTRAIL ./dirdat/la , nodbcheckpoint
注,我这个中配置Extract process那个示例对应的,所以这里的exttrail文件名正好是Extract process中定义的RMTTRAIL ./dirdat/la这点需要大家注意.
GGSCI> edit param ZLR_01
增加如下内容并保存退出
REPLICAT ZLR_01
SETENV (ORACLE_SID=ORCL)
USERID goldengate@ORCL2, PASSWORD goldengate
HANDLECOLLISIONS
ASSUMETARGETDEFS
allownoopupdates
dynamicresolution
numfiles 3000
DISCARDFILE ./dirrpt/ ZLR_01.DSC,append,megabytes 10
map ZLHIS.TEST , target ZLHIS.TEST ;
在Target系统中,执行如下命令
GGSCI> start replicat ZLR_01
Verify the results:
GGSCI> info replicat ZLR_01
REPLICAT ZLR_01 Last Started 2010-01-19 13:50 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:03 ago)
Log Read Checkpoint File ./dirdat/la000000
First Record RBA 0
查看下状态:
GGSCI> info all
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING ZLR_01 00:00:00 00:00:09
测试效果
在源数据库分别插入、修改、删除一条数据。
查看抽取进程状态:
GGSCI> stats ZLE_01
Sending STATS request to EXTRACT ZLE_01 …
Start of Statistics at 2010-01-26 02:53:01.
Output to ./dirdat/ra:
Extracting from ZLHIS.TEST to ZLHIS.TEST:
*** Total statistics since 2010-01-26 02:15:01 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
*** Daily statistics since 2010-01-26 02:15:01 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
*** Hourly statistics since 2010-01-26 02:15:01 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
*** Latest statistics since 2010-01-26 02:15:01 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
End of Statistics.
可以看到已经有记录,而且已经抽取成功,再查看投递进程,
GGSCI> stats ZLE_02
Sending STATS request to EXTRACT ZLE_02 …
Start of Statistics at 2010-01-26 03:04:13.
Output to /u01/ggs/dirdat/re:
Extracting from ZLHIS.TEST to ZLHIS.TEST:
*** Total statistics since 2010-01-26 02:14:25 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
*** Daily statistics since 2010-01-26 02:14:25 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
*** Hourly statistics since 2010-01-26 03:00:00 ***
No database operations have been performed.
*** Latest statistics since 2010-01-26 02:14:25 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
End of Statistics.
切换到目标数据库环境,同样查看接受应用进程。
GGSCI > stats ZLR_01
Sending STATS request to REPLICAT ZLR_01 …
Start of Statistics at 2010-01-26 05:58:36.
Replicating from ZLHIS.TEST to ZLHIS.TEST:
*** Total statistics since 2010-01-26 04:46:57 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
*** Daily statistics since 2010-01-26 04:46:57 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
*** Hourly statistics since 2010-01-26 05:00:00 ***
Total inserts 0.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 2.00
*** Latest statistics since 2010-01-26 04:46:57 ***
Total inserts 1.00
Total updates 1.00
Total deletes 1.00
Total discards 0.00
Total operations 3.00
End of Statistics.
总结:
以上只是记录了对于GoldenGate软件测试的一小部分,总体感觉GoldenGate同Oracle的流复制非常类似,但又有所不同,对比其各自的应用,各有有缺点:
优点:
1. 安装、配置简单。
2. 管理维护相对直观,通过其自带的Oracle Management Pack for Oracle GoldenGate管理工具,能够对其进行图形化界面的管理。
3. 支持异构复制,如不同用户,不同数据库平台的复制,这也是其亮点所在。
4. 未来发展潜力还是很看好。
缺点:
1. 官方的软件目前都只支持64位系统。其实有32位的,Edelivery可以下到到
2.由于是第三方工具,对环境要求比较高,特别是在LINUX环境下,对操作系统的字符集有所要求,主要是我们系统中的表名都是中文,必须要其对中文的支持。
3.在进行应用进程的参数配置时候发现,对于特别多的表复制,暂时不清楚GoldenGate是否有限制,因为启动的时候,我配置参数对ZLHIS所有表进行复制的时候,会提示“”错误,但是如果只对少数表或者单个表复制的时候,又不出现该提示,这个问题正在核实。
4. 目前网上能查询到的资料相当有限,普及率不是很高。
综上所述,GoldenGate同流复制比较起来的亮点还是在异构上,不过Oracle官方的说法是以后一流的Streams技术将被集成到GoldenGate中,这也是其发展的趋势,其价值对于我们用户的应用来说,还是很值得继续深入研究。
发表评论
-
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3356TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51589文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14201最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8696TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2715TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2815TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2456TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2788TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2704TestNG官方网站: http://testng.or ... -
TestNG简单的学习(四)测试方法通过名称名称依赖实现
2013-12-02 09:21 2083TestNG官方网站: http://testng.or ... -
TestNG简单的学习(三)测试方法通过测试分组依赖实现
2013-12-02 09:21 2831TestNG官方网站: http://testng.or ... -
TestNG简单的学习(二)参数化测试并发且多方法测试方法判定
2013-11-29 15:35 3704TestNG官方网站: http://testng.or ... -
TestNG简单的学习(一)类和方法级别@Test的区别
2013-11-29 15:31 9427TestNG官方文档的地址: http://testng ... -
Feed4Junit的简单使用(七)Feed4TestNg
2013-11-29 13:35 6134在Feed4Junit主要针对junit实现的 ... -
Feed4Junit的简单使用(六)数据来特定格式文件
2013-11-29 12:29 2768Feed4Junit官方地址: http://da ... -
Feed4Junit的简单使用(五)数据来自动态约束数据
2013-11-29 12:29 2632Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(四)数据来自定义数据源
2013-11-28 14:09 3106Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(三)数据源来自数据库
2013-11-28 13:58 3171Feed4Junit官方地址: http://databe ... -
Feed4Junit的简单使用(二)数据源来自文件
2013-11-28 13:50 4573Feed4Junit官方地址: http://datab ... -
Feed4Junit的简单使用(一)
2013-11-28 13:47 2215Feed4Junit官方地址: http://databe ...
相关推荐
这份"GoldenGate使用报告"详细介绍了如何配置和利用Oracle GoldenGate进行数据库的同步操作,确保数据的一致性和完整性。 首先,Oracle GoldenGate由几个核心组件构成,包括Extract、Replicat、Trail文件和Manager...
### Oracle GoldenGate 使用说明 #### 一、概述 Oracle GoldenGate 是一款强大的数据复制与管理软件,主要用于在异构环境中实现实时的数据复制与集成。它支持多种平台和数据库系统,能够有效地帮助用户管理和同步...
2. **Change Data Capture (CDC)**:GoldenGate使用CDC技术来跟踪数据库中的变化。它通过读取数据库的日志(如redo logs或archive logs)来获取更改信息,而非全量扫描整个数据库。 3. **抽取(Extract)进程**:在...
**Oracle GoldenGate详解** Oracle GoldenGate是一款高效、可靠的数据...通过学习以上内容,你可以对Oracle GoldenGate有全面的理解,掌握其核心功能和使用技巧,从而在实际工作中有效利用这一强大的数据复制工具。
3. 数据仓库:GoldenGate可以用于将生产系统的数据实时地复制到数据仓库中,以供分析和决策支持系统使用。 4. 跨数据中心复制:GoldenGate可以用于在不同的数据中心之间进行数据复制。例如,在主数据中心和备数据...
接下来,创建一个名为`GOLDENGATE`的用户,分配必要的权限以供GoldenGate使用。这个用户将具有连接、修改表、会话管理、创建会话、闪回表、访问字典、访问任何表、资源管理和获取事务选择等权限。 SQL命令: ```...
4.5 goldengate initial load使用文件传输初始化 第5章 为oracle数据库配置ddl同步 5.1 不支持及有限支持的ddl类型 5.2 ddl处理方法 5.3 ddl复制的配置 第6章 ibm aix平台sybase-oracle数据库复制 6.1...
将Goldengate与Oracle RAC结合使用,可以实现数据复制过程中的高可用性和容错能力。 **2. 高可用性的实现方式** 文档中提到了几种实现Goldengate高可用性的方法: - **单服务器高可用性**:通过在单个服务器上...
1. 解压 GoldenGate 安装介质:使用 zip 或 tar 命令解压 GoldenGate 安装介质。 2. 运行 GoldenGate 安装程序:在源端和目标端分别运行 GoldenGate 安装程序,按照提示进行安装。 配置 GoldenGate 在 GoldenGate ...
GoldenGate 微服务安装和配置是 Oracle GoldenGate(OGG)最新版本的安装和使用教程,本文将详细介绍 GoldenGate 19.1 微服务的安装和配置过程,附带详细的图文介绍,帮助读者快速掌握 GoldenGate 微服务的安装和...
而在Linux和Unix系统中,通常需要使用命令行来执行安装脚本。安装过程中需要注意的是,要确保所有依赖库已安装,并正确配置用户权限和环境变量。 4、GoldenGate同步基本配置 GoldenGate的配置主要包括源数据库和...
你需要学会如何使用GGSCI来检查进程状态、查看错误日志、调整参数以及进行故障排除。 6. **故障恢复与数据一致性**:在数据复制过程中,可能会遇到各种问题,如网络中断、数据不一致等。理解如何处理这些问题,如...
Oracle GoldenGate 命令使用说明 Oracle GoldenGate 是一个功能强大且高效的数据集成工具,用于实时同步数据 zwischenOracle 数据库和其他数据存储系统。 GoldenGate 提供了多种命令行工具,用于管理和监控数据 ...
它还提供了基于日志的复制机制,与源数据库中的触发器和规则无关,对生产系统的影响较小。其自定义延时应用修改功能允许根据事务的大小和数量自动管理内存,进一步优化了系统性能。 在安装配置方面,GoldenGate提供...
例如,在企业并购过程中,可以使用GoldenGate实现实时数据迁移,减少停机时间,保障业务连续性。 总结,Oracle GoldenGate是企业级数据同步的重要工具,其实施涉及数据库配置、进程管理、数据转换等多个方面。理解...
在IT领域,Oracle GoldenGate作为一款高性能的数据复制与集成解决方案,其重要性不容小觑。本文将基于“Oracle GoldenGate Case Study”的标题和描述,深入探讨GoldenGate如何解决异构数据库整合难题,以及它在现代...
1. **监控工具**:使用ggsci命令行工具或GGSINFO命令查看进程状态。 2. **错误处理**:分析日志文件,解决数据复制过程中遇到的问题。 3. **性能优化**:根据实际负载调整参数,提高数据复制效率。 4. **备份与恢复*...
使用 `ggsci` 命令行工具可以检查 GoldenGate 的运行状态。输入 `info all` 命令将显示所有进程的状态,包括进程名称、状态、组名、检查点的滞后时间以及自上次检查点以来的时间。在描述中,`EXTZJK` 是抽取进程,`...