Linux上的ASE 16.0 SP03 PL02/EBF 27415中的optdiag似乎已损坏

2020-09-24 16:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我刚刚在Widows 7托管的虚...

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

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


我刚刚在Widows 7托管的虚拟RHEL 7.4环境中安装了ASE 16.0 SP03 PL02/EBF 27415 Express版。我这样做是为了检查sp__optdiag的相应版本是否在 www.lumphanan.com/ase 可与SP03和SP02一起使用。 我没想到optdiag会给出错误,它对具有每种数据类型的表中的char(5)列进行了如下操作

内部错误:ct_fetch()中的数据长度不匹配。
CTLIB消息:-L4/O2/S6/N36/6/0:
ct_send():协议特定层:内部客户端库错误:存在 是tds状态机错误。 收到了非法的tds令牌序列。

sp__optdiag使用isql在同一个数据库上运行没有问题。

根据t1.txt创建数据库,并根据其他两个文本文件创建表。

直接在Windows 7上运行的SP02中的同一数据库可提供完整的optdiag输出,没有错误,并且与sp__optdiag输出匹配。

我不知道此版本的diadiag或ASE的安装方式是否有问题。

是否有人使用数据库中两个文件中创建的表来直接在Linux(或可能是任何操作系统)上运行SP03的测试副本,以供他们测试optdiag?

t1.txt (364乙)
8条回答
Nir深蓝
2020-09-24 17:19

FWIW,我能够重现您看到的错误,但也注意到您被引导到LANG env变量解决方案,该解决方案也为我进行了测试(未设置LANG, 一切都很好)。

复制统计信息是代码的绝佳应用,我再次赞赏并感谢您在这里所做的努力。

关于统计操作应用程序,我有/有其他想法,包括:

1。 统计"版本"。 即:能够(在单独的表中,或通过那些表中未使用的其他formatid,statid等在systabstats/sysstatistics中)存储不同的统计"版本",以适应"设置统计模拟"方案的情况,其中必须使用" optdiag统计信息模拟"非常麻烦(一次只能在目录中存储一组"模拟统计信息")。 除此之外,还可以在"模拟"状态和"活动"之间"切换"统计信息集,或将当前的"模拟集"移动到目录中的单独"副本"或"版本",然后导入另一个模拟集, 将其移动到单独的版本等。因此,可以执行以下操作:

sp__create_stats_version <表名>,<" active | simulate">, [[,],[colname]]

sp__switch_stats_version ,<" active | simulate">, [[,],[colname]] [仅打印]

2。 为一个或多个表生成所有原始的"更新统计信息"命令,这些命令可以单独执行或同时执行,以帮助优化统计信息维护的吞吐量。

ie:而不是" update index statistics mytable"-将其转换为"在幕后"操作的各个update stats命令。 即:如果mytable有索引:

index_name_1(col1,col2)

index_name_2(col2,col3,col4)

index_name_3(col4,col5)

proc的结果将为几种单独的(但等效的语句,可以与用户定义的度并行执行)打印出SQL语言:

更新统计信息mytable index_name_1

更新统计信息mytable index_name_2

更新统计信息mytable index_name_3

更新统计表mytable(col3)

更新统计表mytable(col5)

(简化示例,未考虑分区,全局,本地统计信息等)。

一周热门 更多>