SAP HANA诊断文件和日志

诊断文件包括日志和跟踪文件,以及其他诊断的混合文件。 错误和信息文件。如果 SAP HANA 数据库出现问题,您可以 检查这些诊断文件是否有错误。跟踪通常需要显式启用,并且 配置。

诊断文件的位置

系统数据库的诊断文件存储在以下默认位置 在 SAP HANA 服务器上:/usr/sap/<SID>/HDB<instance>/<host>/trace。

租户数据库的跟踪文件存储在名为 DB_<database_name> 的子目录中。

建议

监控磁盘 用于诊断文件的空间,并删除不再使用的文件 需要。

如果本地安全存储 (LSS) 处于活动状态,它会将跟踪和转储文件写入文件夹 在其共享文件系统中 (/usr/sap/<SID>/lss/shared/data/trace)。 只有用户 <sid>crypt 才能访问此文件夹。为 有关详细信息,请参阅《SAP HANA 安全指南》。

用于查看诊断文件的工具

可以在 SAP HANA 数据库资源管理器中查看诊断文件,其中文件根据目录浏览器中的主机和服务进行分组。您可以通过右键单击其中一个文件夹来访问文件。

您还可以在 SAP HANA Studio 中“管理”编辑器的“诊断文件”选项卡上查看诊断文件。

痕迹

SAP HANA 提供了各种跟踪,用于获取有关操作的详细信息 用于故障排除和错误分析的数据库系统。

可以在 SAP HANA 数据库资源管理器或 SAP HANA Studio 中配置跟踪。系统 权限 TRACE ADMIN 是必需的。请参阅下面的相关链接以跳转到相关链接 主题。

下表概述了 SAP HANA 中提供的主要跟踪:

配置或运行...自。。。用。。。
数据库跟踪了解 SAP HANA 数据库组件中的活动 常规,或针对特定用户或客户端操作
注意

数据库 跟踪始终处于活动状态。有关错误情况的信息是 始终记录在警报跟踪文件中。

SAP HANA 数据库资源管理器

SAP HANA 工作室。另请参阅 KBA 2380176 - 常见问题解答:SAP HANA 数据库跟踪。

SQL 跟踪收集有关在 索引服务器SAP HANA 数据库资源管理器

SAP HANA 工作室

昂贵的声明记录有关其 执行时间超过配置的阈值SAP HANA驾驶舱

SAP HANA 数据库资源管理器

SAP HANA 演播室

计划跟踪可视化 SQL SELECT 语句的执行计划 深入查询性能分析
注意

计划跟踪是 用于查询执行分析的 SAP HANA 工具:基于 Web 的 SQL 分析器,集成到 适用于 SAP HANA 的 SAP HANA 主控室和 SAP Web IDE,以及 SAP 的 SAP HANA PlanViz 透视图 HANA 工作室。

SQL 分析器

SAP HANA 的 SAP HANA PlanViz 透视图 演播室

死锁检测创建包含线程的 waitgraph 文件 有关死锁的信息。SAP HANA database explorer (SQL Statement CREATE WAITGRAPH)
性能跟踪记录单个查询处理的性能指标 数据库内核中用于详细性能分析的步骤 SAP 支持SAP HANA 工作室
内核分析器生成探查器跟踪,以便进行详细的性能分析 SAP 支持SAP HANA 数据库资源管理器

SAP HANA studio (SQL 语句 START 内核 探查器)

完整系统信息转储如果 SAP 支持人员请求,请创建运行时转储以了解 SAP HANA在问题情况下的行为SAP HANA cockpit or SAP HANA studio (SQL statement CREATE RUNTIMEDUMP)
SAP Web Dispatcher HTTP 跟踪分析 HTTP 请求SAP HANA 主控室或 SAP HANA Studio

数据库跟踪(基本、特定于用户和端到端)

数据库跟踪记录有关 SAP HANA 组件中的活动的信息 数据库。您可以使用此信息来分析性能以及诊断和调试 错误。

数据库跟踪文件

SAP HANA 数据库的每个服务都写入其自己的跟踪文件。文件名 遵循默认命名约定:

<service>_<host>。<port_number>。<3_digit_file_counter>.trc

indexserver_veadm009.34203.000.trc

