Oracle GoldenGate学习之windows下ogg单向复制配置

Oracle GoldenGate学习之windows下ogg单向复制配置
测试环境:
OS: Windows Xp
DB: Oracle 10.2.0.3 32bit
一、安装goldengate
   goldengate安装不是很复杂,在oracle官方网站上下载ggs_Windows_x86_ora10g_32bit.zip,放到一个目录(我的目录是E:\ggate)解压即可。
E:\ggate>ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100
Windows (optimized), Oracle 10g on Oct  5 2011 00:50:35
Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
GGSCI (mybole) 2> help all
GGSCI Command Summary:
Object:          Command:
SUBDIRS          CREATE
ER               INFO, KILL, LAG, SEND, STATUS, START, STATS, STOP
EXTRACT          ADD, ALTER, CLEANUP, DELETE, INFO, KILL,
                 LAG, REGISTER, SEND, START, STATS, STATUS, STOP
                 UNREGISTER
EXTTRAIL         ADD, ALTER, DELETE, INFO
GGSEVT           VIEW
MANAGER          INFO, SEND, START, STOP, STATUS
MARKER           INFO
PARAMS           EDIT, VIEW
REPLICAT         ADD, ALTER, CLEANUP, DELETE, INFO, KILL, LAG, SEND,
                 START, STATS, STATUS, STOP
REPORT           VIEW
RMTTRAIL         ADD, ALTER, DELETE, INFO
TRACETABLE       ADD, DELETE, INFO
TRANDATA         ADD, DELETE, INFO
SCHEMATRANDATA   ADD, DELETE, INFO
CHECKPOINTTABLE  ADD, DELETE, CLEANUP, INFO
Commands without an object:
(Database)       DBLOGIN, LIST TABLES, ENCRYPT PASSWORD, FLUSH SEQUENCE
(DDL)            DUMPDDL
(Miscellaneous)  FC, HELP, HISTORY, INFO ALL, OBEY, SET EDITOR, SHELL,
                 SHOW, VERSIONS, ! (note: you must type the word
                 COMMAND after the ! to display the ! help topic.)
                 i.e.: GGSCI (sys1)> help ! command
 
For help on a specific command, type HELP .
Example: HELP ADD REPLICAT
GGSCI (mybole) 2> create sudbirs   --创建需要的目录
二、配置Source DB
GoldenGate通过抓取源端数据库重做日志进行分析,将获取的数据应用到目标端,实现数据同步。因此,源数据库需要必须处于归档模式,并启用附加日志和强制日志。
归档模式、附加日志、强制日志
SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;
LOG_MODE     SUPPLEME FOR
------------ -------- ---
ARCHIVELOG   YES      YES
如果为NO,需要添加,命令如下
1)archivelog
SQL>shutdown immediate
SQL>startup mount
SQL>alter database archivelog;
SQL>alter database open;
(2) force logging
SQL>alterdatabase force logging;
(3)supplemental log data
SQL>alterdatabase add supplemental log data
如果启用DDL 支持,必须关闭recycle bin。官网的解释如下:
If the recyclebin is enabled, the Oracle GoldenGate DDL trigger session receives implicitrecycle bin DDL operations that cause the trigger to fail.
Oracle 11g:
SQL> alter system set recyclebin=offscope=spfile;
System altered.
如果数据库是10g,需要关闭recyclebin并重启;或者手工purge recyclebin。
三、创建user
1. 创建存放DDL信息的user并赋权
SQL> create user ggate identified by ggate default tablespace users temporary tablespace temp;
User created.
SQL> grant connect,resource to ggate;
Grant succeeded.
SQL> grant execute on utl_file to ggate;
Grant succeeded.
2.在Source Db上创建测试用户
SQL>create user ggs identified by ggs default tablespace users temporary tablespace temp;
SQL>grant dba to ggs;
3.在Target DB上创建测试用户
SQL>create user ggt identified by ggt default tablespace users temporary tablespace temp;
SQL>grant dba to ggt;
3.退出所有使用Oracle 的session,然后使用SYSDBA权限的用户执行如下脚本:
E:\>cd E:\ggate
E:\ggate>sqlplus / as sysdba
SQL>@marker_setup.sql;  --提示过程中输入用户:ggate
SQL>@ddl_setup.sql;     --提示过程中输入用户:ggate;INITIALSETUP
SQL>@role_setup.sql;    --提示过程中输入用户:ggate
SQL>grant GGS_GGSUSER_ROLE to ggate;
SQL>@ddl_enable.sql;
四、配置相关进程
1.在Source 和Target 上配置Manager
GGSCI (gg1) 1> info all
Program    Status      Group       Lag           Time Since Chkpt
MANAGER    STOPPED                                          
GGSCI (gg1) 2> edit params mgr
输入如下内容:
PORT 7809
GGSCI (gg1) 3> start manager
Manager started.
2.配置SourceDB 的复制队列
 先连接到数据库,测试连接:
