云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

游戏服务器_263企业邮箱pop3设置_哪个好

小七 141 0

摘要

为了防止表/AIF/PERS\uxml上的LOB条目进一步增加,在生产系统上执行了删除策略。在删除了超出数据保留期的记录之后,表/AIF/PERS\uxml上的LOB数量相应地减少了;但是,打包的LOB容器的磁盘大小从未减少过。这个问题带来了以下问题:

增加了备份运行时间增大的磁盘大小迁移停机时间需求增加影响业务用户运行时与理想运行时

基于这一事实,我们研究了阻止清理打包LOB容器磁盘大小的根本原因,并找到了有效的解决方案,在可接受的时间内减少磁盘大小。所提供的方法已经在不同的系统上进行了测试,结果是显著的。

该问题最初是在2019年发现的,当时生产S/4HANA sFin在HANA 2.0 SPS03上。在系统升级到HANA 2.0 SPS04版本46之后,物联网技术应用,仍然观察到该问题。

总结:

磁盘大小未清理的根本原因是HANA内部问题(在SAP注释2950474和2910004中描述)。在当前HANA版本(2.00.046)上提供了解决方法。解决方法需要几个手动步骤,这些步骤已经记录在本博客中。应采取进一步行动,防止系统陷入同一问题。在非生产系统和生产系统上进行了一些测试和实现。结果是有意义的,可以进一步作为日常操作中的一个实现例程。

结果

下表显示了打包LOB容器的磁盘大小示例。容器id可能不是保护信息的真实容器。

读取计数等于0的第一个容器(id 1091226608549)是包含HANA 1.0的打包LOB信息的容器。这个容器的磁盘大小可以通过HDBCONS msl check-c命令来缩小,这在saptote222218和2910004中有描述。在执行这个命令之后,在系统重新启动之前,monitor view M\u TABLE\u LOB\u STATISTICS中显示的磁盘大小不会缩小。容器ID应该从十进制数转换为十六进制数,即0xxxxxxxxxx,然后可以在HDBCONS命令中使用

第二个容器(ID 1091814053503)是包含HANA 2.0打包LOB信息的容器。此容器的磁盘大小可以通过表一致性检查和修复命令(CALL check\u table\u consistency('repair\u HYBRID\u LOB\u OVERHEAD','SAPHDB','/AIF/PERS\u XML');)收缩。

第3行显示表/AIF/PERS\u XML上文件LOB的汇总结果。文件LOB是单个大小大于4KB的混合LOB。这些LOB将永远不会打包并单独存储在磁盘上。

通过AIF删除作业,容器(id 1091226608549)中打包的LOB数量减少最多:从2019年11月的43706229减少到2020年1月的746210;但是,打包的LOB容器的磁盘大小仍然相同。

同时,通过AIF删除作业,文件LOB的数量也从2019年11月的36137847减少到2020年1月的450890。在这种情况下,文件LOB的磁盘大小减小了,这与预期一致。

清理后,文件LOB中的碎片很少,但没有打包LOB中的碎片多。

由于SPS03中已知的HANA问题,LOB垃圾回收已自动停用。此问题是在使用参数垃圾收集\u daily \u schedule \u s时触发的。SAP HANA跟踪文件包含一个相关条目"LOB garbage collection is now paused"和SQL:"HANA\u TraceFiles\u MiniChecks"(SAP Note 1969700)报告检查ID T0842("停用CS LOB garbage collection")。

作为一种解决方法,可以使用以下选项:

取消设置参数garbage\u collect\u daily\u schedule\s配置参数garbage\u collect\u interval\u s

由于LOB垃圾回收停用,打包LOB的碎片无法及时清理,导致额外的磁盘使用覆盖了打包LOB容器的恒定大小。在实施解决方案后,我们可以看到执行LOB垃圾回收没有问题。

在系统升级到HANA 2.0 SPS04(>修订版2.00.042)之后。此错误已修复。现在在系统中引入了参数garbage\u collect\u daily\u schedule\u,它控制每天执行一次的LOB垃圾收集行为。

然而,LOB垃圾收集不能帮助减少磁盘大小或打包LOB上的碎片。因此,在HANA 2.0 SPS04上,此函数在这里没有帮助。

解决方案

SAP注释2950474–SAP HANA中与打包LOB相关的DB表增长解释了HANA数据库可能仍然显示高磁盘大小使用率的症状,即使在完成表数据清理和回收之后也是如此。它还提供了一种清理打包LOB容器中未使用的磁盘空间的方法,这些磁盘空间是从HANA 2.0开始生成的。

以下命令有助于检查和修复磁盘大小:

在测试和实现中,这两个命令都已执行,并在HANA 2.0以来生成的打包LOB容器的磁盘大小缩减方面显示了积极的结果。但是,此命令无助于缩小HANA 1.0之后生成的打包LOB容器的磁盘大小。因此,SAP Note 2910004中提到的HDBCONS命令应进一步组合使用,以整体减小磁盘大小。

这两个命令自HANA 2.00.040起都可用。

SAP Note 2910004–在具有打包LOB列的表上执行DDL操作后增加磁盘使用率提供了额外减小磁盘大小的方法打包LOB容器的磁盘大小,大数据分析软件,它是从HANA 1.0生成的。此容器上的有效清理被阻止的原因可能是由于在该CS表使用打包LOB的时间点上对此CS表执行了至少一条以下DDL语句:

ALTER table…LOB REORGANIZE…ALTER TABLE…DROP…(仅当删除的列是使用压缩LOB的LOB列时)ALTER TABLE…ALTER…(仅当更改的列是使用压缩LOB的LOB列时)删除表…

永久解决方案是将HANA升级到:

修订>=2.00.047.00(SPS04)或更高版本

当前HANA修订版有一个解决方法:

修订>=037.02(SPS03)或更高版本修订版>=042.00(SPS04)或更高版本

命令HDBCONS-e hdbnameserver'distribute:msl check-c'应手动执行。执行此命令后,需要重新启动HANA以验证结果。