如果Source,Target和Mapping都不存在性能上的瓶颈,则问题可能会出在Session以下问题可导致Session有性能上的瓶颈 1) 缓存小 2) 缓冲内存小 3) commit提交间隔小如何判定Session存在性能瓶颈 分析performance detai
如果Source,Target,Mapping和Session都不存在性能上的瓶颈,则问题可能会出在System 因为Integration Service运行时,它使用了System的资源去运行组件,session,以及读写数据 也使用System内存资源为Aggregator, Joiner,
优化目标主要包括以下几方面:1 优化平面文件 如果目标平面文件在某机器的共享目录下,则该机器最好是专门用于文件存储的,如果还应用于其他非文件存储任务,则会降低加载效率 如果Integration service运行在单节点,则可将该平面文件放置在该单节点所在本地,这样的话,本地数据加载会
优化Source主要包括以下几方面:
1 优化sqlquery 在mapping中,通常会在Source Qualifier组件中使用sqlquery读取数据,则优化通常包括以下几点: 1) 如果在Source Qualifier中的sqlquery中
Mapping层级的调优可能会花费时间,但是性能调优的效果确实非常显著的 优化Target,Source之后,可以调优Mapping 通常的方法是尽可能减少组件及组件的字段间不必要的连线 即尽可能用最少的组件和表达式做最多的工作,尽可能减少组件的字段间不必要的连线来保证数据移动量
优化之S
优化之Aggregator组件
优化之Custom组件
优化之Joiner组件
优化之Lookup组件
优化之Normalizer组件
优化之Sequence Generator组件
优化之Sorter组件
优化之Source Q
从系统方面考虑,性能通常取决于connection的连接效率和Integration Service所在机器的负荷程度,常见的原因有: 多用户同时使用 不同的网络协议 网络上有多个路由及转换 源和目标数据库的I/O效率低 源和目标文件系统的I/O效率低 domai
所有组件都有计数器用来记录运行时各方面的数值,比如Integration Service会追踪记录每个组件的input rows, output rows以及error rows的数量,并将这些数字记在计数器里。其中,一些组件的计数器是跟性能相关的,专门用来记录性能有关的数字信息。如下列的计数器,可
当运行session时,会产生大量的Transformation Errors,这些Error会导致性能变慢
1 Transformation Errors导致性能降低的原因 当有大量记录有Transformation Errors时,Integration Service会进行如
可在session log中使用线程统计信息来判断source,target或组的性能瓶颈 默认情况下,Integration Service在运行session时,使用一个reader thread,一个transformation thread,还有一个writer thread
错误:PCSF_46026 Unable to find valid TrustStore certificate in PEM format
原因:本地没有配置INFA_DOMAINS_FILE和INFA_TRUSTSTORE环境变量
解决:配置INFA_DOMA
问题:
本地Oracle客户端由11g-32bit升级为12c-64bit时,在PowerCenter Designer使用原来的ODBC连接导入数据库表时,发生如下错误:
原因:
原oracle11g 客户端为32位,因此Infor
问题:Source Qualifter组件中sqlquery过长导致截取原因:Source Qualifter组件中sqlquery可以接受的最长字符数是32767个字符,超过这个数字会导致截取解决方案: 1 创建数据库视图 2 创建存储过程 3 直接复制粘贴到sqlquery
具体
请按照如下步骤进行配置:
--> 打开session的Config Object选项卡,并编辑Custom Properties选项
--> 编辑Custom Properties项目 ,追加自定义参数 RemoveOutputHeade
问题:
Update Strategy组件根据字段值对目标表进行DD_DELETE操作时失效
同时,session log中报错:Target table [XXXXXXXX] does not allow INSERT
原因:
Se
驱动表:外层循环,若能只进行一次IO把所有数据拿出来最好
被驱动表:里层循环,需要不断的拿外层循环传进来的每条记录去匹配
__________________________________________________________
同义词相当于alias(别名)
比如在schema2中创建schema1.table的同义词table1
则在schema2中执行select * from table1时,就相当于在执行select * from schema1.table
创建同义词语
Aggregator组件通常会降低性能,因为它们必须在处理数据之前对数据进行分组 Aggregator组件需要额外的内存来保存中间组结果通过如下方式对Aggregator组件进行优化 简化group by字段 1) group by避免使用复杂的表达式 2)
Joiner组件在运行时需要额外的内存空间处理中间结果,因此会影响性能 可通过查看Joiner performance计数器来决定Joiner组件是否需要优化通过如下方式优化Joiner组件 将Master Source指定为具有较少重复键值的Source 以Join
Normalizer会产生记录,尽可能的将Normalizer组件靠近Target
-----------------------------------------------