PO系列之 过期消息的删除

点击蓝字 关注我们

前言

最近系统管理员监控表BC_MSG过快增长,HANA内存占用90% . 需要解决表BC_MSG 占用空间的问题. 加上之前公众号沟通群中也用人提出过这个问题. 所以借此机会详细说明一下

PO消息过期机制及删除处理

消息的记录

所有同步/异步的接口消息都会记录到PO的底层表中.

  • BC_MSG  which contains the main data for messages processed from Adapter Engine.(存在消息及消息内容)

  • BC_MSG_LOG  which contains the message versions created by logging(for both asynchronous and synchronous messages) 存放消息的日志信息

  • BC_MSG_AUDIT which contains the audit log of the messages.存放消息的审计信息

这三个表是PO系统中占用空间最多,增长最快的表

空间占用统计

可以通过HANA SQL语句查询到表占用空间的情况

SELECT TOP 1000 "SCHEMA_NAME", "TABLE_NAME", "DISK_SIZE"

FROM (SELECT SCHEMA_NAME,TABLE_NAME,DISK_SIZE FROM PUBLIC.M_TABLE_PERSISTENCE_STATISTICS ORDER BY DISK_SIZE DESC) TMP

PO消息保留期配置

PO的可以通过参数配置消息的保留时间

有两个地方可以定义保留期(优先级依次增高)

  1. 参数定义 : NWA->JAVA系统属性(可以通过站点地图查找)->服务->XPI Adapter: XI -> 属性输入 *persistDuration* 这两个参数可以在线修改,直接生效. (但线修改的值重启系统会丢失,建议由管理员后台修改) 图一

  2. 保留期定义 NWA->消息保留->创建一个保留规则  可以针对不同的接口设计不同的保留期规则(比如主数据设计为7天,交易数据设计为30天)  图二

图一

图二

TIPS

SPRING

上述设置的参数会在消息产生的时候,计算出消息的到期日 ,写入BC_MSG-PERSIST_UNTIL 字段.

所以改变参数,并不会改变旧消息, 只会影响新产生的消息的到期日期.

标准删除作业

PO通过后台作业定期删除过期的消息.通过下面的图可以找到后台作业管理页面

系统只会删除状态是DLVD(成功处理的) 的消息

日志信息中可以看到每次处理的统计情况

紧急处理方式

可以变更消息的到期日,让消息早点被作业删除

在HANA STUDIO 中用数据库管理员帐号登录后, 执行下面的SQL语句, 把到期日提前.

update bc_msg set persist_until = '20210414090000'

where to_dats(persist_until)<='20210416'

上述语句把20210416 之前到期的消息调整到 20210414  到期

然后在PO后台作业处理监控器中手工执行删除操作.

可以在日志中发现成功删除的信息.

日志中的条目数=SQL语句变更的条目数,验证通过

几个有用的SQL语句

统计到期日的消息条目数(用于推算每天预计删除的消息条目数)

select to_dats(persist_until),STATUS,count( * ) from bc_msg

where to_dats(persist_until)<='20220328' and status <> 'NDLV'

group by to_dats(persist_until),STATUS --达到保留期的消息

ORDER BY to_dats(persist_until)

统计总消息数

select count( * ) from bc_msg

总结

  • 建议对不同类型的消息设置不同的保留期. 通过PO的删除消息作业实现消息的删除.

  • 修改保留期只对新产生的消息有效.

  • 如果想紧急处理表的空间占用问题, 可以手工调整消息的到日期. 手工执行删除作业.

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.     

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,793评论 1 9
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,721评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 7,499评论 2 9
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 11,343评论 4 8