ITPub博客

首页 > 数据库 > Oracle > OGG基础

OGG基础

原创 Oracle 作者:jelephant 时间:2014-02-07 10:35:27 0 删除 编辑

GoldenGate技术架构图


 

从图中可以看到:GoldenGate主要包含Manager进程、Extract进程、Pump进程、Replicat进程,下面对其一一说明:

Manager进程是GoldenGate的控制进程,它主要作用有以下几个方面:启动、监控、重启GoldenGate的其他进程,报告错误及时间,分配数据存储空间,发布阀值报告等。

Extract进程运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重启Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。

Pump进程运行在数据库源端,其作用非常简单。如果源端使用了本地trail文件,那么Pump进程就会把Trail文件以数据块的形式通过TCP/IP协议发送到目标端,我们下面的配置都是这种方式。Pump进程本质是Extract进程的一种特殊形式,如果不使用Trail文件,那么Extract进程在抽取完数据后,直接投递到目标端。

与Pump进程相对应的叫Server Collector进程,这个进程不需要引起我们关注,因为在实际操作过程中无需对其进行任何配置,它运行在目标端,任务就是把Extract/Pump进程投递过来的数据块重新组装成Trail文件。

Replicat进程运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML或DDL语句,然后应用到目标数据库中。

 

RAC到单机复制的配置

 

源端安装

GoldenGate安装目录(OCFS2目录/ggate)解压安装文件

unzip ogg112101_fbo_ggs_Linux_x64_ora10g_64bit.zip

tar xvf fbo_ggs_Linux_x64_ora10g_64bit.tar

 

设置环境变量

在用户参数文件中添加以下内容:

export GGATE_HOME=/ggate

export LD_LIBRARY_PATH=$GGATE_HOME:$ORACLE_HOME/lib

注意:添加后需使参数文件生效

 

安装GoldenGate

进入OGG控制台创建OGG工作目录

然后在安装目录下执行 ./ggsci  进入OGG控制台

执行命令 create subdirs创建工作目录,显示如下:

GGSCI (node1) 1> create subdirs

 

Creating subdirectories under current directory /ggate

 

Parameter files                /ggate/dirprm: already exists

Report files                   /ggate/dirrpt: created

Checkpoint files               /ggate/dirchk: created

Process status files             /ggate/dirpcs: created

SQL script files               /ggate/dirsql: created

Database definitions files       /ggate/dirdef: created

Extract data files              /ggate/dirdat: created

Temporary files               /ggate/dirtmp: created

Stdout files                   /ggate/dirout: created

 

目标端安装

 

参考源端安装

 

配置源端数据库

 

数据库模式配置

源端数据库必须开启归档模式

Alter database archivelog;

开启最小附加日志

Alter database add supplemental log data;

使用SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;

可查看是否开启了最小附加日志;

 

源端数据库创建GoldenGate数据库用户并授权:(我们这里以ogg为例,使用其他亦可)

create user ogg identified by oracle default tablespace DATA_OL;

grant connect,resource,unlimited tablespace to ogg;

grant execute on utl_file to ogg;

grant select any dictionary,select any table to ogg;

grant alter any table to ogg;

grant flashback any table to ogg;

grant execute on DBMS_FLASHBACK to ogg;

添加表级transdata

GGSCI (node1) 1> dblogin userid ogg,password oracle

Successfully logged into database.

GGSCI (node1) 2> add trandata SCOTT.DEPT

Logging of supplemental redo data enabled for table SCOTT.DEPT.

GGSCI (node1) 3> add trandata SCOTT.EMP

Logging of supplemental redo data enabled for table SCOTT.EMP. 

 

配置源端进程组

 

配置管理进程mgr

GGSCI (node1) 1> edit param mgr

(粘贴下面这段配置)

PORT 7839

DYNAMICPORTLIST 7840-7939

--AUTOSTART ER *

AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3

PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

 

启动管理进程:

GGSCI (node1) 2> start mgr

Manager started.

GGSCI (node1) 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

 

配置抽取进程:

GGSCI (node1) 6> add extract extnd,tranlog,begin now,threads 2

EXTRACT added.

GGSCI (node1) 7> add exttrail ./dirdat/nd,extract extnd,megabytes 100

EXTTRAIL added.

GGSCI (node1) 8> edit params extnd

(粘贴下面这段配置)

EXTRACT extnd

