系统运维.缓存.清除数据库级

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

系统运维.缓存.清除数据库级

【缓存体系介绍】

金蝶云星空的元数据缓存的整体层级结构如下:

客户端元数据缓存->服务端元数据缓存->数据库元数据缓存


客户端元数据缓存:在客户端电脑上,以临时文件的方式存储,如下图所示。

C:\Users\Admin\Documents\Kingdee\K3Cloud\FormMetadataCacheManager

服务端元数据缓存:在服务端的应用服务器上,以内存的方式存储。

数据库元数据缓存:在数据库服务器上,数据中心对应的数据库实例,存储在表T_META_OBJECTTYPECACHE中,如下图所示。



---------------------------------------------------------------------------------------------------------

【清除元数据的数据库级缓存】

【为什么要清?】

系统由于某些无法解释或者无法言说的原因,数据库级的元数据缓存损坏了,然后产生一些类似下图的错误信息。

去BOSIDE查询这些业务对象,控件其实都是在的,但运行时就是不行,这时候,基本可以判断是数据库级的元数据缓存损坏了。系统又没提供清理数据库级的元数据缓存的功能入口,那怎么办呢?目前主要有两种方案:

<1>直接数据库删表(要求有数据库执行权限)。

<2>借助BOSIDE刷新缓存(扩展业务对象再删除,业务对象的主版本号会变化,从而可以使得数据库级的元数据缓存失效)。



---------------------------------------------------------------------------------------------------------

【直接数据库删表】

数据库执行以下SQL:

DELETE FROM T_META_OBJECTTYPECACHE

【注意】为避免一些不必要的麻烦,请备份数据中心后再执行SQL脚本。

此表数据可以按业务对象删,或者全删都是可以的。

例如,只删采购订单的元数据缓存,SQL如下:

DELETE FROM T_META_OBJECTTYPECACHE WHERE FID='PUR_PurchaseOrder'




---------------------------------------------------------------------------------------------------------

【借助BOSIDE刷新缓存的操作步骤】

<1>定位出问题的业务对象的标识。

<2>登录BOSIDE,查找并打开该业务对象。

<3>先扩展该业务对象,不做任何修改,保存扩展,然后再删除此扩展(操作这么多,只是为了刷下业务对象的主版本号)。

到此,该业务对象的所有缓存都失效啦。


---------------------------------------------------------------------------------------------------------

【参考知识】

【系统运维.元数据缓存.如何彻底清除元数据缓存?】https://vip.kingdee.com/article/238989648603560960

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

系统运维.缓存.清除数据库级

【缓存体系介绍】金蝶云星空的元数据缓存的整体层级结构如下:客户端元数据缓存->服务端元数据缓存->数据库元数据缓存客户端元数据缓存:在...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息