微信公众号:大话EPM 10年EPM产品线经验,精通HFM/Tagetik产品
全部博文(18)
分类: IT职场
2021-07-22 16:13:43
今天本来想抽点时间继续写 HFM 规则函数exp的常用场景的使用,但是由于笔者最近在支持月结,比较繁忙,而且还碰到了一些非常规的问题,让我想起2年前在一个客户U AT 过程中遇到的一个棘手的问题,在此分享一下。
? 用户在web form中提交数据报错
? 在smartview中提交数据时同样也报如上的错误。
后台日志:
这个问题是在U AT 中途发生的,如果是在U AT 一开始出现可能就会简单点,记得大概是第三批用户U AT ,那天下午大约2 00 号人因为系统无法提交数据而放假,我们团队也被投诉了。
笔者的习惯,碰到问题先看日志,如果初步看不出来就先重启下系统看是否正常,如果还不正常,就仔细分析各种日志。后来发现这是一个很好的习惯。
我们先来分析下后台报错日志,笔者首先就看到了如下日志: Hsdsdata对象错误 , Unable to update data timestamps. Multiple servers may be out of time synchronization by more than .
日志说多服务器时钟同步问题,因为是集群,去检查数据库和应用服务器,以及应用服务器之间的时钟,确实有差几分钟的,然后和db团队配合将所有服务器通过命令行方式进行同步,将系统重启,以为搞定,结果还是无法提交数据。
当时咨询了一些高手,给的建议都不靠谱,笔者于是在谷歌上,oracle support上各种搜索关键字和解决方案进行了类似的尝试,MD ,当时记得系统各种调整,然后重启过无数次都没用。一开始以为是生产环境有问题,后来迁移到测试环境同样的问题。于是把生产环境拿掉两台,目前是三台集群,也是不行。无论是处理应用服务器时钟不一致,还是权限问题,重建用户也不行。
大概到半夜4点了,能用的绝招都用了,发现仍然搞不定,等到快放弃的时候,就停了下来休息了两分钟,又重新梳理了下思路,跳出当时的思考路径,重新读了下日志:
Hsdsdata对象错误 , Unable to update data timestamps . Multiple servers may be out of time synchronization by more than 。
意思是不能更新数据日期,于是从后台就大概看了下,居然有这么一张 后台的表appname_timestamp有数据,于是大胆在开发环境删除此表数据(先备份),执行用户提交数据,竟然可以提交了,问题解决。遗憾的是这次问题处理领导不知道。
create table appname_DATATIMESTAMP_BAK AS SELECT * FROM appname_DATATIMESTAMP ; DELETE FROM name_DATATIMESTAMP;
commit; |
如果不是这次出现这个问题,笔者之前一直没有留意过这张表。笔者当时就记下了处理的所思所想,以此来激励自己。笔者接触过很多项目,总会遇到一些比较棘手的问题,好多时候基本都要放弃的时候,问题就出现转机了,体会到了从山穷水尽到柳暗花明的惊喜,更是成就感。针对如上问题,笔者时常激励自己,也给H FM 初学者一点建议:
1) 遇到问题,首先要认真读系统日志,解决问题一定是从日志开始,hfm提供了丰富详细的日志(应用层,weblogic层,O S 层等等)
2) 当尝试各种方法不行时,一定要跳出当前思维圈,重新审视问题。问题没有简单与难,思考的方向不同才会导致问题被处理的复杂度。
3) 不要放弃,总会遇到棘手的问题,这是成长的机会,也是培养思考和处理问题的机遇。
4)认真思考,小心求证,大胆尝试,必然柳暗花明。