警报跟踪组件记录的信息 将数据库跟踪写入单独的文件,以确保关键信息 很容易找到。文件名遵循默认命名约定:

<service>_alert_<host>.trc

注意

为 Web Dispatcher 服务生成的跟踪文件 是不同的。有关详细信息,请参阅内部 Web 的跟踪配置 调度员。

您可以使用其他诊断文件访问数据库跟踪文件。

基本数据库跟踪配置

数据库跟踪始终处于活动状态。这意味着 始终记录有关错误情况的信息。但是,对于更详细的 分析特定问题或组件时,可能需要配置某个 将组件跟踪到高于默认值的跟踪级别。例如,备份跟踪组件记录 有关备份操作的信息,授权组件记录 有关授权操作的信息,等等。

提示

查看更多 有关在哪种情况下使用哪个跟踪组件的信息,请参阅 SAP 说明 2380176.

更改跟踪组件的跟踪级别

如果跟踪组件在所有服务中都可用,则跟踪级别可以是 一次为所有服务配置。也可以配置跟踪 特定服务的组件级别。的跟踪级别 在服务级别配置的组件将覆盖为其配置的跟踪级别 所有服务。某些组件仅在特定服务中可用,并且 因此,不能全局更改。

您将 将内存组件的跟踪级别设置为 对于所有服务和索引服务器服务,请将其更改为 警告。这意味着索引服务器服务的内存组件将跟踪到级别 WARNING 和所有其他内存组件 服务将跟踪到级别 ERROR。

您可以配置数据库跟踪的跟踪级别 SAP HANA 数据库资源管理器或 SAP HANA Studio 中的组件。或者,您可以修改global.ini配置文件(适用于所有服务)或特定于服务的文件(如 indexserver.ini)的 trace 部分中的参数。各个参数对应 跟踪组件,参数值为跟踪级别。

使用以下语句将身份验证组件的跟踪级别设置为 DEBUG:

ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('trace', 'authentication') = 'DEBUG' WITH RECONFIGURE

注意

在 SAP HANA 数据库资源管理器和 SAP HANA Studio 中, 从全局或 ALL 继承的跟踪级别 SERVICES 配置(默认配置或系统配置) configuration)显示在括号中。

哪些痕量水平是可能的?

跟踪级别越高,记录的信息越详细 跟踪。存在以下跟踪级别:

  • 无 (0)
  • 致命 (1)
  • 错误 (2)
  • 警告 (3)
  • 信息 (4)
  • 调试 (5)
注意

即使选择跟踪级别 NONE,有关错误情况的信息也是 仍然记录。

警报跟踪组件

警报跟踪组件用于确保 通过复制高优先级跟踪消息,可以轻松找到关键信息 以分隔警报跟踪文件。默认情况下,跟踪级别为 ERROR 的跟踪消息 及更高版本将写入警报跟踪文件。

如果警报组件设置为 警告,警报跟踪包含使用跟踪级别 WARNING、FATAL 创建的消息 和 ERROR。

特定于用户的数据库跟踪和端到端数据库跟踪

特定于用户的端到端跟踪通过允许 您可以在特定用户的上下文中更改组件的跟踪级别,或者 端到端分析。在这些上下文中为组件配置的跟踪级别 覆盖数据库跟踪中配置的那些。

在数据库跟踪中,您 将所有服务的内存组件的跟踪级别更改为 ERROR,对于索引服务器服务,您更改了它 警告。现在,为 User1 创建特定于用户的跟踪并增加跟踪 所有服务级别为警告。对于索引服务器服务,将其增加到 调试。这会导致内存组件的以下跟踪行为:

  • 对于除 User1 之外的所有用户,除索引服务器之外的所有服务都将进行跟踪 到 ERROR
  • 对于除 User1 之外的所有用户,索引服务器将跟踪到 WARNING
  • 对于 User1,除索引服务器之外的所有服务都将跟踪到 WARNING
  • 对于 User1,索引服务器将跟踪到 DEBUG

如果连接到版本为 HANA 2.0 SPS 03 的数据库,则可以在配置特定于用户的数据库时使用语句哈希选项 SAP HANA 数据库资源管理器中的跟踪。此选项允许您过滤 根据特定的 SQL 语句进行跟踪。

若要对特定 SQL 语句运行跟踪,必须首先找到唯一标识符 (语句哈希)并将其输入到语句中 配置特定于用户的跟踪会话时的哈希字段。

例如,如果要在运行语句时查看跟踪信息,请执行以下命令 语句查找 ITS 语句哈希:SELECT * FROM DUMMY;

SELECT * FROM DUMMY;
SELECT statement_string, statement_hash FROM m_sql_plan_cache WHERE statement_string = 'SELECT * FROM DUMMY;';

“语句哈希”字段中输入第二条语句的结果 要包含的“用户特定跟踪”配置对话框 跟踪 your 中的语句 特定于用户的跟踪。SELECT * FROM DUMMY;

端到端跟踪

端到端跟踪由 SAP HANA 数据库外部的应用程序触发。默认值 SAP HANA 数据库组件的跟踪级别通常足够,但不能 需要改变。有关端到端分析的更多信息,请参阅 landscape,请参阅 SAP 库中的以下链接“端到端分析概述” 对于 Solution Manager。

租户数据库中的数据库跟踪配置

租户数据库继承在系统数据库中配置的数据库跟踪级别 除非更改租户数据库中的跟踪级别。

租户数据库中跟踪组件的跟踪级别继承自系统数据库 作为默认值。如果要为特定 组件,全局用于所有服务或特定 服务,您可以通过更改相关组件的跟踪级别来实现。

注意

在 SAP HANA Studio 中,组件的跟踪级别也将显示为系统 跟踪级别,并且无法更改系统跟踪级别。这是因为从 从租户数据库的角度来看,数据库和系统实际上是 相同。真正的系统跟踪级别(即在系统数据库中配置的值) 显示为租户数据库的默认跟踪级别。

注意

从 ALL SERVICES 配置继承的跟踪级别( 默认或数据库配置)显示在括号中。

在以下示例中,您可以看到组件分配的默认跟踪级别继承自系统数据库 是警告。此数据库中所有服务的跟踪级别已更改为 INFO。这 因此,IndexServer 服务将继承此跟踪级别。所有其他组件保持 默认配置。

租户数据库中的数据库跟踪配置(Studio 视图)

配置数据库跟踪文件轮换

跟踪文件轮换通过限制大小来防止跟踪文件无限期增长 和跟踪文件数。您可以为所有服务全局配置跟踪文件轮换 在数据库和单个服务中。

先决条件

您具有系统权限 INIFILE ADMIN。

上下文

在global.ini配置文件中配置跟踪文件轮换 (所有服务)或特定于服务的文件(例如,indexserver.ini)。

程序

取决于您是为所有系统服务配置跟踪文件轮换,还是为 单个服务,请按如下步骤操作:
选择描述
所有服务在 global.ini 文件的 trace 部分中, 配置以下参数:
  • maxfiles 通过指定最大数量 可能存在的跟踪文件数
  • maxfilesize 通过以字节为单位指定 单个跟踪文件可能达到的最大大小
注意

global.ini文件中跟踪文件轮换的默认配置是 maxfiles=10 和 maxfilesize=10000000。

个性化服务在 global.ini 文件的 trace 部分中, 配置以下参数。如果没有跟踪部分,请添加 一。
  • maxfiles 通过指定最大数量 可能存在的跟踪文件数
  • maxfilesize 通过以字节为单位指定 单个跟踪文件可能达到的最大大小(以字节为单位)
注意

如果跟踪部分中不存在这两个参数,或者您创建了新的跟踪部分,请创建它们。

结果

当跟踪文件达到指定的最大文件数时 size,它将被关闭,并创建一个新文件。当指定的最大文件数 ,下次创建新文件时,将删除第一个文件,依此类推 上。
注意

系统检查大小和数量 定期诊断文件。这些检查的阈值(检查 50 和 51) 应与配置的跟踪文件轮换一致。

SQL 跟踪

SQL 跟踪收集有关在索引上执行的所有 SQL 语句的信息 服务器(租户数据库)或名称服务器(系统数据库),并将其保存在跟踪文件中 进一步分析。默认情况下,SQL 跟踪处于非活动状态。

