当前位置: 首页 > >

Oracle GoldenGate安装配置

发布时间:

Oracle GoldenGate软件基于数据库日志结构变化,通过解析源端在线日志或归档日志获得数据增量,再将这些变化应用到目标数据库,从而实现源库和目标库的数据同步。下面通过一个简单的示例,详细介绍利用GoldenGate实现Oracle数据库之间的同步。基本架构如下图所示:


?



1. 安装


1.1 下载介质


GoldenGate的安装介质可以从Oracle的官网上下载。



http://www.oracle.com/technetwork/middleware/goldengate/overview/index.html



1.2 配置GoldenGate用户


下载完成后将其拷贝到源和目标的相应位置解压完成后,即可以开始进行配置。



# useradd -g oinstall -G dba ggate


注意,如果使用Oracle 11g的数据库,需要创建一个link文件。



$ ln -s /u01/app/oracle/product/11.2.0/db_1/lib/libnnz11.so -

$ vi ~/.bash_profile


添加如下的内容:


export ORACLE_BASE=/u01/app/oracle


1.3 创建目录


使用ggsci工具,创建必要的目录。



$ cd /u01/app/oracle/ggate

Oracle GoldenGate Command Interpreter for Oracle

Copyright (C) 1995, 2010, Oracle and/or its affiliates. All rights reserved.


GGSCI (gridcontrol) 1> create subdirs



至此,GoldenGate基本的安装完成。


Note. 此部分需要在源端和目标端完成。


2. 源数据库配置


GoldenGate主要通过抓取源端数据库重做日志进行分析,将获取的数据应用到目标端,实现数据同步。因此,为了让GoldenGate能够正常工作,源数据库需要进行一定配置。


2.1 设置源库为归档模式



SQL> shutdown immediate


2.2 开启minimal supplemental logging



SQL> alter database add supplemental log data;


SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;


SUPPLEME


2.3 关闭数据库的recyblebin



SQL> alter system set recyclebin=off scope=spfile;



如果数据库是10g,需要关闭recyclebin并*簦换蛘呤止urge recyclebin。


2.4 配置复制的DDL支持



SQL> create user ggate identified by ggate default tablespace users temporary tablespace temp;

SQL> @$GGATE/marker_setup.sql;


2.5 创建源端和目标端的测试用户


source



SQL> create user sender identified by oracle default tablespace users temporary tablespace temp;


destination



SQL> create user receiver identified by oracle default tablespace users temporary tablespace temp;


3. 配置manager


在源端和目标端分别执行下面的步骤。


3.1 创建manager



[ggate@gridcontrol gg]$ ./ggsci


GGSCI (gridcontrol) 1> info all


Program???? Status????? Group?????? Lag?????????? Time Since Chkpt

GGSCI (gridcontrol) 2> edit params mgr


PORT 7809


ggate (gridcontrol) 3> start manager


Manager started.



4. 配置源端复制队列



GGSCI (gridcontrol) 1> add extract ext1, tranlog, begin now


EXTRACT added.


GGSCI (gridcontrol) 2> add exttrail /u01/app/oracle/ggate/dirdat/lt, extract ext1


EXTTRAIL added.


GGSCI (gridcontrol) 3> edit params ext1


extract ext1

GGSCI (gridcontrol) 6> info all


Program???? Status????? Group?????? Lag?????????? Time Since Chkpt


MANAGER???? STOPPED


5. 配置目标端同步队列


5.1 在目标端添加checkpoint表



[oracle@centos4 ggate]$ ./ggsci


GGSCI (centos4) 1> edit params ./GLOBAL?? ?添加下列内容


GGSCHEMA ggate

Successfully logged into database.


5.2 创建同步队列


GGSCI (centos4) 4> add replicat rep1, exttrail /u01/app/oracle/ggate/dirdat/lt, checkpointtable ggate.checkpoint

GGSCI (centos4) 5> edit params rep1


replicat rep1


6. 开启同步



GGSCI (gridcontrol) 14> start extract ext1


GGSCI (gridcontrol) 15> info all



GGSCI (centos4) 7> start replicat rep1


GGSCI (centos4) 8> info all


7. 验证结果


源端:



SQL> create table sender.test_tab_1 (id number,rnd_str varchar2(12));


目标端:



SQL> select * from receiver.test_tab_1;



友情链接: