使用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/

Oracle GoldenGate在异种OS上同种DB之间的数据同步

GoldenGate将Oracle数据同步到GreenPlum 
 
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 Chkpt  Time Since Chkpt
 
MANAGER    RUNNING   

 
 
(3)      源数据库查看同步日志
 
GGSCI (host2) 13> view report source1
 
8.      目标数据库(db1)查看同步情况
 
SQL> select * from test;

相关内容