SQL 跟踪收集的信息包括每个语句的总执行时间, 受影响的记录数、潜在错误(例如,唯一约束 违规),正在使用的数据库连接等。The SQL 跟踪是了解已执行语句及其潜力的良好起点 对整体应用程序和系统性能的影响,以及识别 语句级别的潜在性能瓶颈。

SQL 跟踪文件

SQL 跟踪信息保存为可执行的 python 程序(默认情况下sqltrace_<...>.py),可用于重播 跟踪的数据库操作。还可以使用 SQL 跟踪分析器工具实现自动化 文件的分析。

启用和配置 SQL 跟踪

您可以在 SAP HANA 数据库资源管理器或 SAP HANA Studio。或者,您可以修改 indexserver.ini(租户数据库)或 nameserver.ini(系统数据库)的sqltrace 部分中的参数。

使用以下命令 语句来启用 SQL 跟踪:

ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('sqltrace', 'trace') = 'on' WITH RECONFIGURE

建议

不要离开 SQL 跟踪一直处于启用状态,因为写入跟踪文件会占用 磁盘,并可能显著影响数据库性能。

跟踪级别

您可以通过更改 indexserver.ini文件(租户数据库)或nameserver.ini文件(系统数据库)中的配置参数 [SQLTRACE] 级别。跟踪 信息包括执行时间戳、线程 ID、连接等详细信息 ID 和语句 ID。

跟踪级别描述
正常所有已成功完成的语句都是 追踪。
错误将跟踪返回错误的所有语句。
ERROR_ROLLBACK将跟踪回滚的所有语句。
所有语句,包括正常状态、错误状态和 跟踪回滚。
ALL_WITH_RESULTS除了使用跟踪级别 ALL 生成的跟踪之外, select 语句返回的结果也包含在 跟踪文件。
注意

包含结果的 SQL 跟踪可以快速 变得非常大。

谨慎

SQL 跟踪 包括结果可能会暴露与安全相关的数据,例如 例如,查询结果集。

跟踪详细信息

可以通过设置参数 [sqltrace] details 来配置跟踪详细信息。您可以选择一项或多项 要包含在跟踪中的信息类别,例如: '基本,resource_consumption'。列出了可能的值 在下表中。请注意,对于资源消耗信息(这是 也包含在“全部”选项中)global.ini文件 [resource_tracking] 部分中的以下两个参数必须设置为“on”:

  • enable_tracking

  • memory_tracking

您可能还希望通过设置 global.ini 文件中 [memorymanager] statement_memory_limit 参数的值。将此设置为 5,表示 例如,应用 5GB 的限制。

跟踪详细信息

描述

基本

连接信息和语句信息(默认)

包括连接和语句的所有注释

user_variables

会话上下文中的用户定义变量

陈述

语句信息,如执行时间戳、线程 ID、 连接 ID、语句 ID、语句哈希和持续时间

session_variables

会话上下文中的系统定义变量

resource_consumption

语句资源消耗信息,例如 local (+remote,如果 available) cpu-time 和 memory-size。

护照

解码的护照内容

连接

连接信息,例如会话 ID、事务 ID、客户端 PID、客户端 IP、用户名、架构名称和会话变量:值 对

“空”

没有这些注释的跟踪

其他配置选项

选择配置参数违约描述
跟踪文件名跟踪文件sqltrace_$HOST_${PORT}_${COUNT:3}.py跟踪文件的用户特定名称

如果不输入 用户特定的文件名,文件名根据 以下默认模式:

DB_<dbname>/sqltrace_$HOST_${PORT}_${COUNT:3}.py, 哪里:

  • DB_ 是子目录,其中 如果在租户上运行,则会写入跟踪文件 数据库<dbname>
  • $HOST 是服务的主机名(例如, 索引服务器)
  • $PORT 是服务的端口号
  • $COUNT:3 是自动生成的 3 位数字 从 000 开始,递增 1 并用作文件 创建多个文件时的计数器。
用户、应用程序、对象和语句 过滤 器用户空字符串用于将跟踪的语句限制为 以及特定的数据库或应用程序用户和应用程序 对于某些语句类型和特定对象(表、视图、 程序)。

所有符合筛选条件的语句都是 记录并保存到指定的跟踪文件中。