SETENV (NLS_LANG = "AMERICAN_AMERICA.UTF8")

SETENV (ORACLE_HOME = "/u01/app/oracle/product/10.2.0/db_1")

USERID ogg@RAC, PASSWORD oracle

--GETTRUNCATES

REPORTCOUNT EVERY 1 MINUTES, RATE

DISCARDFILE ./dirrpt/extnd.dsc,APPEND,MEGABYTES 1024

--THREADOPTIONS  MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000

DBOPTIONS  ALLOWUNUSEDCOLUMN

WARNLONGTRANS 2h,CHECKINTERVAL 3m

EXTTRAIL ./dirdat/nd

--TRANLOGOPTIONS EXCLUDEUSER USERNAME

FETCHOPTIONS NOUSESNAPSHOT

TRANLOGOPTIONS  CONVERTUCS2CLOBS

TABLE scott.dept;

TABLE scott.emp; 

 

注意:threadsRAC节点数相同即可,RAC中不再使用ORACLE_SID设置,而使用USERID ogg@RAC,注意两个节点均可连接数据库。

 

添加传输进程,配置参数

GGSCI (node1) 2> add extract dpend,exttrailsource ./dirdat/nd

EXTRACT added.

GGSCI (node1) 3> add rmttrail /uo1/app/ogg/dirdat/nd, EXTRACT DPEND

RMTTRAIL added.

GGSCI (node1) 4> edit params dpend

(粘贴下面这段配置)

EXTRACT dpend

SETENV (NLS_LANG = AMERICAN_AMERICA.UTF8)

USERID ogg@RAC, PASSWORD oracle

PASSTHRU

RMTHOST 10.123.112.235, MGRPORT 7839, compress

RMTTRAIL /uo1/app/ogg/dirdat/nd

TABLE scott.dept;

TABLE scott.emp; 

 

配置目标数据库

 

目标库创建GoldenGate数据库用户并授权:

create user ogg identified by oracle default tablespace USERS;

grant connect,resource,unlimited tablespace to ogg;

grant execute on utl_file to ogg;

grant select any dictionary,select any table to ogg;

grant alter any table to ogg;

grant flashback any table to ogg;

grant execute on DBMS_FLASHBACK to ogg;

grant insert any table to ogg;

grant delete any table to ogg;

grant update any table to ogg;

 

添加checkpoint

GGSCI (sun.linux) 2> edit params GLOBALS

 

然后在参数文件中输入

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

 

GGSCI (sun.linux) 4> dblogin userid ogg,password oracle

Successfully logged into database.

 

GGSCI (sun.linux) 5> add checkpointtable ogg.checkpoint

 

Successfully created checkpoint table ogg.checkpoint.

 

配置目标进程组

 

配置MGR参数

GGSCI (sun.linux) 6> edit params mgr

(粘贴下面这段配置)

PORT 7839

DYNAMICPORTLIST 7840-7939

--AUTOSTART ER *

AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3

PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

 

配置复制队列

GGSCI (sun.linux)8> add replicat repnd,exttrail /uo1/app/ogg/dirdat/nd,checkpointtable ogg.checkpoint

REPLICAT added.

 

GGSCI (sun.linux) 10> edit params repnd

(粘贴下面这段配置)

REPLICAT repnd

SETENV (NLS_LANG = AMERICAN_AMERICA.UTF8)

USERID ogg, PASSWORD oracle

ASSUMETARGETDEFS

REPERROR default,discard

discardfile ./dirrpt/repnd.dsc,append,megabytes 50

map scott.*,target pmsbi.*; 

 

启动源端进程组

 

启动抽取进程和传输进程:

start extnd

start dpend

启动后使用info all查看进程状态,正常status应该RUNNING,显示如下:

GGSCI (node1) 19> info all

 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 

MANAGER     RUNNING                                           

EXTRACT     RUNNING     DPEND       00:00:00      00:00:09    

EXTRACT     RUNNING     EXTND       00:00:00      00:00:04 

 

启动目标端进程

 

start repnd

显示如下:

GGSCI (sun.linux) 2> info all

 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

 

MANAGER     RUNNING                                           

REPLICAT    RUNNING     REPND       00:00:00      00:00:03  

到此RAC到单点OGG的安装配置就完成了,可以进行数据同步测试了。

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29337971/viewspace-1077538/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-12-07

  • 博文量
    143
  • 访问量
    626707