SAP Basis 日常运维清单

作者:郑德鼎 约 20 分钟阅读 更新日期:2026-07-18 新发布 标签:Basis, 系统管理, 运维, 监控
目录

SAP Basis 运维是保障系统稳定运行的基础。本文按照每日、每周、每月、季度四个周期,系统整理了 SAP 系统运维的完整检查清单,每个检查项都包含对应的事务码、检查内容、关注点和异常处理方法。此外,还汇总了常见应急场景的处理方案。

使用说明:本清单适用于 ECC 和 S/4HANA 系统。对于 HANA 数据库特有的检查项已单独标注。建议将本文作为运维团队的标准化操作手册,并结合实际环境调整检查频率和阈值。

一、每日检查

每日检查是 Basis 运维的基础,建议在工作日早上 8:00-9:00 执行,确保系统在业务高峰前处于健康状态。

检查项事务码检查内容关注点异常处理
工作进程状态SM50 / SM66查看所有应用服务器的工作进程状态DIA 进程是否大量等待或挂起;是否有进程长时间占用(>10分钟);BGD 进程是否全部被占满长时间占用:在 SM50 中查看该进程的程序名和动作,必要时终止(End Session);DIA 耗尽:检查是否有长时间运行的对话程序,优化或移至后台执行
系统日志SM21查看过去 24 小时的系统日志是否有操作系统级别错误;是否有数据库连接错误;是否有内核错误(kernel error);是否有 RFC 连接失败数据库连接错误:检查 DB 连接和 TNS/连接字符串;内核错误:检查 /usr/sap/SID/DVEBMGSnn/work/ 下的 dev_trace 文件;RFC 错误:检查 SM59 中的目标系统连接
ABAP 运行时错误ST22查看过去 24 小时的 DUMP 列表DUMP 数量是否异常增多;是否有新的、未知的 DUMP 类型;频繁出现的 DUMP(如 TSV_TNEW_PAGE_ALLOC_FAILED 提示内存不足)TSV_TNEW_PAGE_ALLOC_FAILED:检查程序内存使用,调整扩展内存参数;MESSAGE_TYPE_X:通常是程序逻辑错误,联系开发人员修复;TIME_OUT:程序执行超时,优化或拆分处理逻辑
后台作业状态SM37检查关键后台作业的执行状态是否有状态为"已取消"(Canceled)的作业;关键定时作业是否按时执行(如月末结账作业);长期运行的作业是否正常已取消作业:查看作业日志定位取消原因;作业未按时执行:检查 SM36 调度配置和工作进程可用性;作业长期运行:在 SM50 中查看该作业进程的详细状态
数据库状态DB02 / DBACOCKPIT检查数据库整体健康状态HANA 内存使用率(<80% 正常);数据库备份是否成功;表空间/存储是否有空间告警;是否有长运行 SQL内存使用率高:检查是否有内存泄漏,考虑重启 HANA;备份失败:立即排查原因并重新执行;空间不足:清理日志、归档数据或扩展存储
更新记录SM13检查更新请求的状态是否有状态为"错误"的更新记录;更新记录是否长时间未被处理更新错误:查看错误详情,修复后重新执行(重复更新);更新积压:检查 UPD/UP2 工作进程是否正常,必要时增加工作进程数
系统锁定SM12检查是否存在长时间锁定是否有超过 1 小时的锁定条目;是否有用户报告无法操作(可能因锁定冲突)长时间锁定:联系锁定用户确认是否可释放;必要时删除锁定条目(谨慎操作);大量锁定:可能是程序未正确释放锁,联系开发人员
假脱机请求SP01检查假脱机请求状态是否有大量等待中的假脱机请求;是否有错误状态的假脱机请求等待中的请求:检查打印机状态和 SPO 工作进程;错误请求:检查输出设备配置;定期清理已完成的老旧假脱机请求

二、每周检查

每周检查在每周一执行,关注系统性能趋势和资源使用情况。

