• [转]Oracle GoldenGate安装配置


     ref:http://blog.sina.com.cn/s/blog_5d29418d0101cvyx.html

    1 简介

    Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,Oracle Golden Gate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构

    2 GoldenGate安装

    2.1 GoldenGate的获取

    Oracle GoldenGate(下文简称ogg软件可以通过ORACLE官方网站进行下载根据ORACLE的版本及操作系统来下载对应版本的ogg官方下载地址

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

    2.2 GoldenGate的安装

    ogg安装非常简单,但需在源数据库和目标数据库服务器上均安装ogg软件即可,具体请参考以下步骤:

    1、 将压缩包解压到系统目录/oracle/ogg (该路径可以根据需要自行选择)

    2、 进入/oracle/ogg目录,运行./ggsci,进入ogg管理控制台

    3、 ogg控制台输入命令: create subdirs ,让ogg创建其需要用到的目录

    4、 手工在ogg目录下创建discard文件夹,mkdir discard

    5、 配置操作系统环境变量(请确保环境变量配置了ORACLE_HOMEORACLE_SID

    export LD_LIBRARY_PATH=/oradata/ogg:$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    6、 ORACLE中创建ogg专属用户

    [oracle@local ~]$ sqlplus /nolog

    SQL> conn / as sysdba

    SQL> create user ogg identified by ogg; (注:账号密码根据实际情况设置)

    SQL> grant connect,resource to ogg;

    SQL> grant unlimited tablespace to ogg;

    SQL> grant execute on utl_file to ogg;

    7、 为新创建的ogg用户执行配置脚本

    ogg的安装目录下登陆sqlplus,使用sys登陆sqlplus,然后执行如下配置

    [oracle@local ~]$ sqlplus /nolog

    SQL> conn / as sysdba

    SQL> @marker_setup.sql

    SQL> @ddl_setup.sql;

    SQL> @role_setup.sql;

    SQL> grant GGS_GGSUSER_ROLE to ogg;

    SQL> @ddl_enable.sql;

    进入ogg控制台,测试用户是否创建成功

    GGSCI (local) 1> dblogin userid ogg

    Password: ogg

    Successfully logged into database.

    通过上述步骤,ogg就安装成功了。

    3 单项复制的配置

    为了能让ogg成功的将源数据库及目标数据库进行同步,下面还需要对oggoracle进行一系列配置(ogg支持多种复制方式,比如单项复制、双向复制等等,因实际需要,本文仅介绍单项复制相关配置)。

    首先说说ogg的一些概念:

    1、 Managerogg所有服务必须依赖ManagerManger如同ogg的总调度。

    2、 Extract ogg用来获取源数据库数据更新的,将变更的数据发送到目标数据库

    3、 Replicat ogg用来接收源数据库的更新,一旦源数据库Extract将数据发送过来后,Replicat会自动将更新脚本同步到目标数据库。

    3.1 源服务器配置

    1、开启ORACLE归档模式,设置日志模式

    [oracle@local ~]$ sqlplus /nolog

    SQL> conn / as sysdba

    SQL> shutdown immediate;

    SQL> startup mount;

    SQL> alter database archivelog;

    SQL> alter database force logging;

    SQL> alter database add supplemental log data;

    SQL> alter database open;

    2、 回收站功能会影响同步,需要关闭回收站

    SQL>alter session set recyclebin=off;

    SQL>alter system set recyclebin=off;

    3、配置环境变量NLS_LANG(不配置中文同步会乱码)

    首先在oracle中查询select userenv( 'language') from dual;

    然后将查询的结果配置到linux环境变量中

    export NLS_LANG=” SIMPLIFIED CHINESE_CHINA.ZHS16GBK”

    4、登陆ogg控制台,设置需要进行同步的oracle

    GGSCI (local) 1> dblogin userid ogg

    GGSCI (local) 1> add trandata dbuser.*

    5、配置ogg manager&启动manager(配置界面操作类似vi

    GGSCI (local) 1> edit param mgr

    PORT 7809

    GGSCI (local) 1> info all(查看当前mgr状态)

    GGSCI (local) 1> start manager(启动manager,启动完后可以用info all再次查看状态)

    6、 添加一个ogg extract进程,用于抽取源服务器数据

    GGSCI (local) 1> add extract ext4,tranlog,begin now (增加一个抽取进程ext4ext4名字可以根据需要修改)

    GGSCI (local) 1> add exttrail /oracle/ogg/dirdat/wf,extract ext4 (ext4抽取的源数据变更数据写到该文件夹)

    GGSCI (local) 1> edit params ext4 (修改ext4的配置参数)

    extract ext4

    userid ogg,password ogg

    rmthost xxxx.xxx.xxx.xxx,mgrport 7809 --目标服务器ip

    rmttrail /oracle/ogg/dirdat/wf --目标服务器文件夹

    ddl include mapped objname dbuser.*;

    table dbuser.*;

    配置完成后可以通过info all查看到新添加的extract的状态

    7、启动ogg extract命令

    GGSCI (local) 1> start extract ext4 (等目标服务器ogg配置成功后再启动ext)

    3.2 目标服务器配置

    1、登陆ogg控制台

    GGSCI (local) 1> dblogin userid ogg

    2、配置ogg manager&启动manager(配置界面操作类似vi

    GGSCI (local) 1> edit param mgr

    PORT 7809

    DYNAMICPORTLIST 7840-7850 --远程队列端口范围

    GGSCI (local) 1> info all(查看当前mgr状态)

    3、 添加一个ogg replicat进程,用于更新目标服务器数据

    GGSCI (local) 1> edit params ./GLOBAL

    GSSCHEMA ogg

    CHECKPOINTTABLE ogg.checkpoint

    GGSCI (local) 2> dblogin userid ogg

    Password: ogg

    Successfully logged into database.

    GGSCI (local) 3> add checkpointtable ogg.checkpoint

    Successfully created checkpoint table ogg.CHECKPOINT.---(备注:在目标端添加checkpoint表)

    GGSCI (local) 4> ADD replicat rep2 EXTTRAIL /hom/wangfan/ggs/dirdat/wf, checkpointtable ogg.checkpoint

    GGSCI (local) 5> edit param rep2

    --Replicat group --

    replicat rep2

    --source and target definitions

    ASSUMETARGETDEFS

    --target database login --

    userid ogg, password ogg

    --file for dicarded transaction --

    discardfile /oracle/ogg/discard/rep2_discard.txt, append, megabytes 10

    --ddl support DDL

    DDL INCLUDE MAPPED

    DDLERROR DEFAULT IGNORE RETRYOP

    --Specify table mapping ---

    map dbuser.*, target dbuser.*;

    配置完成后可以通过info all查看到新添加的extract的状态

    4、启动ogg manager & replicat命令

    GGSCI (local) 1> start manager

    GGSCI (local) 1> start replicat rep2

    最后参考源服务器配置,启动ext4

    4 维护相关

    4.1 OGG常用命令

    1、 启动managerstart manager

    2、 启动extractstart extract extn

    3、 启动replicatstart replicat repn

    4、 停止managerstop manager

    5、 停止 extractstop extract extn

    6、 停止replicatstop replicat repn

    7、 删除extractdelete extract extn

    8、 删除replicatdelete extract repn

    9、 查看ogg状态:info all

    10、 修改manager参数:edit params mgr

    11、 修改extract参数:edit params extn

    12、 修改replicat参数:edit params repn

    13、 修改全局参数:edit params ./GLOBAL

    4.2 OGG日志路径

    $OGG_HOME/ggserr.log

    4.3 OGG开机自启

    操作系统设置:

          1、用oracle用户建立/oracle/ogg/autostart/info.txt,文件内容如下:

        sh dat

        start mgr

          2chmod x info.txt

          3、用oracle用户建立/oracle/ogg/autostart/startmgr.sh,文件内如下:

            /oracle/ogg/ggsci paramfile /oracle/ogg/autostart/info.txt >> /oracle/ogg/autostart/log.txt

          4chmod x startmgr.sh

          5、用root用户编辑 /etc/rc.local ,添加如下信息:

          su - oracle -c "/oracle/ogg/autostart/startmgr.sh"

    OGG设置:

    ogg中主进程是manager进程,使用startmgr启动。可以在mgr进程中添加一些参数用来在启动mgr进程的同时启动extractreplicat进程。

        1、以下是extract端的mgr参数配置

    GGSCI (gg01) 130> edit params mgr

    PORT 7809

    DYNAMICPORTLIST 7800-7909

    --启动mgr进程启动启动extract进程

    AUTOSTART EXTRACT *

    --extract异常终止时会自动启动,5分钟尝试重新启动所有的extract进程,一共尝试3,5分钟清零

    AUTORESTART EXTRACT *,RETRIES 3, WAITMINUTES 5, RESETMINUTES 10

     

      2、配置目标端replicat进程自启动,mgr参数中添加如下

    GGSCI (gg02) 140> edit params mgr

    PORT 7809

    --动态端口,当指定端口不可用时,会从以下列表中选择一个可用端口

    DYNAMICPORTLIST 7800-7909

    --自动启动replicat进程

    AUTOSTART REPLICAT *

    --replicat进程异常终止时会自动启动,5分钟尝试重新启动所有的replicat进程,一共尝试5

    AUTORESTART REPLICAT *, WAITMINUTES 2, RETRIES 5

    --mgr每隔1小时检查extract延时情况,5分钟作为信息记录log,超过7分钟作为警告记录log

    LAGREPORTHOURS 1

    LAGINFOMINUTES 5

    LAGCRITICALMINUTES 7

    --删除10天前的trail文件

    PURGEOLDEXTRACTS /oracle/ogg/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 10

  • 相关阅读:
    使用QOAuth来进行新浪/腾讯微博验证(二)
    很不错的Utility库,C#4扩展 各种功能齐全,两行代码搞定图片转字符
    使用QOAuth来进行新浪/腾讯微博验证(一)
    可怜的小猪&香农熵
    消息队列MQ如何保证消息不丢失
    40 亿个 QQ 号码如何去重,bitmap去重
    参数的设置
    自动化测试的十个要点
    LR学习中的一个低级错误
    Windows下用CMake编译libuv
  • 原文地址:https://www.cnblogs.com/pompeii2008/p/5610122.html
Copyright © 2020-2023  润新知