OGG11.2.0.1安装与实验

OGG安装与配置实验

环境:

操作系统RHEL6.5x64

Oracle版本: 11.2.0.4

OGG版本:11.2.0.1 for linux-x64

 

ogg1(源端):

         数据库实例已经安装完成。

         oracle_sid:zytk35

ogg2(目标端):

         只安装了数据库软件

         oracle_sid:zytk35

 

环境变量:添加红色部分

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1

export ORACLE_SID=zytk

export LANG=en_US

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=/u01/app/ogg:$OR:$ORACLE_HOME/lib:/lib:/usr/lib

export EDITOR=/usr/bin/vim

export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

1、安装OGG软件

下载ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip软件,并传送到服务器上

unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /u01/app/ogg

 

创建OGG的管理目录

GGSCI (ogg1.localdomain) 1> create subdirs

dirprm 存放OGG参数各的配置信息

dirrpt 存放进程报告文件

dirchk 存放检查点文件

dirpcs 存放进程状态文件

dirsql 存放SQL脚本文件

dirdef 存放DEFGEN工具生成的数据定义文件

2、源端配置(ogg1)

2.1 创建ogg用户

[oracle@ogg1 ogg]$ sqlplus / as sysdba

SQL> create tablespace tbsgg datafile '/OracleData/zytk/tbsgg01.dbf' size 10M autoextend on next 10M;

SQL> create user ogg identified by ogg default tablespace tbsgg;

SQL> grant dba to ogg;

2.2 打开附加日志

[oracle@ogg1 ogg]$ sqlplus / as sysdba

SQL> alter database force logging;

SQL> alter database add supplemental log data;

 

SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;

LOG_MODE         SUPPLEMENTAL_LOG FORCE_

------------------------ ---------------- ------

ARCHIVELOG                YES                YES

 

SQL> alter system set  enable_goldengate_replication=true scope=both; --(源端即可)

SQL> alter system switch logfile;

2.3 源端数据库配置

 

[oracle@ogg1 ~]$ cd /u01/app/ogg

[oracle@ogg1 ogg]$ sqlplus / as sysdba

SQL> alter system set recyclebin=off deferred scope=both;   ----10G DDL支持需要关闭,11.2版本貌似可以不关闭

SQL> @sequence.sql                              ----根据提示输入ogg用户

SQL> @marker_setup.sql    prompt: ogg

SQL> @ddl_setup.sql      prompt: ogg

SQL> GRANT GGS_GGSUSER_ROLE TO ogg;  

-----实验中碰到ORA-04098: trigger 'SYS.GGS_DDL_TRIGGER_BEFORE' is invalid and failed错误,把该触发器删除,赋予创建表和序列权限,重新执行上面几步解决。

SQL> @ddl_enable.sql

SQL> @?/rdbms/admin/dbmspool.sql

SQL> @ddl_pin ogg;

 

2.4 源端OGG配置

2.4.1全局

GGSCI (ogg1.localdomain) 3> edit params ./GLOBALS

ggschema ogg

 

2.4.2 配置MGR进程

GGSCI (ogg1.localdomain) 4> edit param mgr

PORT 7809

DYNAMICPORTLIST 7840-7914

AUTOSTART ER *

AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 60

USERID ogg, PASSWORD ogg

PURGEOLDEXTRACTS  /u01/app/ogg/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7

LAGREPORTHOURS 1

LAGINFOMINUTES 3

LAGCRITICALMINUTES 5

 

MANAGER进程参数配置说明:

PORT:指定服务监听端口;这里以7809为例,默认端口为7809

DYNAMICPORTLIST:动态端口:可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口;

COMMENT:注释行,也可以用--来代替;

AUTOSTART:指定在管理进程启动时自动启动哪些进程;

AUTORESTART:自动重启参数设置:本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;

PURGEOLDEXTRACTS:定期清理trail文件设置:本处设置表示对于超过3天的trail文件进行删除。

LAGREPORT、LAGINFO、LAGCRITICAL:

定义数据延迟的预警机制:本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。

 

2.4.3配置抽取进程

GGSCI (ogg1.localdomain) 8> edit params ext1

EXTRACT ext1

dynamicresolution

--SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

--SETENV (ORACLE_HOME = '/u01/app/oracle/product/11.2.0.4/dbhome_1')

--SETENV (ORACLE_SID = 'zytk')

USERID ogg, PASSWORD ogg

DDL INCLUDE ALL                        --捕获DDL

EXTTRAIL ./dirdat/lt

TABLE scott.*;

GGSCI (ogg1.localdomain) 1> add extract ext1,tranlog,begin now

GGSCI (ogg1.localdomain) 1>add exttrail ./dirdat/lt,extract ext1

 

 

 

EXTRACT的模板可以是

EXTRACT extmb

setenv (NLS_LANG = "AMERICAN_AMERICA.UTF8")

SETENV (ORACLE_HOME = "/u01/oracle/product/11.2.0/db_1")

SETENV (ORACLE_SID = "orcl")

USERID ggs, PASSWORD ggs

--GETTRUNCATES

REPORTCOUNT EVERY 1 MINUTES, RATE

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

--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000

DBOPTIONS ALLOWUNUSEDCOLUMN

WARNLONGTRANS 2h,CHECKINTERVAL 3m

EXTTRAIL ./dirdat/mb

--TRANLOGOPTIONS EXCLUDEUSER USERNAME

FETCHOPTIONS NOUSESNAPSHOT

TRANLOGOPTIONS CONVERTUCS2CLOBS

TABLE hr.emp;

 

SETENV:配置系统环境变量