检查项事务码检查内容关注点异常处理
性能趋势分析ST03N分析过去一周的系统性能数据平均响应时间是否呈上升趋势;数据库时间占比是否异常(正常 < 40%);哪些事务码响应时间最长;用户数和对话步骤数趋势响应时间上升:结合 ST05 分析热点事务的 SQL 性能;数据库时间占比高:检查是否有慢 SQL 或缺少索引;特定事务码慢:使用 SAT 分析该事务的运行时
假脱机清理SP01清理过期的假脱机请求假脱机请求数量是否过多;是否有 7 天以上已完成的请求未清理使用 SP01 批量删除已完成的旧请求;检查 RSPO0041/RSPO0042 程序定期清理配置
锁定条目检查SM12检查并清理残留锁定是否有用户已退出但锁定未释放;是否有跨系统的锁定冲突确认用户已退出后删除残留锁定;排查锁定未释放的程序原因
用户会话检查SM04 / AL08检查当前用户登录情况是否有异常用户登录(非工作时间、未知 IP);是否有用户长期占用大量会话;是否接近最大会话数限制异常登录:检查 SU01 用户主数据和审计日志;会话过多:检查是否有程序未正确关闭会话;接近上限:调整参数 rdisp/max_alt_modes 或优化会话使用
审计日志检查SM20 / RSAU_READ_LOG审查安全审计日志是否有暴力破解登录尝试;是否有敏感事务码的异常使用;是否有权限变更记录暴力破解:锁定用户、加强密码策略、限制 IP 访问;异常事务使用:联系相关用户确认操作合理性;权限变更:核实变更审批流程
传输管理STMS / SE01检查传输队列状态传输队列中是否有长时间未导入的请求;导入是否有错误;开发→测试→生产的传输是否一致导入错误:查看传输日志定位错误原因;请求积压:与开发团队确认导入计划;传输不一致:核实各系统版本差异
系统参数检查RZ11检查关键动态参数是否被修改是否有参数被未经授权的修改;关键参数(如工作进程数、内存参数)是否在合理范围异常修改:恢复默认值并调查修改原因;参数不合理:按 SAP Note 建议调整

三、每月检查

每月检查在每月初执行,侧重于资源规划、安全合规和数据完整性。

检查项事务码检查内容关注点异常处理
磁盘空间检查AL11 / OS 命令检查文件系统空间使用情况/usr/sap/ 目录空间使用率(<80%);/sapmnt/ 目录空间;HANA 数据和日志卷空间;归档日志目录空间空间不足:清理 trace 文件(/usr/sap/SID/DVEBMGSnn/work/ 下的 dev_*、*.old 文件);清理旧归档日志;扩展存储卷
备份验证DB13 / DBACOCKPIT验证数据库备份是否完整可用每日全量/增量备份是否成功;备份文件是否可恢复(定期做恢复测试);备份保留策略是否执行备份失败:立即排查原因并重新执行;从未做过恢复测试:安排在测试系统中验证恢复流程
传输管理复核STMS复核传输管理状态传输路由是否正确;传输缓冲区是否有积压;版本管理是否一致传输路由错误:修正 STMS 配置;版本不一致:通过 SCCP 或重新传输同步
用户权限复核SUIM / SU10复核用户权限和角色分配是否有用户拥有 SAP_ALL 等高危权限;是否有用户权限与岗位职责不符;是否有长期未使用的用户账号;是否有离职用户账号未锁定高危权限:核实审批记录,必要时收回;权限不符:调整角色分配;未使用账号:超过 90 天未登录的账号应锁定;离职账号:立即锁定并归档
表空间/存储分析DB02分析数据库表空间增长趋势哪些表增长最快;表空间碎片化程度;HANA 内存增长趋势增长异常:检查是否有大量数据导入或异常日志写入;碎片化:安排表重建或重组;内存增长:评估是否需要扩容
系统补丁评估SPAM / SAINT评估是否需要应用 SAP Note 或 Support Package是否有安全相关的 SAP Note 需要应用;当前 Support Package 是否过旧;是否有已知 Bug 影响业务安全 Note:优先在测试系统中验证后应用;SP 过旧:规划 SP 升级项目
OS 层面检查OS 命令 / SAP Host Agent检查操作系统层面的健康状态OS 补丁级别;文件系统挂载状态;网络连接状态;时钟同步(NTP)时钟不同步:立即同步,SAP 系统对时间敏感;OS 补丁缺失:安排维护窗口更新

四、季度检查

季度检查侧重于安全审计、性能基线和长期规划。

检查项事务码/工具检查内容关注点异常处理
安全审计SM20 / RSAU_READ_LOG / SUIM全面的安全审计权限变更审计记录;敏感数据访问记录;系统配置变更记录;网络安全状况未授权变更:调查并恢复;敏感数据泄露风险:加强访问控制和审计
性能基线对比ST03N / DBACOCKPIT与历史性能基线对比响应时间较上季度变化;数据库性能指标趋势;HANA 内存使用趋势;用户数和业务量增长趋势性能持续退化:制定专项优化计划;资源紧张:规划扩容方案
补丁评估与规划SPAM / SAP Note评估并规划系统补丁升级当前系统版本与最新版本差距;安全漏洞修复需求;功能增强需求差距较大:规划 SP 升级或迁移项目;安全漏洞:优先安排修复
DR 演练灾难恢复演练DR 系统是否可用;切换时间是否满足 RTO;数据丢失量是否满足 RPODR 不可用:立即修复;RTO/RPO 不达标:优化 DR 方案和流程
许可证检查SLAW / USMM检查 SAP 许可证使用情况用户许可证类型是否正确分配;许可证数量是否接近上限接近上限:评估是否需要购买额外许可或优化用户类型分配
归档策略复核SARA复核数据归档策略归档作业是否正常运行;归档数据是否可读取;归档策略是否满足业务和法律要求归档失败:排查错误并重新执行;策略不合理:与业务部门协商调整

五、应急处理

以下为常见紧急场景的快速处理指南,供运维人员在紧急情况下参考。

5.1 系统挂起(System Hang)

症状

所有用户无法登录或操作,SM50 中所有 DIA 进程长时间处于等待或运行状态。

处理步骤

  1. 在 SM50 中检查工作进程状态,确认是否所有 DIA 进程被占满
  2. 在 SM66 中查看所有应用服务器的进程状态,确认问题范围
  3. 如果可以登录:找到占用的进程,判断是哪个程序/用户导致
  4. 如果无法登录:通过 OS 层面(如 dpmon 命令)查看进程状态
  5. 尝试终止问题进程(SM50 → End Session)
  6. 如果无法终止:考虑重启应用实例(stopsap / startsap
  7. 系统恢复后:分析原因,避免再次发生

5.2 数据库死锁(Database Deadlock)

症状

用户操作报错"SQL deadlock"或事务无法提交,SM13 中出现更新错误。

处理步骤

  1. 在 DBACOCKPIT → Performance → Locks 中查看当前锁情况
  2. 识别死锁涉及的事务和表
  3. 对于 HANA:使用 SELECT * FROM M_BLOCKED_TRANSACTIONS 查看阻塞事务
  4. 终止其中一个阻塞事务(通常选择优先级较低的业务操作)
  5. 通知相关用户重新执行操作
  6. 如果频繁发生:分析应用程序的锁获取顺序,确保一致

5.3 传输失败(Transport Failure)

症状

传输导入失败,STMS 中显示红灯,传输日志中有错误信息。

处理步骤

  1. 在 STMS 中查看传输日志,定位错误原因
  2. 常见错误及处理:
    • 对象已被修改:在目标系统中锁定/解锁相关对象后重试
    • 表结构不一致:先传输结构变更请求,再传输数据请求
    • 空间不足:清理目标系统空间后重试
    • 权限不足:检查 TMSADM 用户权限
  3. 修复后重新导入传输请求
  4. 如果传输缓冲区损坏:使用 tp cleanbuffertp clearold 清理

5.4 内存溢出(Memory Overflow)

症状

大量 TSV_TNEW_PAGE_ALLOC_FAILED DUMP;用户报告程序无法执行;系统响应极慢。

处理步骤

  1. 在 ST22 中查看 DUMP 详情,确认是哪个程序/用户导致
  2. 检查当前扩展内存使用情况:RZ11 查看 em/initial_size_MB 和实际使用率
  3. 短期措施:增加扩展内存参数(RZ11 动态修改)
  4. 长期措施:
    • 优化占用大量内存的 ABAP 程序(如减少内表大小、分批处理)
    • 增加服务器物理内存
    • 调整 abap/heap_area_dia 限制单个会话的内存上限
  5. 对于 HANA 内存溢出:检查 HANA 内存分配,可能需要增加 HANA 实例内存或优化内存密集型操作

5.5 应急处理速查表

紧急场景首要事务码首要动作升级条件
系统挂起SM50/SM66识别并终止问题进程无法终止进程或整个实例无响应 → 重启实例
数据库死锁DBACOCKPIT/SM13识别并终止阻塞事务死锁频繁发生 → 联系开发团队优化锁逻辑
传输失败STMS查看传输日志定位错误关键生产传输失败 → 紧急处理,必要时回滚
内存溢出ST22/RZ11增加内存参数 / 终止问题程序频繁溢出 → 规划内存扩容和程序优化
HANA 宕机HDB info / OS 层检查 HANA 进程状态HANA 无法重启 → 联系 SAP Support
更新模块挂起SM13重置更新模块大量更新记录积压 → 可能需要重启应用实例
打印故障SP01/SPAD检查输出设备和假脱机进程SPO 进程异常 → 重启假脱机或清理假脱机请求

良好的运维习惯是 SAP 系统稳定运行的保障。建议根据本清单建立自动化监控脚本(如通过 SAP CCMS/Alert Framework 或第三方监控工具),将日常检查自动化,仅对告警项进行人工确认,提高运维效率。

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由作者基于多年 SAP Basis 运维管理经验整理,仅用于内部技术分享与学习交流。