采用Informatica作异构数据源间数据的迁移

1.名词释义

异构数据源:  源和目标库属于不同的数据库产品。此例子中源库为Oracle,目标库为DB2。
PowerCenter:  ETL工具,擅长做异构数据源的数据清洗、转换、转载,可以做Node集群。

2.场景
使用Informatica工具的抽取和装载功能实现异构平台数据的迁移。

3.遇到的问题总结
3.1 PowerCenter无法连接抽取库。
1)错误日志与截图



2)原因分析

以上错误是因为安装Informatica的服务器没有安装Oracle的客户端,PowerCenter无法找到相应的驱动文件。

3)解决思路
a.在安装Informatica服务端的机器上安装Oracle的客户端,修改tnsname.ora文件添加源库的连接
b.修改Informatica安装用户(infa)的.profile文件,添加其对Oracle的支持;
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export PATH=$ORACLE_HOME/bin:$PATH 

特别提醒: 建议将以上内容直接贴在.profile文件中,试过采用文件的形式引入Informatica无法识别。

c.将infa添加至Oracle的管理员组(dba)
usermod -G dba infa

d.修改软连接文件 libclntsh.so.10.1 (可选,当服务器安装的Oracle客户端为11g版本时修改)
进入/u01/app/oracle/product/11.2.0/xe/lib目录,将libclntsh.so.10.1的软连接路径指向libclntsh.so.11.1。
查看命令ls *libclntsh.so*


3.2 数据库迁移过程中事务日志文件写满工作流报错
1)错误日志与截图

采用Informatica作异构数据源间数据的迁移_第1张图片




2)原因分析


因为事务日志文件写满,导致事务日志无法写入并提交。

3)解决思路
修改目标库DB2的事务日志文件大小和个数。
update db cfg for cwjs using LOGFILSIZ 8192 -- 每个日志文件的大小
update db cfg for cwjs using LOGPRIMARY 10  -- 主日志文件的个数
update db cfg for cwjs using LOGSECOND 20   -- 第二日志文件的个数



另:
Informatica可以通过在Session中给TargetTableName指定带模式名的表名来实现对不同模式的访问。

附图


采用Informatica作异构数据源间数据的迁移_第2张图片

你可能感兴趣的:(Informatica)