基于Oracle环境配置PowerExchange CDC

准备

PWX安装包

安装Lisence


安装

PowerExchange对安装环境有要求,低版本9.1.0不满足在Windows Server 2012以上安装,所以在安装前先查看兼容列表或者先咨询厂家。

1. 安装PWX安装包,安装过程记得输入Lisence,一步步安装完成。

2. 在操作系统下配置环境变量

  • windows 操作系统下添加环境变量 NLS_LANG ,值为‘SIMPLIFIED CHINESE_CHINA.ZHS16GBK’
  • linux操作系统可参考:

---------------------------------------------------------------------------------------

vim /etc/profile

# ORACLE 环境变量

export ORACLE_BASE=/oracle/oracle

export ORACLE_HOME=/oracle/oracle/product/10.2.0/db_1

export ORACLE_SID=xxx

export PATH=$PATH:$ORACLE_HOME/bin

# PWX 环境变量

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export PWX_HOME=/opt/Informatica/PowerExchange9.1.0

export PATH=$PWX_HOME:$PATH

----------------------------------------------------------------------------------------

3. 开启Oracle归档

开启归档日志:(以下以Linux为例)

新建目录 xxxxORACLE_HOMExxx/ARCHIVELOG ,此目录最好开放所有权限 R\W\X

chmod 777 xxx/ARCHIVELOG

进入sqlplus 配置归档

su oracle

sqlplus / as sysdba

=====================以下所有操作在sqlplus下进行=========================

由于配置的时候要操作到spfile 所以要先备份好oracle dbs 目录下的xxx.ora 参数文件!!!!

CONNECT SYS/CHANGE_ON_INSTALL AS SYSDBA;

ALTER SYSTEM SET log_archive_dest_1 = 'location=D:/app/Administrator/oradata/ARCHIVELOG' SCOPE=SPFILE;

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

SHUTDOWN IMMEDIATE;

STARTUP;

再次进入sqlplus

SQL> ARCHIVE LOG LIST

自动归档为已启用。

4. 创建抽取日志用户并授权

创建用户:

CREATE USER "ORACAPTL" PROFILE "DEFAULT" IDENTIFIED BY "oracaptl" ACCOUNT UNLOCK;

这个用户是之后在监听器配置下输入的用户名和密码。

授权查询视图权限:

GRANT "CONNECT","RESOURCE","DBA" TO "ORACAPTL";

GRANT LOCK ANY TABLE TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$INSTANCE" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$DATABASE" TO "ORACAPTL";

GRANT SELECT ON "SYS"."DBA_LOG_GROUPS" TO "ORACAPTL";

GRANT SELECT ON "SYS"."DBA_LOG_GROUP_COLUMNS" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$TRANSACTION" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$ARCHIVED_LOG" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$LOGMNR_CONTENTS" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$PARAMETER" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$NLS_PARAMETERS" TO "ORACAPTL";

GRANT SELECT ANY TRANSACTION TO "ORACAPTL";

GRANT EXECUTE ON "SYS"."DBMS_FLASHBACK" TO "ORACAPTL";

GRANT EXECUTE ON "SYS"."DBMS_LOGMNR_D" TO "ORACAPTL";

GRANT EXECUTE ON "SYS"."DBMS_LOGMNR" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$ARCHIVED_LOG" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$DATABASE" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$INSTANCE" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$LOG" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$LOGFILE" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$TRANSPORTABLE_PLATFORM" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$THREAD" TO "ORACAPTL";

GRANT SELECT ON "PUBLIC"."V$DATABASE_INCARNATION" TO "ORACAPTL";

GRANT ALTER ANY TABLE TO "ORACAPTL";

COMMIT;

5. 添加最小附加日志并复制到ORACLE归档目录下

添加最小附加日志

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

COMMIT;

-- ps: 删除附加日志

-- select * from dba_log_groups ;

-- alter table 表名 drop supplemental log group 附加日志名 ;

复制日志到ORACLE归档目录下

begin

SYS.DBMS_LOGMNR_D.BUILD(options => sys.dbms_logmnr_d.store_in_redo_logs);

end;

/

执行完后可以到ARCHIVELOG目录下看是否有日志生成。

=====================以上操作在sqlplus下执行============================

6. 配置监听器

PWX根目录下新建/capture 和 /capture/xtramaps 目录

配置dbmover.cfg文件,该文件位于PWX安装根目录下,贴出参考如下

DTLMSG_CODEPAGE=GB2312

LOG_CODEPAGE=GB2312

CODEPAGE=(GB2312,GB2312,GB2312)

LISTENER=(node1,TCPIP,2480,262144,262144)

NODE=(local,127.0.0.1,2480)

NODE=(node1,262144)

NODE=(default,x,2480)

APPBUFSIZE=256000

COLON=:

CONSOLE_TRACE=N

DECPOINT=.

DEFAULTCHAR=*

DEFAULTDATE=19800101

MAXTASKS=30

MSGPREFIX=PWX

NEGSIGN=-

PIPE=|

POLLTIME=1000

PRE861_COMPAT=N

EXT_CP_SUPPT=Y

/*标记名,oracle实例名*/

ORACLEID=(PWXCDC,orcl,orcl)

CAPI_CONNECTION=(NAME=CAPIEDP,TYPE=(UOWC,CAPINAME=CAPIORAD,RSTRADV=60))

CAPI_CONNECTION=(NAME=CAPIORAD,TYPE=(ORCL,ARRAYSIZE=1000,SELRETRY=0,ORACOLL=PWXCDC))

CAPI_CONNECTION=(NAME=CAPXSYNC,DLLTRACE=CPX,TYPE=(CAPX,DFLTINST=SYNC,FILEWAIT=60,RSTRADV=600))

/*监听配置MAP存放的位置*/

CAPT_PATH=C:\Informatica\PowerExchange9.1.0\64\capture

CAPT_XTRA=C:\Informatica\PowerExchange9.1.0\64\capture\xtramaps

7. 启动监听:

管理员权限启动命令行 >> dtllst node1

如果启动成功,可以在PowerExchange Navigator下进行行测试,源端更新数据看看是否能捕捉。

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...