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

2014-11-24 16:45:28 · 作者: · 浏览: 0

配置:源数据库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)的IP为100.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. 目标数据库账号为scott,tiger

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 C