暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用DIPC图形化同步数据到 ADW

凛冬未至 2019-03-19
899

一直以来就想测试这个功能,通过DIPC直接把数据库的数据同步到ADW上,但是一直有些问题没有解决,今天在同事们的热心帮助下,终于搞定了,感谢集体的力量。

心情无比澎湃,赶快记录下来。

测试架构如下:

初次测试的时候,可以通过DIPC建立ADW的连接,通过DIPC建立数据复制的时候,数据投递进程无法启动,报错信息如下:

ERROR   OGG-00662 Oracle GoldenGate Delivery for Oracle, repadw.prm:  OCI Error allocatingerror handle (status = -2).

我们在Oraclesupport网站上看到了对这个问题的解决方法。这是因为DIPCagent上的GoldenGate版本不支持ADW,需要先给GoldenGate打上一个补丁,补丁编号如下:Doc ID 2503322.1

完成这个测试的主要步骤如下:

1.      GoldenGate打补丁

1)  下载GoldenGate的补丁

2)  把补丁文件上传到安装DIPCagent的服务器上的一个临时目录

3)  解压缩补丁文件

4)  重要步骤,把OPach16oui目录拷贝到DIPCagentgghome目录中

5)  开始打补丁

cd<agent_install_loc>/dicloud/gghome

./ggsci

ggsci>stop extract *

ggsci>stop replicat*

ggsci>stop manager!

ggsci>stop pmsrvr

ggsci>exit

exportORACLE_HOME=`pwd`

sed -i"s#inventory_loc=.*#inventory_loc=$(pwd)/../oraInvGG123for12#"oraInst.loc

sed -i"s#LOC=\".*\" TYPE#LOC=\"$(pwd)\" TYPE#"  ../oraInvGG123for12/ContentsXML/inventory.xml

cd OPatch16/29266457

../opatch apply,一路yes,就可以打上补丁了

6)  测试是否成功打上补丁

cd <agent_install_loc>/dicloud/gghome

./replicate –v

显示如下信息,表示补丁已经成功应用。

Oracle GoldenGate Delivery for Oracle

Version12.3.0.1.4 28966487_FBO

Linux, x64, 64bit(optimized), Oracle 12c on Jan 28 2019

13:54:15

Copyright (C) 1995, 2018,Oracle and/or its affiliates. All rights reserved.

 

2.      DIPC上配置源端数据库连接

1)  建立源端数据库CDB链接

Type: choose OracleCDB

Username: fill the CDB user we have created. Here we use c##ggsrcService Name: Find it in source TNS file.

建立成功后,显示内容如下:

2)建立PDB数据库链接

For connection Settings, please note that:

Username: c##ggsrc

Schema name: C##GGSRC

CDB Connection: DB121Src-CDB

到此所有数据库链接建立完毕,显示内容如下:

 

 

3.      DIPC上配置ADW的连接

1)  解锁ADW上的ggadmin数据库用户

alter user ggadmin identified by password account unlock;

GRANT UNLIMITED TABLESPACE data TO ggadmin;

2)  DIPC上配置ADW的链接

 

这个设置很简单,注意的地方是数据库的连接用户必须是ggadmin,其他用户会报错。选择连接ADWWallet文件,ADW成功连接后,选择Service_nameConnection URL还有schema_Name的信息,然后保存连接配置。

 

4.      DIPC上配置从源端数据库到ADW的数据复制

1)  建立Replicate data任务

点击Design按钮,进入数据复制设置页面,设置数据源和目标

 

点击保存和运行按钮,数据复制任务开始运行。

过几分钟DIPC的数据复制任务开始运行了,这个时候可能replicate进程可能会报错,我们需要登录到DIPCagent服务器上,为replicate进程增加2个环境变量参数。

cd<agent_install_loc>/dicloud/gghome/dirrpm

vi rep进程的参数文件,为rep进程增加如下的参数:

replicat R7192119

setenv(TNS_ADMIN="/u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin")

setenv(ORACLE_HOME="/u01/app/oracle/product/12.2.0.1/dbhome_1")

useridaliasGGALIASTGT_CLASSIC_TESTADW

reportcount every 15minutes, rate

ddl include mapped

MAP PDB1.SOURCE.*,TARGET USER_TARGET.*;

保存,重新启动rep进程。

cd ..

./ggsci

GGSCI>start rep R7615408

GGSCI>info R7615408

进程成功启动了

5.      测试数据同步效果

在源端pdb上执行DML操作,在ADW上查看数据被成功复制过来。

源端:

增加empno8的记录。

目标端:

我们再DIPC的控制台,也看到了这个insert操作被成功的复制到了ADW环境。

 

解决了这个问题,以后才从本地同步数据到ADW的时候就可以避免过多的认为操作,以后再从本地数据库向ADW同步数据,变得VERY EASY!!!

文章转载自凛冬未至,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论