ODI编程自动清理日志
应用:
Oracle Data Integrator - 版本: 3.2.03.01 及以后发行的版本
本文档的信息可以应用到任何平台
目标
清理超过十天的日志和操作者进入的次数
ODI编程是如何自动清理日志的呢?
解决方案
实现解决方案的步骤:
1.定义一个ODI字符串变量V,用java格式检索目标数据
例如:
o Oracle:
SELECT to_char(sysdate-10, 'yyyy/MM/dd/ hh:mm:ss') FROM dual
o Microsoft SQLServer:
SELECT convert (char(11), getdate()-10, 111) + convert (char(8), getdate()-10, 8)
若要获取Microsoft SQLServer格式的完整清单,请参考http://msdn.microsoft.com/en-us/library/ms187928.aspx
Microsoft SQLServer格式可用于数据/时间转换
2.
3.以上声明必须用 "yyyy/MM/dd/ hh:mm:ss" 的格式返回数据,否则,在其他地方将会发出错误信息
4.注释423654.1:时间戳的格式必须是yyyy-mm-dd hh:mm:ss.fffffffff,在使用ODI清理工具时会有消息出现
5.
6.推荐定期使用 OdiExportLog 工具,在使用 OdiExportLog 移除日志之前,先将日志备份
7.建立一个ODI指定程序来执行 OdiExportLog 工具:
OdiPurgeLog "-TODATE=#V"
如果有必要删除会话日志和方案日志,则需要将PURGE_REPORTS 参数添加到工具里
OdiPurgeLog "-TODATE=#V" "-PURGE_REPORTS=1"
如果没有设置参数,则只有会话执行日志被清理