GGSCI (gg1) 10> dblogin userid ggate, password ggate
Successfully logged into database.
增加一个抽取:
GGSCI (gg1) 11> add extract ext1,tranlog, begin now
2011-11-08 20:36:47  INFO   OGG-01749  Successfully registeredEXTRACT EXT1 to start managing log retention at SCN 1121060.
EXTRACT added.
GGSCI (gg1) 12> add exttrail E:\ggate\dirdat\lt, extract ext1
EXTTRAIL added
编辑抽取进程ext1参数:
GGSCI (gg1) 13> edit params ext1
extract ext1
userid ggate,password ggate
rmthost 127.0.0.1,mgrport 7809
rmttrail E:\ggate\dirdat\lt
dynamicresolution
table ggs.*;
GGSCI (gg1) 14> start ext1
GGSCI (gg1) 14> info all
3.配置TargetDB 同步队列
3.1在Target 端添加checkpoint表:
GGSCI (gg2) 6> edit params ./GLOBAL
GGSCHEMA ggate
CHECKPOINTTABLE ggate.checkpoint
添加如上2条记录。
GGSCI (gg2) 12> dblogin userid ggate,password ggate
Successfully logged into database.
--说明,这个用户是在Source 库启用DDL 创建的,我在Target 库也创建了这个用户。
GGSCI (gg2) 13> add checkpointtable ggate.checkpoint
Successfully created checkpoint tableGGATE.CHECKPOINT.
3.2 创建同步队列
GGSCI (gg2) 14> add replicat rep1,exttrail E:\ggate\dirdat\lt, checkpointtable ggate.checkpoint
REPLICAT added.
GGSCI (gg2) 15> edit params rep1
replicat rep1
userid ggate,password ggate
assumetargetdefs
discardfile E:\ggate\dirdat\rep1_discard.txt,append
MAP ggs.*, TARGET ggt.*;
3.3开启同步队列
GGSCI (gg2) 14> start ext1
GGSCI (gg2) 14> start rep1
GGSCI (gg2) 14> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING
EXTRACT     RUNNING     EXT1        00:00:00      00:00:07
REPLICAT    RUNNING     REP1        00:00:00      00:00:06
所有的进程状态都是RUNNING,正常。
五、测试Data 复制
1.在Source DB端和Target DB上都建立测试表
SQL> conn ggs/ggs
Connected.
SQL> host pwd
E:\ggate
SQL> @demo_ora_create.sql
Table Created.
SQL> conn ggt/ggt
Connected.
SQL> host pwd
E:\ggate
SQL> @demo_ora_create.sql
Table Created.
2.在Source DB端插入数据
SQL> @demo_ora_insert.sql
1 row created.


1 row created.


1 row created.


1 row created.


Commit complete.
3.在Target DB端查看
SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
TCUSTMER                       TABLE
TCUSTORD                       TABLE
SQL> select * from TCUSTMER;
CUST NAME                           CITY                 ST
---- ------------------------------ -------------------- --
WILL BG SOFTWARE CO.                SEATTLE              WA
JANE ROCKY FLYER INC.               DENVER               CO
SQL> select * from TCUSTORD;
CUST ORDER_DATE          PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT
---- ------------------- -------- ---------- ------------- --------------
TRANSACTION_ID
--------------
WILL 1994-09-30 15:33:00 CAR             144         17520              3
           100
JANE 1995-11-11 13:52:00 PLANE           256        133300              1
           100
