ITPub博客

首页 > Linux操作系统 > Linux操作系统 > GoldenGate的基本配置流程

GoldenGate的基本配置流程

原创 Linux操作系统 作者:abstractcyj 时间:2013-07-10 10:56:54 0 删除 编辑
本例子也是参考其他前辈的文档整理而成。例子中包含了DDL的同步。
平台与环境
源端: 
   操作系统: Window 7 64bit. 需要设置环境变量 ORACLE_HOME, ORACLE_SID
   数据库: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  GoldenGate:  
      Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230
      Windows x64 (optimized), Oracle 11g on Apr 23 2012 04:55:02

目标端: 
  操作系统: Window 7 32bit. 需要设置环境变量 ORACLE_HOME, ORACLE_SID
   数据库: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 32bit Production
  GoldenGate: 
      Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230
      Windows, Oracle 11g on Apr 23 2012 04:55:02

必须确保源端数据库运行于归档日志模式:
打开归档日志模式:

SQL> archive log list

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open




打开force logging:
  SQL> select force_logging from v$database;

 

FOR

---

NO

 

SQL> alter database force logging;

 

Database altered.

 

SQL> select force_logging from v$database;

 

FOR

---

YES

 打开supplemental log

SQL> select supplemental_log_data_min from v$database;

 

SUPPLEME

--------

NO

 

SQL> alter database add supplemental log data;

 

Database altered.


切换日志使更改生效:
  SQL> alter system switch logfile;

 

System altered.

 

SQL> select supplemental_log_data_min from v$database;

 

SUPPLEME

--------

YES

11gR2版本Oracle数据库已经不需要关闭回收站
1. 下载最新版本的GoldenGate压缩包。源端跟目标端都需要安装。解压到C:\ggs
     启动命令行,切换到c:\ggs目录下,运行ggsci, 输入create subdirs.这样就完成了安装。
     Windows 7, Windows 2008平台需要将GoldenGate的Manager进程安装为服务,否则,可能出现没有权限读取redo log或归档日志的情况(windows 7的oracle目录文件权限问题).
   在命令行环境下,切换到c:\ggs, 执行install addservice. 在管理工具的windows服务列表中会新增一个名为GGSMGR的服务
 2. 创建源端的GoldenGate数据库用户
     SQL> create user ggs identified by ggs default tablespace users temporary tablespace temp;

SQL> grant connect ,resource,unlimited tablespace to ggs;

SQL> grant execute on utl_file to ggs;

SQL> grant select any dictionary,select any table to ggs;

SQL> grant alter any table to ggs;

SQL> grant flashback any table to ggs;

SQL> grant execute on dbms_flashback to ggs;

  如果需要支持DDL同步,在ggs用户创建完成后,执行以下步骤(所有脚本都位于c:\ggs目录下,以DBA账户执行):
    SQL> grant execute on utl_file to ggate;
  • marker_setup.sql
  • ddl_setup.sql
  • role_setup.sql
  • Grant the role to all GoldenGate Extract users
    脚本:grant GGS_GGSUSER_ROLE to ggs
  • ddl_enable.sql
    脚本最好都在SQL*Plus下执行,有的脚本执行过程中会要求输入DDL schema的名称,本例即ggs
 3. 创建目标端GoldenGate数据库用户
    SQL> create user ggs identified by ggs default tablespace users temporary tablespace temp;

SQL> grant dba to ggs

  4. 配置源端的GoldenGate Manager
     命令行,切换到目录c:\ggs,启动ggsci, 建立mgr的参数文件。mgr启动时会读取此文件
     edit params ./GLOBALS
     以下是我的参数文件内容:
     MGRSERVNAME GGMGR
     checkpointtable ggs.checkpoint --checkpoint的表名
     GGSCHEMA ggs   --DDL复制用
    
     参数文件mgr:
     edit params mgr
     
     port 7500
     dynamicportlist 7501-7505
     autorestart extract *,waitminutes 2,retries 5

     保存完成后,可以启动mgr:
     start mgr
     
    
  5.配置目标端的GoldenGate Manager
    与源端类似,不过GLOBALS的内容为:
     MGRSERVNAME GGMGR
     checkpointtable ggs.checkpoint --checkpoint的表名 
    
    配置参数文件mgr(mgr进程组所用参数文件):
     edit params mgr

    port 7500
    dynamicportlist 7501-7505
    autostart er *
    autorestart extract *,waitminutes 2,retries 5
    lagreporthours 1
    laginfominutes 3
    lagcriticalminutes 5
    purgeoldextracts c:\ggs\dirdat\et*,usecheckpoints,minkeepdays 3
     
   6. 配置源端的extract进程组
    edit params eora
   
    extract eora
    dynamicresolution
    userid ggs,password ggs
    DDL INCLUDE ALL --支持DDL操作
    exttrail c:\ggs\dirdat\et
    table scott.*;
   
  其中eora可以改为其他更有意义的名称
  添加extract进程:
 add extract eora,tranlog,begin now
创建本地trail文件,extract进程组负责写这部分文件,pump进程负责读它:
  add exttrail c:\ggs\dirdat\et,extract eora

   start extract eora
   7. 配置源端data pump进程组
     edit param pump_so
    
     extract pump_so
     dynamicresolution
     userid ggs, password ggs
     rmthost 192.168.0.17, mgrport 7500
     rmttrail c:\ggs\dirdat\et
     table scott.*;
    
    192.168.0.17是目标端的IP,7500是端口号
     add extract pump_so,exttrailsource c:\ggs\dirdat\et
     add rmttrail c:\ggs\dirdat\et,extract pump_so
    start extract pump_so
   8. 配置目标端replicat进程组
      edit param rep1

     replicat rep1

userid ggs,password ggs

assumetargetdefs

reperror default,discard

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

dynamicresolution

MAP scott.*, target scott.*;

 
  在目标端增加checkpoint table:

  dblogin userid ggs,password ggs
  add checkpointtable ggs.checkpoint

  添加replicat进程组:
   add replicat repl exttrail c:\ggs\dirdat\et,checkpointtable ggs.checkpoint
   start rep1
 
在源端scott模式下进行测试
如果出现错误,可以在c:\ggs\ggserr.log下查看错误代码

参考:
  

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

请登录后发表评论 登录
全部评论
曾从事java方向开发多年。近年已经转入数据库方向。主要擅长SQL优化,Oracle数据库问题诊断,Oracle备份与恢复等。服务于医药物流,医院等行业

注册时间:2010-01-26

  • 博文量
    602
  • 访问量
    1091594