对于用户、application_user和应用程序,通配符的使用是 支持(请参阅以下小节使用 通配符)。
application_user
应用
对象
statement_type
冲洗限制flush_interval16在跟踪期间,将缓冲连接的消息。如 一旦缓冲了消息的刷新限制数(或者如果 连接已关闭),这些消息将写入跟踪 文件。

设置为 0 时,每个 SQL 跟踪语句都会立即生效 写入跟踪文件

使用通配符

如果对用户、application_user和应用程序参数应用筛选器,则还支持使用通配符和例外。星号 通配符表示任意数量的字符和感叹号 表示排除项。例如:

user=SM*,JONES,!GREEN,!BRO*

在这种情况下,将跟踪所有以 SM 开头的用户,将跟踪 JONES, 用户 GREEN 不会被追踪,所有以 BRO 开头的用户都不会被追踪 追踪。如果字符串中的术语相互冲突,则 项的出现决定了结果。在以下示例中,用户 SMALL 尽管被排除在外,但仍会被追踪;排除项被忽略,因为它 发生在第一个通配符之后。

user=SM*,JONES,!SMALL,!BRO*

跟踪文件轮换

跟踪文件的大小和数量由以下参数控制。

参数违约描述
max_files1设置最大跟踪数 文件
filesize_limit1610612736(或 1.5 GB)设置单个跟踪文件的最大大小 字节
谨慎

如果最大文件数和最大文件大小 到达时,SQL 跟踪停止。如果发生这种情况,您可以增加 max_files 和 filesize_limit 的值。看 SAP 说明 2629103.

SAP HANA SQL 跟踪分析器

SAP HANA SQL 跟踪分析器是可用于分析 HANA SQL 的 Python 工具 跟踪输出。该工具为您提供了顶级 SQL 语句、表的概述 访问的有关不同报表类型和交易的统计信息 执行。

有关安装和使用 SAP HANA SQL 跟踪分析器的详细信息,请参阅 SAP 知识库文章 2412519 常见问题解答:SAP HANA SQL 跟踪分析器。

性能跟踪

性能跟踪是内置于 SAP HANA 数据库中的性能跟踪工具。它 在数据库内核中记录各个查询处理步骤的性能指标。 SAP 支持可能会要求你提供性能跟踪。

收集的信息包括特定步骤所需的处理时间, 读取和写入的数据大小、网络通信以及特定于 特定于运算符或处理步骤(例如,用作输入的记录数和 输出)。可以同时在多个租户数据库中启用性能跟踪 是时候分析跨数据库查询了。

性能跟踪文件

性能跟踪结果将保存到文件扩展名为 *.tpt 或 *.cpt 的跟踪文件中。 您可以使用其他诊断文件访问它。要分析这些文件,您需要一个 能够读取输出格式(*.tpt 和 *.cpt)的工具。SAP 支持提供工具 用于评估性能跟踪。

启用和配置性能跟踪

可以在 SAP HANA 中启用和配置性能跟踪 工作室或使用 ALTER SYSTEM * PERFTRACE SQL 语句。

要启动性能跟踪,请执行 。ALTER SYSTEM START PERFTRACE

配置选项

选择描述
跟踪文件名跟踪数据自动发送到的文件的名称 在性能跟踪停止后保存
用户和应用程序筛选器用于将跟踪限制为单个特定数据库的筛选器 user、单个特定应用程序用户和单个特定 应用
跟踪执行计划除了默认值之外,您还可以跟踪执行计划 跟踪数据。
函数探查器函数分析器是一种非常细粒度的性能 基于源代码检测的跟踪工具。它 通过提供更多功能来补充性能跟踪 有关各个处理步骤的详细信息 在数据库内核中完成。
期间您希望跟踪运行多长时间

如果某个场景是 要进行跟踪,请确保输入的值大于 方案运行所需的时间。如果没有具体的 场景来跟踪,而不是一般的系统性能, 然后输入一个合理的值。在指定的持续时间之后, 跟踪会自动停止。

在扩展模式下提供其他过滤器选项以限制跟踪 数据进一步。

成本高昂的语句跟踪

昂贵的语句是执行时间超过 配置的阈值。昂贵的语句跟踪记录有关这些的信息 语句以供进一步分析,并且默认情况下处于非活动状态。

