可能的MDA错误-ASE16SP02PL07

2020-09-07 06:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) ASE版本-Adaptive ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


ASE版本-Adaptive Server Enterprise/16.0 SP02 PL07/EBF 27576 SMP/P/Sun_svr4/OS 5.10/ase160sp02plx/2924/64位/FBO/2017年12月19日星期二20:03:26

操作系统版本-SunOS spp2dbphx1 5.11 11.3 sun4v sparc sun4v

问题描述 我们计划从 ASE 15.0.3迁移 EBF 17156 ESD#3 ASE 16.0 SP02 PL07 。 作为迁移的一部分,在MDA表测试期间。 对于 ASE 16.0 SP02 PL02 PL07 ..

,我们有以下发现
  • 当命令为"更新索引统计信息表名"或其他相关的更新统计信息命令时,monProcessActivity,monProcessStatement和monSysStatement未显示正确的物理/逻辑I/O
  • monProcessWaits也存在问题。 自流程开始以来的总时间与monProcessWaits中显示的时间之间存在很大差异。 那是monProcessWaits中的总等待时间的总和与查询运行时的总时间不同


以下详细信息–

案例1 – 我们运行了更新索引统计信息表名语句。 在我们观察的整个过程中,monProcessActivity均未显示该SPID的逻辑/物理I/O有所增加。 这是服务器上运行的唯一进程。 但是,我们发现monOpenObjectActivity和monProcessObject逻辑与物理I/O相应增加。 查询如下,附件中提供了详细信息。

命令-更新索引统计数据mytable

选择object_id('mytable')

-表ID为645446665。这是对象的ID,从sp_who中我们发现spid = 189

选择getdate()

从master..monOpenObjectActivity中选择*,其中ObjectID = 645446665

从master..monProcessActivity中选择*,其中Spid = 189

从master..monProcessWaits中选择w。*,i.description,在master..monWaitEventInfo i中选择i.WaitEventID = w.WaitEventID和Spid = 189

等待延迟" 00:00:30"

从master..monOpenObjectActivity中选择*,其中ObjectID = 645446665

从master..monProcessActivity中选择*,其中Spid = 189

从master..monProcessWaits中选择w。*,i.description,在master..monWaitEventInfo i中选择i.WaitEventID = w.WaitEventID和Spid = 189

案例2 – 我们运行了第二条语句(一条select语句)。 然后,在monProcessActivity和monProcessWaits上进行选择以收集MDA详细信息,然后等待等待20秒,并收集相同的MDA数据。 但是,对应的等待时间总和为20秒,总共仅返回14秒。 这比实际等待延迟时间少6秒。 因此,在monProcessActivity中缺少了30%的时间(20秒中的6分)

实际查询-通过check_no从big_test_table顺序中选择前1000000 *

-该过程的spid为829

选择getdate()

从master..monProcessActivity中选择*,其中Spid = 829

从monProcessWaits w,monWaitEventInfo i中选择w。*,i.description,其中i.WaitEventID = w.WaitEventID和Spid = 829

等待延迟" 00:00:20"

从master..monProcessActivity中选择*,其中Spid = 829

从monProcessWaits w,monWaitEventInfo i中选择w。*,i.description,其中i.WaitEventID = w.WaitEventID和Spid = 829

  • 请确认所做的观察是正确的。
  • 请告知我,是否在ASE SP02 PL08或ASE PL03 SP05及更高版本上存在相同的详细信息。 想知道哪个版本比该版本更高...我正在测试的版本没有此错误。
  • 我该如何引起SAP的注意? 除了通过SAP提起诉讼外,还有其他方法吗?

致谢

Anurag Bhattacharjee。

4条回答
Tong__Ming
2020-09-07 06:41

我假设您将"内核模式"设置为"线程化" 新的ASE 16安装。 这改变了一些有关I/O如何运行以及ASE中谁(哪个线程)实际运行I/O的事情。

如果您运行

 sp_sysmon" 00:00:10","内核" 

并转到输出的"线程利用率"部分,您将看到有单独的线程在做网络I/O和磁盘I/O。

线程利用率(OS%)用户忙系统忙
   ------------------------- ------------ -------------  ---------
   ThreadPool:syb_blocking_pool:采样期间无活动

   线程池:syb_default_pool
    线程2(引擎0)7.6%0.0%92.4%
    线程3(引擎1)15.6%0.2%84.2%
    线程4(引擎2)25.0%0.4%74.6%
    线程5(引擎3)34.6%0.2%65.2%
    线程6(引擎4)12.8%0.2%87.0%
    线程7(引擎5)10.2%0.0%89.8%
    线程8(引擎6)6.0%0.2%93.8%
    线程9(Engine 7)11.4%0.2%88.4%
   ------------------------- ------------ -------------  ---------
   汇总池总计123.2%1.4%675.4%
                   平均值15.4%0.2%84.4%


   线程池:syb_system_pool
    线程14(NetController)0.2%1.8%98.0%
    线程15(DiskController)0.6%0.6%98.8%
 

我想知道您的进程是否显示更多空闲状态,因为在线程模式下,您的进程在等待网络I/O或磁盘I/O线程时不会显示为繁忙。

在sp_sysmon中的"内核使用率"部分中,FYI大多也忽略I/O繁忙号码。 如果有任何I/O待处理(甚至只有1个),则任何空闲引擎都将被视为I/O繁忙

一周热门 更多>