首页 > 代码库 > 使用OGG,两个Oracle库之间单向同步数据

使用OGG,两个Oracle库之间单向同步数据

配置:源数据库100.100.100.21        实例名dbsid2

            目标数据库100.100.100.41      实例名db1

实验目标:源数据库中的 scott用户 emp表同步到目标数据库 scott中的test

安装包为文件ogg112101_fbo_ggs_Linux_x64_ora10g_64bit.zip

解压之后,然后再tar解压tar -xvf fbo_ggs_Linux_x64_ora10g_64bit.tar -C  /oracle/ogg/

1.       源数据库(dbsid2)配置:

(1)       用户权限:grant dba to scott

(2)       打开归档模式

3)附加日志:
           alter database add supplemental log data;

     alter database force logging;

   4)将目标数据库db1信息添加到 tnsnames.ora

2.       目标数据库(db1)配置:

(1)       scott用户建立空表test,表结构和emp相同

(2)       打开归档模式

(3)       附加日志:

alter database add supplemental log data;

alter database force logging;

(4)       将源数据库(dbsid2)的信息添加到 tnsnames.ora

3.       源数据库服务器 goldengate安装

(1)       解压到/oracle/ogg目标下面

(2)       运行./ggsci

(3)       新建子目录: GGSCI (host2) 1> create subdirs

Creating subdirectories under current directory /oracle/ogg

Parameter files                /oracle/ogg/dirprm: already exists

Report files                   /oracle/ogg/dirrpt: created

Checkpoint files               /oracle/ogg/dirchk: created

Process status files           /oracle/ogg/dirpcs: created

SQL script files               /oracle/ogg/dirsql: created

Database definitions files     /oracle/ogg/dirdef: created

Extract data files             /oracle/ogg/dirdat: created

(4)       配置字符管理的Port参数

GGSCI (host2) 6> edit params mgr

输入: PORT 7809 然后保存

检查输入情况:

GGSCI (host2) 7> view params mgr

PORT 7809

(5)       启动Start mgr

GGSCI (host2) 8> start mgr

MGR is already running.

GGSCI (host2) 9> info mgr

Manager is running (IP port host2.7809).

4.       目标数据库服务器 goldengate安装(和源目标服务器相同)

(1)       解压到/oracle/ogg目标下面

(2)        运行./ggsci

(3)       新建子目录: GGSCI (host2) 1> create subdirs

Creating subdirectories under current directory /oracle/ogg

Parameter files                /oracle/ogg/dirprm: already exists

Report files                   /oracle/ogg/dirrpt: created

Checkpoint files               /oracle/ogg/dirchk: created

Process status files           /oracle/ogg/dirpcs: created

SQL script files               /oracle/ogg/dirsql: created

Database definitions files     /oracle/ogg/dirdef: created

Extract data files             /oracle/ogg/dirdat: created

4      配置字符管理的Port参数

GGSCI (host2) 6> edit params mgr

输入: PORT 7809 然后保存

检查输入情况:

GGSCI (host2) 7> view params mgr

PORT 7809

(4)       启动Start mgr

GGSCI (host2) 8> start mgr

MGR is already running.

GGSCI (host2) 9> info mgr

Manager is running (IP port host2.7809).

5.       配置源数据库服务器(dbsid2)传输进程extract

1)添加名字为source1的进程

GGSCI (host2) 19> add extract source1,sourceistable  

EXTRACT added.

(3)       修改source1参数

GGSCI (host2) 20> edit params source1

添加如下,并且保存

extract source1

setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

userid scott,password tiger                        

rmthost 100.100.100.41,mgrport 7809

rmttask replicat,group target1

table scott.emp;

注:1、需要复制表的用户名为scott,密码tiger

    2、目标数据库(db1)的IP100.100.100.41,端口为7809

    3. 目标数据库(db1)的接收进程名字为 target1

    4.  需要复制的table为: scott.emp表。

查看修改的参数

GGSCI (host2) 21> view params source1

6.       配置目标数据库db1 replicat接收进程

(1)       添加replicat进程,名字为source1

GGSCI (host2) 9> add replicat target1,specialrun

REPLICAT added.

(2)       添加修改参数:GGSCI (host2) 13> edit params target1

replicat target1

setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

assumetargetdefs

userid scott,password tiger

discardfile ./dirrpt/target1.dsc,purge

map scott.emp,target scott.test;

注:1. 目标数据库账号为scotttiger

         2. 将源数据库的表scott.emp同步到scott.test表中

        查看修改之后

        GGSCI (host2) 1> view params target1

7.       源数据库(dbsid2)开始同步

(1)       开始同步

GGSCI (host2) 11> start extract source1

 

Sending START request to MANAGER ...

EXTRACT SOURCE1 starting

(2)       监控同步过程

GGSCI (host2) 12> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING   

 

(3)       源数据库查看同步日志

GGSCI (host2) 13> view report source1

8.       目标数据库(db1)查看同步情况

SQL> select * from test;

使用OGG,两个Oracle库之间单向同步数据