USERID/ PASSWORD: 指定OGG连接数据库的用户名和密码,这里使用3.4部分中创建的数据库用户OGG;

COMMENT:注释行,也可以用--来代替;

TABLE:定义需复制的表,后面需以;结尾

TABLEEXCLUDE:定义需要排除的表,如果在TABLE参数中使用了通配符,可以使用该参数指定排除掉得表。

GETUPDATEAFTERS|IGNOREUPDATEAFTERS:是否在队列中写入后影像,缺省复制

GETUPDATEBEFORES| IGNOREUPDATEBEFORES:是否在队列中写入前影像,缺省不复制

GETUPDATES|IGNOREUPDATES:是否复制UPDATE操作,缺省复制

GETDELETES|IGNOREDELETES:是否复制DELETE操作,缺省复制

GETINSERTS|IGNOREINSERTS:是否复制INSERT操作,缺省复制

GETTRUNCATES|IGNORETRUNDATES:是否复制TRUNCATE操作,缺省不复制;

 

2.4.4 配置投递进程

GGSCI (ogg1.localdomain) 3> edit params extdp1

EXTRACT extdp1

passthru

dynamicresolution

userid ggs,password ggs

rmthost 192.168.10.101,mgrport 7809

rmttrail /u01/app/ogg/dirdat/xs

table scott.*;

GGSCI (ogg1.localdomain) 4> add extract extdp1,exttrailsource /u01/app/ogg/dirdat/lt

GGSCI (ogg1.localdomain) 5> add rmttrail /u01/app/ogg/dirdat/rt,extract extdp1

 

 

datapump的模板

 

EXTRACT pushmb

SETENV (NLS_LANG = "AMERICAN_AMERICA.UTF8")

USERID ggs, PASSWORD ggs

PASSTHRU

RMTHOST 192.168.0.165, MGRPORT 7809, compress

RMTTRAIL /u01/ogg/11.2/dirdat/xs

TABLE hr.ah4;

 

RMTHOST:指定目标系统及其Goldengate Manager进程的端口号,还用于定义是否使用压缩进行传输,本例中的compress为压缩传输;

RMTTRAIL:指定写入到目标断的哪个队列;

EXTTRAIL:指定写入到本地的哪个队列;

SQLEXEC:在extract进程运行时首先运行一个SQL语句;

PASSTHRU:禁止extract进程与数据库交互,适用于Data Pump传输进程;

REPORT:定义自动定时报告;

STATOPTIONS:定义每次使用stat时统计数字是否需要重置;

REPORTCOUNT:报告已经处理的记录条数统计数字;

TLTRACE:打开对于数据库日志的跟踪日志;

DISCARDFILE:定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;

DBOPTIONS:指定对于某种特定数据库所需要的特殊参数;

TRANLOGOPTIONS:指定在解析数据库日志时所需要的特殊参数,例如:对于裸设备,可能需要加入以下参数 rawdeviceoggset 0

WARNLONGTRANS:指定对于超过一定时间的长交易可以在gsserr.log里面写入警告信息,本处配置为每隔3分钟检查一次场交易,对于超过2小时的进行警告;

 

2.4.5 配置define(此实验不需要)

异构环境,需要配置define,已确定不同数据库中间的映射关系

define生成的文件需要拷贝到目标端相应位置。

2.4.6 启动mgr进程

GGSCI (ogg1.localdomain) 5> start mgr

mgr启动后,按照配置的参数会把ext1、extdp1也启动

 

GGSCI (ogg1.localdomain) 6> info all      ----查看进程状态

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          

EXTRACT     RUNNING     EXT1        00:00:00      00:00:00   

EXTRACT     ABENDED     EXTDP1      00:00:00      00:26:31

 

extdp1一开始会启动,但由于目标端未配置,启动后会ABENDED    

GGSCI (ogg1.localdomain) 7> view report extdp1  ----查看日志可以看到

2015-11-22 21:35:39  ERROR   OGG-01224  TCP/IP error 111 (Connection refused); retries exceeded.  这个错误。。。

 

GGSCI (ogg1.localdomain) 1> view report ext1   ---查看ext1进程,可以看到从该scn开始捕获日志

2015-11-22 21:28:34  INFO    OGG-01517  Position of first record processed Sequence 18, RBA 36033040, SCN 0.1153121, Nov 22, 2015 9:02:22 PM. 

 

----个人猜测1153121此为scn号,目标库在rman还原时还原到该点。

 

3、目标端配置

3.1 目标端数据库环境搭建

本次实验使用的rman备份还原的方式来实现

先根据rman备份还原到1153121节点

RMAN> recover database until scn 1153121;

RMAN> alter database open resetlogs;

 

由于是rman还原,ogg用户、附加日志等主库已经配置好,此不需要从新配置

 

 

3.1 目标端OGG配置

GGSCI (ogg2.localdomain) 6> edit params ./GLOBALS

CHECKPOINTTABLE ogg.checkpoint

然后退出ggsci,从新进入

GGSCI (ogg2.localdomain) 1> dblogin userid ogg, password ogg

GGSCI (ogg2.localdomain) 2>  add checkpointtable

 

GGSCI (ogg2.localdomain) 3> edit params rep1

REPLICAT rep1

USERID ogg, PASSWORD ogg

dynamicresolution

HANDLECOLLISIONS

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/RORATT.DSC, PURGE

MAP scott.*, TARGET scott.*;

add replicat rep1 integrated exttrail ./dirdat/rt , checkpointtable ogg.checkpoint

 

 

 

 

 

 

 

 

你可能感兴趣的:(OGG)