改写来源:SAP Monitoring & Performance Checks: Complete Tutorial with Tcodes
SAP Basis 工程师的核心职责之一是保证 SAP 系统稳定、高效运行。系统监控不是一次性任务,而是需要每日执行的例行活动。本文整理了 SAP Basis 日常监控的完整流程,涵盖应用服务器、工作进程、锁、更新、系统日志、批处理、数据库等关键检查点,并提供对应的事务码与处理建议。
SAP 系统监控是指对 SAP 应用服务器、数据库、工作进程、用户会话、后台作业等进行持续检查,以便:
| 原因 | 说明 |
|---|---|
| 提前发现风险 | 在问题影响业务前识别异常 |
| 保障业务连续性 | 确保关键后台作业、接口、备份成功执行 |
| 优化系统性能 | 通过监控数据分析 CPU、内存、数据库空间使用趋势 |
| 满足审计要求 | 保留系统日志、备份记录、用户活动痕迹 |
事务码:SM51
SM51 用于查看当前系统中所有活动的应用服务器实例。通过该事务码可以确认:
**日常检查要点**:确保所有预期的应用服务器均显示为活动状态,无意外停止的实例。
事务码:SM50
SM50 显示特定实例上所有工作进程的状态,包括:
#### 常见状态与处理
| 状态 | 含义 | 处理建议 |
|---|---|---|
| Waiting / Running | 正常状态 | 无需处理 |
| Stopped | 进程异常停止 | 检查进程日志,必要时重启 |
| PRIV | 进程被用户独占,占用大量内存 | 联系用户,考虑改为后台作业执行 |
| 长时间 Running | 存在长运行任务 | 检查具体报表或事务,必要时取消 |
#### 典型问题
如需取消异常进程,可选中进程后选择 **Process → Cancel Without Core**。
事务码:SM66
SM66 提供跨所有活动实例的全局工作进程视图,可以快速定位系统级性能问题。通过该视图可以查看:
| 事务码 | 用途 |
|---|---|
SM04 | 查看当前实例上的活动用户 |
AL08 | 查看所有实例上的活动用户 |
日常检查要点:
建议每天多次检查用户活动,特别是在系统性能下降时。
事务码:SM13
SM13 用于监控 SAP 更新进程(Update Process)。如果更新失败或长时间挂起,可能导致财务凭证、库存移动等关键业务无法完成。
#### 操作步骤
#### 检查重点
| 检查项 | 说明 |
|---|---|
| 更新是否激活 | 如果未激活,确认是系统停用还是用户手动停用 |
| 是否有取消的更新 | 标记为错误的更新需要人工处理 |
| 是否有超过 10 分钟的待处理更新 | 长时间挂起的更新可能阻塞后续业务 |
事务码:SM12
SAP 使用锁机制防止多个用户同时修改同一条记录。当用户因网络中断等原因未正常退出时,可能遗留旧锁,导致其他用户无法访问或修改数据。
#### 操作步骤
#### 处理建议
事务码:SM21
SM21 用于查看系统日志,帮助定位系统错误、警告和安全事件。
#### 推荐操作
#### 关注内容
事务码:ST02
ST02 显示 SAP 缓冲区(Buffer)和调优摘要。如果看到 SWAP 项为红色,说明缓冲区配置可能不足,需要调整参数。
#### 调整步骤
修改 Profile 参数前应先在测试环境验证,并记录变更。
事务码:ST06
ST06 显示操作系统级别的 CPU 使用情况。一般来说,空闲 CPU 利用率应保持在 60%–65%。如果超过该阈值,需要进一步排查:
事务码:ST22
ST22 用于查看 ABAP 运行时的 Dump(短转储)。建议每天检查前一天的 Dump,重点关注:
#### 分析要点
| Dump 类型 | 可能原因 |
|---|---|
TIME_OUT | 程序运行超过最大对话时间 |
DBIF_RSQL_INVALID_RSQL | 错误的 Open SQL 语句 |
CONVT_NO_NUMBER | 数字转换错误 |
MESSAGE_TYPE_X | 程序主动终止 |
事务码:SM37
SM37 用于监控和管理后台作业。日常检查建议:
事务码:SP01
SP01 用于监控假脱机(Spool)请求。建议操作:
事务码:SM58
SM58 显示事务性 RFC(tRFC)的调用状态。建议:
事务码:SMQ1
用于监控出站队列(Outbound Queue)中的 qRFC。检查是否有处于等待或错误状态的出站消息。
事务码:SMQ2
用于监控入站队列(Inbound Queue)中的 qRFC。同样需要检查等待或错误状态的消息。
事务码:DB02
DB02 显示数据库表空间的当前使用情况。建议:
| 使用率 | 处理建议 |
|---|---|
| < 90% | 正常,持续观察 |
| 90%–95% | 需要关注,规划扩容 |
| > 95% 且未启用自动扩展 | 立即添加数据文件,防止数据库写满 |
DB02 还可以查看表空间的历史增长趋势,按天、周、月分析容量变化。
事务码:DB12
DB12 用于查看数据库备份日志。通过该事务码可以确认:
备份失败是必须立即处理的高优先级问题。
事务码:ST04
ST04 提供数据库性能概览,包括缓存命中率、等待事件、Top SQL 等,是排查数据库性能问题的重要工具。
| 优先级 | 检查任务 | 事务码 | 检查要点 |
|---|---|---|---|
| 高 | 确认 SAP 系统可登录 | — | 能正常登录所有客户端 |
| 高 | 检查数据库备份 | DB12 | 前一天备份成功 |
| 高 | 检查应用服务器 | SM51 | 所有实例正常运行 |
| 高 | 检查工作进程 | SM50 / SM66 | 进程状态正常,无长时间运行任务 |
| 高 | 检查失败更新 | SM13 | 无错误和长时间挂起更新 |
| 高 | 检查系统日志 | SM21 | 无新增严重错误/警告 |
| 中 | 检查用户会话 | SM04 / AL08 | 无异常用户 |
| 中 | 检查锁条目 | SM12 | 清理旧锁 |
| 中 | 检查 ABAP Dump | ST22 | 无异常 Dump |
| 中 | 检查后台作业 | SM37 | 关键作业成功完成 |
| 中 | 检查假脱机 | SP01 | 无长时间挂起打印任务 |
| 中 | 检查 RFC 队列 | SM58 / SMQ1 / SMQ2 | 无失败或积压消息 |
| 中 | 检查表空间 | DB02 | 使用率未超过阈值 |
| 低 | 检查缓冲区 | ST02 | 无红色 SWAP |
| 低 | 检查 CPU | ST06 | 空闲 CPU 在合理范围 |
| 现象 | 排查事务码 | 可能原因 | |
| 用户登录缓慢 | SM50、SM66、SM04 | DIA 进程不足、长运行对话进程 | |
| 事务响应慢 | ST04、SM50、SM21 | 数据库性能差、锁等待、CPU 高 | |
| 更新失败 | SM13 | 更新进程停止、数据不一致 | |
| 数据无法修改 | SM12 | 旧锁未释放 | |
| 打印失败 | SP01、SM21 | 打印服务器或打印机问题 | |
| 表空间告警 | DB02 | 数据增长、未自动扩展 | |
| 备份失败 | DB12 | 存储空间不足、介质故障 | |
| 功能 | 事务码 | ||
| 应用服务器 | SM51 | ||
| 工作进程(单实例) | SM50 | ||
| 全局工作进程 | SM66 | ||
| 用户会话 | SM04、AL08 | ||
| 更新进程 | SM13 | ||
| 锁条目 | SM12 | ||
| 系统日志 | SM21 | ||
| 缓冲区调优 | ST02 / RZ10 | ||
| CPU/OS 监控 | ST06 | ||
| ABAP Dump | ST22 | ||
| 后台作业 | SM37 | ||
| 假脱机请求 | SP01 | ||
| tRFC | SM58 | ||
| qRFC 出站/入站 | SMQ1 / SMQ2 | ||
| 数据库表空间 | DB02 | ||
| 数据库备份 | DB12 | ||
| 数据库性能 | ST04 |
本文由 SAP 技术资料《SAP Monitoring & Performance Checks: Complete Tutorial with Tcodes》改写整理,系统梳理了 SAP Basis 日常监控的检查点、事务码和处理建议。未对 SAP 标准行为进行推断或编造;具体命令和参数请以当前 SAP 版本、操作系统及数据库平台为准。