Oracle

Oracle GoldenGate备份软件

日期:2015/6/28来源: IT猫扑网

  一、前言

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

  同时,GoldenGate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构

  二、环境要求

  1. 支持的平台

  支持的oracle Database 版本

  在当前的Oracle GoldenGate 10.4版本中,支持如下Oracle Database版本

  Oracle 8i (DML support only)

  Oracle 9.1 and 9.2 (DML and DDL support)

  Oracle 10.1 and 10.2 (DML and DDL support)

  Oracle 11g (DML and DDL support)

  支持的操作系统平台

  几乎所有主流的操作系统,GoldenGate都支持

  Windows 2000, 2003, XP,Linux,Sun Solaris,HP NonStop,HP-UX

  2.  操作系统需求

  (1)内存要求

  GoldenGate对操作系统内存的需求主要取决于Extract和Replicat进程数,一般建议>2G。

  (2)DISK空间需求

  由于要数据库必须设置为归档模式,所以要求至少保存7天以上的日志,建议剩余空间在10G~100G之间。

  (3)对于RAC环境

  GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数。否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到GoldenGate运行节点。

  对于RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RAC node和运行extract进程的node节点保持时钟同步。因为GoldenGate会比较本地的系统时间和commit的时间戳。所以不能忽略这个设置。否则可能导致数据复制的紊乱。

  3.   数据库需求

  (1)数据库客户端

  GoldenGate需要安装full Oracle client,以便于GoldenGate程序访问Oracle XDK libraries。

  (2)数据库用户

  建议使用sys或任何其他具有sysdba/sysasm权限的用户。

  (3)数据库配置

  对于Source Oracle Database要求,数据库处于归档模式下,打开补充日志,打开force logging

  分别配置连接源数据库和目标数据库的主机字符串

  建立一个专门的用户如Goldengate来负责将所需的数据同步到远端,而不是用已有的业务用户

  这个用户需要哪些权限呢?

  Create user goldengate identified by goldengate  default tablespace users temporary tablespace temp quota unlimited on users ;

  GRANT CONNECT TO goldengate;

  GRANT ALTER ANY TABLE TO goldengate;

  GRANT ALTER SESSION TO goldengate;

  GRANT CREATE SESSION TO goldengate;

  GRANT FlashBACK ANY TABLE TO goldengate;

  GRANT SELECT ANY DICTIONARY TO goldengate;

  GRANT SELECT ANY TABLE TO goldengate;

  GRANT RESOURCE TO goldengate;

  GRANT drop ANY TABLE TO goldengate;

  GRANT DBA TO goldengate;

  注*

  补充日志是否打开查询语句:

  select supplemental_log_data_min from v$database;

  打开补充日志语句:

  alter database add supplemental log data;

  打开force logging语句:

  alter database force logging;

  四、配置Golengate

  1. 安装goldengate 软件

  进入到GoldenGate的安装目录.

  c:\gss1\GGSCI

  In GGSCI, issue the following command to create the GoldenGate working directories.

  GGSCI> CREATE SUBDIRS

  Issue the following command to exit GGSCI.

  EXIT

  2. 配置进程

  第一步: 在源数据库和目标数据库分别配置管理进程mgr

  GGSCI> edit params mgr

  port 7809

  (保存退出)

  GGSCI> start mgr

  Manager started.

  GGSCI> info all

  ProgramStatus  Group  Lag  ime Since Chkpt

  MANAGER  RUNNING

  (可以正常启动)

  第二步:源数据库增加两个进程

  *.一般源数据库需要应配置两个进程,一个负责抽取数据(ZLE_01),另一个负责投递数据(ZLE_02),默认只支持DML,如果要支持DDL需要执行一些单独的配置。

  GGSCI> add extract <group name>, TRANLOG, BEGIN NOW, THREADS <thread number>

  其中group name表示这个Extract group的名字

  TRANLOG 表示使用事务日志的方式

  BEGIN NOW 表示从现在开始,你也可以指定一个具体的开始时间

  THREADS 表示从哪个instance上运行,只对RAC环境有用,单机环境比需要指定该Option

  (1) 配置抽取进程

  我这里是单机环境,extract group name定义为zle_01

  GGSCI > DBLOGIN USERID goldengate@orcl1, PASSword goldengate

  GGSCI > add extract ZLE_01, tranlog,begin now

  EXTRACT added.

  GGSCI > add RMTTRAIL ./dirdat/ra, extract  zle_01,  megabytes 50

  查看一下刚才定义的这个extract process的结果

  GGSCI > info extract zle_01

  EXTRACT    ZLE_01    Initialized   2010-01-19 11:50   Status STOPPED

  Checkpoint Lag 00:00:00 (updated 00:00:22 ago)

  Log Read Checkpoint  Oracle Redo Logs

  2010-01-19 11:50:39  Seqno 0, RBA 0

  补充一个命令: info extract zle_01, showch 看的更详细

  为该抽取Extract进程配置参数文件,在源数据库执行如下命令

  GGSCI> edit param zle_01

  增加如下内容

  EXTRACT ZLE_01

  SETENV (ORACLE_SID=ORCL)

  USERID goldengate@ORCL1, PASSWORD goldengate

  RMTHOST 192.168.8.1, MGRPORT 9001

  RMTTRAIL ./dirdat/ra

  TABLE ZLHIS.TEST;

  RMTTRAIL告诉extract process需要将trail文件写到哪里

  TABLE部分说明我这个Extract 进程只处理ZLHIS用户下的TEST表

  好了,到这里就可以启动上面定义的Capture 进程了,执行如下命令

  GGSCI> start extract zle_01

  Sending START request to MANAGER ('mgr') ...

  EXTRACT ZLE_01 starting

  GGSCI>

  Verify the results:

  GGSCI> info EXTRACT ZLE_01, DETAIL

  GGSCI> view REPORT ZLE_01

  GGSCI> info extract ZLE_01

  好了,到这里就完成了一个最简单的抽取Extract process的配置并启动,下面来配置投递Extract process进程。

  (2) 配置投递进程

  在Source系统执行如下命令

  GGSCI> ADD EXTRACT ZLE_02, EXTTRAILSOURCE ./dirdat/ra, BEGIN now

  GGSCI> ADD RMTTRAIL ./dirdat/la, EXTRACT ZLE_02

  *(./dirdat/la为远端接收目录,必须存在)

  GGSCI> edit params zle_02

  添加内容如下:

  extract ZLE_02

  dynamicresolution

  PASSTHRU

  rmthost 192.168.8.2, mgrport 9001, compress

  rmttrail  ./dirdat/la

  numfiles 3000

  TABLE ZLHIS.TEST ;

  GGSCI> start extract zle_02

  Sending START request to MANAGER ('mgr') ...

  EXTRACT ZLE_02 starting

  查看下状态:

  GGSCI> info all

  Program     Status      Group Lag     Time Since Chkpt

  MANAGER     RUNNING

  EXTRACT     RUNNING     ZLE_01     00:00:00      00:00:05

  EXTRACT     RUNNING     ZLE_02     00:00:00      00:00:07

  (3) 配置接收进程

  在目标系统(Target system)上执行如下命令增加一个复制组(Replicat Group)

相关文章

相关下载

网友评论

我要评论...
    没有更早的评论了
    取消