Oracle GoldenGate软件可以实现异构平台数据的迁移和同步,它是基于数据库日志结构变化,通过解析源端在线日志或归档日志获得数据增量,再将这些变化应用到目标数据库,从而实现源库和目标库的数据同步。下面通过一个简单的示例,详细介绍利用GoldenGate实现Oracle数据库之间的同步。
1. 安装 1.1 下载介质 GoldenGate的安装介质可以从Oracle的官网上下载。
http://www.oracle.com/technetwork/middleware/goldengate/overview/index.html
1.2 配置GoldenGate用户 下载完成后将其拷贝到源和目标的数据库的相应位置解压完成后,即可以开始进行配置。 # su – oracle $ mkdir /u01/ogg $ cd /u01/ogg $ tar xvf ogg_for_oracle_linux_86.tar 注意,如果使用Oracle 11g的数据库,需要创建一个link文件。 $ ln -s /u01/app/oracle/product/11.2.0/db_1/lib/libnnz11.so – /u01/app/oracle/product/11.2.0/db_1/lib/libnnz10.so
配置环境变量 $ vi ~/.bash_profile 添加如下的内容: export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/ogg export GGATE=/u01/app/oracle/ogg
1.3 配置ogg的应用目录 使用ggsci工具,创建必要的目录。
$ cd /u01/app/oracle/ogg $ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle Version 11.1.1.0.0 Build 078 Linux, x86, 32bit (optimized), Oracle 10 on Jul 28 2015 10:20:18
Copyright (C) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
GGSCI (gridcontrol) 1> create subdirs
至此,GoldenGate基本的安装完成。 注意:此部分需要在源端和目标端完成。
2. 源数据库配置 GoldenGate主要通过抓取源端数据库重做日志进行分析,将获取的数据应用到目标端,实现数据同步。因此,为了让GoldenGate能够正常工作,源数据库需要进行一定配置。
2.1配置源数据库必须是 归档模式、附加日志、强制日志
2.2 关闭数据库的recyblebin SQL>alter system set recyclebin=off scope=spfile; 如果数据库是10g,需要关闭recyclebin并重启;或者手工purge recyclebin。
2.3 配置复制的DDL支持
2.4创建源端和目标端的测试用户
3. 配置manager 在源端和目标端分别执行下面的步骤。
3.1 源端创建manager [ogg@node1 gg]$ ./ggsci GGSCI (node1) 1> info all Program Status Group Lag Time Since Chkpt MANAGER STOPPED GGSCI (node1) 2> edit params mgr PORT 7809 GGSCI(node1) 3> start manager Manager started. 在目标端 [ogg@node2 gg]$ ./ggsci GGSCI (node2) 1> info all Program Status Group Lag Time Since Chkpt MANAGER STOPPED GGSCI (node2) 2> edit params mgr PORT 7809 GGSCI(node2) 3> start manager Manager started.
4. 配置源端复制队列 GGSCI (node1) 1> add extract ext1, tranlog, begin now EXTRACT added. GGSCI (node1) 2> add exttrail /u01/ogg/dirdat/lt, extract ext1 EXTTRAIL added.
GGSCI (node1) 3> edit params ext1 extract ext1 userid ogg@source, password ogg rmthost node1, mgrport 7809 rmttrail /u01/ogg/dirdat/lt ddl include mapped objname sender.*; table sender.*;
GGSCI (node1) 6> info all Program Status Group Lag Time Since Chkpt MANAGER STOPPED EXTRACT STOPPED EXT1 00:00:00 00:10:55
5. 配置目标端同步队列 5.1 在目标端添加checkpoint表 [oracle@node2 ogg]$ ./ggsci GGSCI (node2) 1> edit params ./GLOBAL –添加下列内容 GGSCHEMA ggate CHECKPOINTTABLE ggate.checkpoint GGSCI (node2) 2> dblogin userid ogg password ogg Successfully logged into database.
GGSCI (node2) 3> add checkpointtable ogg.checkpoint Successfully created checkpoint table GGATE.CHECKPOINT.
5.2 创建同步队列 GGSCI (node2) 4> add replicat rep1, exttrail /u01/ogg/dirdat/lt, checkpointtable ogg.checkpoint REPLICAT added. GGSCI (node2) 5> edit params rep1 replicat rep1 ASSUMETARGETDEFS userid ogg,password ogg discardfile /u01/ogg/dirdat/rep1_discard.txt, append, megabytes 10 DDL map ss.*, target rr.*;
6. 开启同步 –源端 GGSCI (node1) 14> start extract ext1 GGSCI (nod1) 15> info all Program Status Group Lag Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING EXT1 00:00:00 00:00:05 –目标端
GGSCI (node2) 7> start replicat rep1 GGSCI (node2) 8> info all Program Status Group Lag Time Since Chkpt MANAGER RUNNING REPLICAT RUNNING REP1 00:00:00 00:00:00
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29578568/viewspace-2137976/,如需转载,请注明出处,否则将追究法律责任。
主题测试文章,只做测试使用。发布者:布吉卡,转转请注明出处:http://www.cxybcw.com/195083.html