当查阅ODI变量的历史数据时出现“内存溢出错误“的消息_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4372 | 回复: 0   主题: 当查阅ODI变量的历史数据时出现“内存溢出错误“的消息        下一篇 
yanghui
注册用户
等级:上尉
经验:584
发帖:92
精华:0
注册:2011-12-13
状态:离线
发送短消息息给yanghui 加好友    发送短消息息给yanghui 发消息
发表于: IP:您无权察看 2011-12-23 16:25:55 | [全部帖] [楼主帖] 楼主

当查阅ODI变量的历史数据时出现“内存溢出错误“的消息

应用:

Oracle Data Integrator - 版本: 3.2.03.01及以后发行的版本

本文档的信息可以应用到任何平台

现象

当查阅ODI变量的历史数据时,显示下面的消息:

Error
java.lang.OutOfMemoryError


尽管ODI_MAX_HEAP 已经增加到256M

当增加参数到512M时,这消息就不会出现,但是它需要几分钟才显示数据

到底是有什么问题呢?

原因

有时候,ODI变量被刷新的频率会避开管理员的注意

这可能是个特例,涉及Historize 模式下使用的ODI变量。也就是说,这类型被刷新的变量和结果值储存在ODI工作资源库里

一段时间后,工作资源库可能包含一个指定变量的成千上万的记录。如果这个时候查阅历史数据,则整个集合的值装载在内存里,会负面影响内存资源和性能

解决方案

最好的实践就是定期的从历史ODI变量表里删除数据

下面是资源库显示清单的说明:

ODI变量

使用变量的上下文

与给定上下文里的变量相关的历史记录的序号

变量被使用的最早和最近的日期

select VAR_NAME, CONTEXT_CODE, count(*), min(FIRST_DATE), max(FIRST_DATE)
from <REP_SCHEMA>.SNP_VAR_DATA
group by VAR_NAME, CONTEXT_CODE


其中:<REP_SCHEMA>是物理架构,包含工作资源库和变量

推荐定期清理频繁刷新的变量的历史记录

为了做这个,首先要编辑变量并且点击历史标签上的垃圾图标

如果标签不能进入,联系oracle支持,他们会指导你如何用适当的SQL指令来操作

例如,使用下面的指令清理'myVar' 变量

delete <REP_SCHEMA>.SNP_VAR_DATA
where VAR_NAME = 'myVar'
and FIRST_DATE < sysdate - 7


上述方案的影响就是它删除了所有超过7天的ODI变量,如果有情境依赖于变量最后一次的值,则该值将会丢失




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论