数据同步过来了。
第1章 GoldenGate概述 5 1.1 GoldenGate技术原理 5 1.2 GoldenGate可靠的复制 8 1.3 GoldenGate支持操作系统和数据库类型 8 第2章 安装GoldenGate 9 2.1 安装GoldenGate环境 9 2.2 分别在源数据库,目标数据库安装GoldenGate 9 2.2.1 下载GoldenGate 9 2.2.2 解压 10 2.2.3 安装GoldenGate 10 2.2.4 同时在目标数据库安装GoldenGate 11 第3章 把源数据库的数据同步到目标数据库中 11 3.1 设置ORACLE_HOME,ORACLE_SID环境变量 11 3.2 在源数据库ora01上打开归档日志及其辅助日志 12 3.3 在源数据库,目标数据库创建GoldenGate GLOBALS参数文件 13 3.3.1 在源数据库创建 13 3.3.2 创建Goldengate manager服务 13 3.3.3 在目标数据库安装上面步骤创建manager 14 3.4 在源数据库,目标数据库配置mgr,启动manager进程 14 3.4.1 配置manager服务的mgr配置文件 14 3.4.2 启动mgr 15 3.4.3 同样在目标数据库配置mgr文件 15 3.5 测试把源数据库数据同步到目标数据库数据库上 16 3.5.1 在源数据库创建test01数据库用户 16 3.5.2 执行GoldenGate的测试脚本,创建表 16 3.5.3 插入数据脚本 17 3.5.4 在goldengate中用oracle用户登陆数据库 17 3.5.5 增加需要传输的用户表 18 3.5.6 在目标数据库创建用户及其表结构 18 3.6 用goldengate中的direct load方式导入数据到目标数据库的test02用户表上 19 3.6.1 在源数据库配置一个extract进程 eini01 19 3.6.2 在目标数据库端配置一个replicat进程 19 3.6.3 在源数据库执行初始化过程 20 3.6.4 验证目标数据库端的test02用户表数据是否和源数据库一样 20 第4章 把源数据库的修改数据同步到目标数据库中 21 4.1 在源数据库配置一个EXTRACT进程及配置其文件 21 4.1.1 配置EXTRACT文件 21 4.1.2 在GGSCI.exe增加一个EXTRACT进程 22 4.2 配置data pump 23 4.2.1 在源数据库端添加一个pump进程 23 4.2.2 在源数据库的ggsci中增加extract进程 24 4.2.3 在源数据库执行RMTTRAIL 24 4.3 启动data pump capture process 24 4.4 在目标数据库端配置change delivery 26 4.5 在目标数据库中创建goldengate专属用户及其表 26 4.6 在目标数据库配置replicat进程 27 4.6.1 在ggsci增加一个replicat进程 27 4.6.2 编辑配置replicat文件 27 4.7 启动replicat进程 28 4.8 测试检查同步结果 28 4.8.1 在源数据库执行插入数据 28 第5章 把源数据库的DDL(表结构)修改同步到目标数据库中 32 5.1 在源数据库端关闭数据库的回收站 32 5.2 编辑源数据库参数文件GLOBALS 32 5.3 在源数据库创建goldengate01用户,并创建goldengate所需要的表 33 5.4 检查源数据库上的表是否安装好 35 5.5 修改源数据库配置extract文件 35 5.6 重新启动extract进程 36 5.7 验证源数据库是否可以同步表结构到目标数据库中 36 第6章 配置源数据库、目标数据库的双向数据传输 36 6.1 关闭目标数据库回收站,打开数据库辅助日志 37 6.2 在源数据库端添加checkpoint表,实现一致性 37 6.3 在源数据库增加一个replicat进程 38 6.4 在源数据库创建一个checkpoint表 38 6.5 编辑配置replicat进程 39 6.6 在目标数据库端配置GLOBALS文件 39 6.7 在目标数据库安装goldengate用户需要的表 39 6.8 在目标数据库配置一个extract进程 40 6.9 在目标数据库端配置一个pump进程 40 6.10 在源数据库端启动replicat进程 42 6.11 在目标数据库中启动extract、replicat的进程 42 6.12 目标数据库可以把数据、表结构的修过同步到源数据库服务器上 42 第7章 备注: 44 7.1 Oracle官网的下载地址 44 7.2 GoldenGate的GLOBALS配置文件内容 44 7.3 GoldenGate的eiex01配置文件内容 44 7.4 GoldenGate的epmp01配置文件内容 44 7.5 GoldenGate的rora01配置文件内容 45 7.6 GoldenGate的eiexbb配置文件内容 45 7.7 GoldenGate的epmpbb配置文件内容 45 7.8 GoldenGate的rorabb配置文件内容 45 7.9 更改GoldenGate复制时间点 46 7.10 查看GoldenGate命令格式 46 7.11 查看manager,extract,replicat是否运行 47 7.12 查看goldengate进程的错误 48
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值