如果除了激活成本高昂的语句跟踪之外,还启用了每条语句的内存 跟踪时,昂贵的语句跟踪也会显示用于 执行昂贵的语句。

昂贵的语句跟踪信息

如果您具有 TRACE ADMIN 权限,则可以查看成本高昂的语句跟踪 通过以下方式提供信息:

  • 在 SAP HANA 的 Expensive Statements 应用中 驾驶舱
  • 在 SAP HANA 数据库资源管理器的语句库中 通过搜索昂贵的报表分析

  • 在M_EXPENSIVE_STATEMENTS系统视图中

启用和配置成本高昂的语句跟踪

可以在 SAP HANA 主控室或 SAP 中启用和激活成本高昂的语句跟踪 HANA 数据库资源管理器。或者,您可以修改global.ini配置文件的 expensive_statement 部分中的参数。如果设置了更多值 超过三个阈值之一过滤超过其中任何一个阈值的语句 过滤器被选为昂贵的语句;并非所有过滤器都需要这样做 您申请被超越。

配置选项

注意

下表显示了可用的配置参数; 并非所有这些功能在 SAP HANA 主控室或 SAP HANA 中都可用 数据库资源管理器。

选择配置参数默认值描述
跟踪状态使off指定跟踪的激活状态。
阈值 CPU 时间threshold_cpu_time-1(禁用)指定语句执行的阈值 CPU 时间 微秒。

设置为 0 时,所有 SQL 语句都为 追踪。

注意

资源跟踪和 CPU 时间跟踪 还必须启用。为此,您可以配置 global.ini文件的 resource_tracking 部分中的相应参数。

阈值存储器threshold_memory-1(禁用)指定语句执行的阈值内存使用量 以字节为单位。

设置为 0 时,所有 SQL 语句都为 追踪。

注意

资源跟踪和内存跟踪必须 也启用。为此,您可以配置 global.ini文件的 resource_tracking 部分中的相应参数。

阈值持续时间阈值_duration1000000( 微秒 = 1 秒 )指定阈值执行时间 微秒。

设置为 0 时,所有 SQL 语句都为 追踪。在 SAP HANA 数据库资源管理器中,可以将 以秒为单位测量的阈值持续时间或 毫秒。

用户、应用程序和对象筛选器用户空字符串指定筛选器以限制跟踪的语句 到特定数据库、应用程序用户、 应用程序或表/视图。对于用户、application_user和应用程序,通配符的使用是 支持(请参阅以下小节使用 通配符)。
application_user
应用
对象
护照跟踪级别passport_tracelevel空字符串

如果要激活昂贵的语句跟踪作为一部分 具有过程监控的端到端跟踪方案 基础结构 (PMI),您可以指定护照跟踪 level 作为附加过滤器。

这意味着只有标有护照的请求 的指定级别被跟踪。

注意

过程跟踪只能用于 ABAP 和 Business Objects 堆栈。

跟踪参数值trace_parameter_valuestrue在 SQL 语句中,字段值可以指定为 参数(在语法中使用“?”)。如果这些参数 值不是必需的,那么您可以禁用此设置 减少跟踪的数据量。
跟踪刷新间隔trace_flush_interval10指定跟踪文件在之后的记录数 刷新。
使用内存中跟踪use_in_memory_tracingtrue如果内存中跟踪处于活动状态,则信息将缓存在 记忆。否则,数据将直接写入文件。
内存中跟踪记录in_memory_tracing_records30000指定最大跟踪记录数(每个服务) 存储在内存中。

此设置仅在以下情况下生效 内存跟踪处于活动状态。

使用通配符

如果对用户、application_user和应用程序参数应用筛选器,则还支持使用通配符和例外。星号 通配符表示任意数量的字符和感叹号 表示排除项。例如:

user=SM*,JONES,!GREEN,!BRO*

在这种情况下,将跟踪所有以 SM 开头的用户,将跟踪 JONES, 用户 GREEN 不会被追踪,所有以 BRO 开头的用户都不会被追踪 追踪。如果字符串中的术语相互冲突,则 项的出现决定了结果。在以下示例中,用户 SMALL 尽管被排除在外,但仍会被追踪;排除项被忽略,因为它 发生在第一个通配符之后。

user=SM*,JONES,!SMALL,!BRO*

跟踪文件轮换

