当ODI的执行包含变量时,SNP_VAR_DATA工作资源库表会溢出
应用:
Oracle Data Integrator - 版本: 3.2.03.01 及以后发行的版本
本文档的信息可以应用到任何平台
目的
本文档的目的是解决由异常和未知失败所导致的情形、会话中止以及ODI进程执行性能低
下(该进程在之前能够运行成功)
行为和错误信息
如有有一个情境计划在Scheduler 代理上执行,则相应的会话中止或者停止相当长的时间后
才开始执行(在一些约束的条件下,遇到是20分钟),没有任何错误信息
在有些情形下, 在执行过程中,PK_VAR_DATA的不规范使用会被指示出来
如下信息被指示出来:
java.sql.SQLException: Numeric Overflow
or
java.lang.NullPointerException
at com.sunopsis.dwg.dbobj.SnpVarSess.setValue(SnpVarSess.java)
确定问题的根源
ODI操作模块记录的会议显示:当会话进行到刷新步骤或者设置ODI变量时,会出现问题
在对设计中定义的ODI变量进一步分析,表明大量的变量类型是 "Historize" 或者"Last Value".
核对工作资源库表之后,下面的情形之一会被观察到:
SNP_VAR_DATA表中包含I_VAL负值
这是由于java数值溢出问题引起的,该问题在ODI版本10.1.3.2中已被处理
SNP_ID 表中的 ID_NEXT已经达到了最大值
这是由于许多已经执行过的变量不断刷新引起的
启动 ODI 10.1.3.2.0,SNP_ID 表中 ID_NEXT的值比SNP_VAR_DATA表中的I_VAL
最大值稍小
SNP_VAR_DATA表包含相当多得记录
最后审核日期
2010.9.28
使用说明
提供一个检修向导来帮助调试指定的问题,测试工具包含在文档里,用于帮助解决问题
解决问题细节
这行为在ODI版本10.1.3.5.0已经被处理。这是因为在启动该版本的ODI时,
SNP_VAR_DATA表中的I_VAL列是存储在19位数字域里
为了避免类似问题,应该考虑将ODI升级到10.1.3.5.0版本或者以后的版本
同时,下面的操作将允许你解决腐败:
1. 清理变量的历史值
2. 在步骤1开始后,将保留的值重新编号以便获得ID的一个紧凑次序
3. 用来管理内部ID的表与变量值的表的新内容同步
为了解决ODI版本10.1.3的问题,点击这(windows DOC文件)
为了解决Sunopsis V3 和4 版本的问题,点击这(windows DOC文件)
请联系ODI的支持团队,他们会帮助你解决这问题的