为了防止昂贵的语句跟踪信息无限期增长,您 可以使用以下参数限制跟踪文件的大小和数量,expensive_statement global.ini。

参数违约描述
麦克斯文件10指定跟踪文件的最大数目。

当 达到的最大跟踪文件数,最早的跟踪文件 被删除并打开一个新。

设置为 0 时,跟踪 文件旋转被禁用。

最大文件大小10000000(或 9.5 兆字节)指定单个跟踪文件的最大大小 字节。

当最大文件数大于 1 时 达到最大文件大小时,新的跟踪文件将 打开。

当最大文件数为 1 时, 最大文件大小大于零,并且最大文件 达到大小,删除跟踪文件并重新创建跟踪文件 打开。

使用 SQL 进行死锁检测

为了帮助诊断系统问题,您可以创建一个等待图文件,其中包含有关死锁的线程信息。

在 SQL 命令行中,您可以使用 ALTER SYSTEM CREATE WAITGRAPH 命令创建一个 包含有关死锁的线程信息的 waitgraph 文件。完整的细节 《SAP HANA SQL 参考指南》中给出了语法;这里,用法和可选 配置步骤通过一些示例进行解释,以说明基本 功能性。运行此命令需要RESOURCE_ADMIN权限。您可以 在“监视”视图M_JOB_PROGRESS中监视作业的进度。

以下命令会将服务 myhost:30003 上的当前等待图写入跟踪中 名为 my_waitgraph.trc 的文件。



ALTER SYSTEM CREATE WAITGRAPH AT LOCATION 'myhost:30003' INTO FILE 'my_waitgraph.trc'

如果未指定文件名,则以下默认文件名结构为 使用:



<servicename>_<hostname>.<port>.waitgraph.<YYYYMMDD-HHMMSS>.<pid>.trc

在上面的示例中,只有导致死锁的线程是等待图的一部分。获取更多 detail 您可以使用 ALL THREADS 语法包含所有线程,即使它们没有 参与僵局:



ALTER SYSTEM CREATE WAITGRAPH ALL THREADS INTO FILE 'my_waitgraph.trc'

内核探查器

内核探查器是内置于 SAP HANA 数据库中的采样探查器。它可以是 用于分析第三方软件无法使用的系统的性能问题 已安装,或性能跟踪无法访问的数据库部分。是的 默认情况下处于非活动状态。

例如,内核配置文件收集有关频繁和/或昂贵的信息 查询处理期间的执行路径。

建议您在执行之前立即启动内核探查器跟踪 要分析的语句,并在完成后立即停止。 这样可以避免不必要地记录不相关的陈述。这也是可取的 这种跟踪可能会对性能产生负面影响。

启用和配置内核探查器

你 可以在 SAP HANA 数据库资源管理器中启用和配置内核探查器 (跟踪配置),或者您可以从 SQL 命令管理内核探查器 行,使用 ALTER SYSTEM 命令。在这两种情况下,RESOURCE ADMIN 或 TRACE ADMIN 权限是必需的。

使用 SQL 启用 Kernel Profiler

内核探查器语句支持启动、停止、保存等基本功能 并且清晰,但也有许多选项,例如运行配置文件 特定位置,适用于特定用户或在某些内存限制内。

以下示例说明了 ALTER SYSTEM 的基本用法 命令:

ALTER SYSTEM START KERNEL PROFILER
ALTER SYSTEM SAVE KERNEL PROFILER

SAVE 关键字停止探查器,将数据保存(保存到跟踪目录)和 清除分配的内存。以下语句在 host:port 处开始分析 ab1234:30003 和用户特定跟踪(数据库跟踪)配置文件的过滤器 MYTRACE配置文件

ALTER SYSTEM START KERNEL PROFILER AT 'ab1234:30003' TRACEPROFILE 'MYTRACEPROFILE';

有关这些选项的更多选项和详细信息,请参阅《SAP HANA SQL 参考指南》 命令。

数据库资源管理器中的配置选项

选择描述
要分析的服务要分析的服务。
采样间隔内核探查器在两者之间等待的时间 调用堆栈检索。

当您激活内核分析器时, 它检索多个相关线程的调用堆栈 次。它在每个样本之间等待时间长度 此处指定减去上一次检索所花费的时间。

内存限制将停止跟踪的内存限制。

内核分析器 可能会占用大量内存。防止 SAP HANA 数据库因性能分析导致内存不足,您 可以指定不能的内存限制 超过。

可选过滤器要执行的特定数据库用户或应用程序用户 轮廓。

内核探查器跟踪

分析结果将保存到两个跟踪文件中。从 SQL 启动时:

  • kernel_profiler_cpu.dot

  • kernel_profiler_wait.dot

从数据库资源管理器启动时:

  • CPU_<service>_<host>_<port>_<timestamp>.dot
  • WAIT_<service>_<host>_<port>_<timestamp>.dot

要分析这些跟踪文件,您需要一个能够读取 .dot 输出的工具 格式,否则系统可能会要求你将文件发送给 SAP 支持。

查看M_KERNEL_PROFILER

视图M_KERNEL_PROFILER显示探查器的状态(已启动或 stopped),并提供有关当前内核分析器的信息。视图可以 也可由具有 RESOURCE ADMIN 和/或 TRACE ADMIN 权限的用户访问。

内部 Web 调度程序的跟踪和跟踪配置

多个跟踪和跟踪配置选项可用于内部 Web Dispatcher,作为本机 SAP HANA 服务运行 (网络调度程序)。

HANA 内部 Web 调度程序是 NetWeaver Web 调度程序的实现。这 Web 调度程序的支持组件 ID 为:BC-CST-WDP。更详细 可以参考 SAP Web Dispatcher 文档和 NetWeaver 的信息 使用下面“相关信息”下给出的链接进行文档。

开发人员跟踪

开发人员跟踪是 Web Dispatcher 的主要跟踪,包含技术 用于解决问题的信息。

开发人员跟踪文件为 webdispatcher_<host>。<端口>_dev_webdisp。

可以通过以下方式配置开发人员跟踪:

  • 更改 webdispatcher 服务的 dev_webdisp 组件的数据库跟踪级别

    默认值 跟踪级别为 ERROR。

  • 更改(或添加)webdispatcher.ini配置文件的 [profile] 部分中的属性 rdisp/trace。

    可能的值 分别为 0、1、2 和 3。

数据库跟踪

Web Dispatcher 的数据库跟踪文件包含相关的辅助信息 Web Dispatcher与SAP HANA集成系统的集成 (启动/停止、配置更改等)。

数据库跟踪文件包括:

  • webdispatcher_<host>。<端口>。<3_digit_file_counter>.trc
  • webdispatcher_alert。<主机>.trc

您可以通过更改 webdispatcher 服务的 webdispatcher 组件的跟踪级别来配置数据库跟踪。

标头跟踪

标头跟踪允许您有效地分析 HTTP 请求和响应,因为它 仅包含请求数据,不包含有关 Web 内部工作的信息 调度。

您可以通过在webdispatcher.ini配置文件的 [profile] 部分添加属性 icm/http/trace_info 来激活标头跟踪,并将 的值为 。默认情况下,跟踪级别为跟踪级别。truefalse

标头跟踪信息将写入dev_webdisp跟踪 文件。

HTTP访问日志

若要监视在 SAP HANA 系统中处理的所有 HTTP 请求,可以设置 内部 Web 调度程序,为每个 Web Dispatcher 编写标准化的 HTTP 日志 请求。

要将 Web Dispatcher 配置为记录所有 HTTP(s) 请求, 将属性 icm/http/logging_0 添加到webdispatcher.ini配置文件的 [profile] 部分,指定 以下值:

PREFIX=/, LOGFILE=$(DIR_INSTANCE)/trace/access_log-%y-%m-%d, MAXSIZEKB=10000, SWITCHTF=day, LOGFORMAT=SAP

访问日志文件为 access_log-<timestamp>。

示例日志文件条目:[26/Nov/2014:13:42:04 +0200] 10.18.209.126 BOB - "GET /sap/xse/test/InsertComment.xsjs HTTP/1.1" 200 5 245

最后三个数字是 HTTP 响应代码,大小 以字节为单位,响应时间以毫秒为单位。有关日志记录的详细信息 和其他日志格式,请参阅 Internet 通信管理器 (ICM) SAP Help Portal 上的文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值