ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SAP BASIS日常运维核心事务代码与实战排查手册

SAP BASIS日常运维核心事务代码与实战排查手册

简介:SAP日常运维BASIS是面向SAP系统管理/运维人员的一份Basis基础速查资料,围绕SAP系统日常运维中的常见任务,系统梳理了用户权限、集团管理、数据库管理、后台作业、打印管理、系统监控、传输管理以及重要日志查看等核心模块,适合刚接触Basis的顾问或需要快速查找常用事务代码的运维工程师使用。

资源包内共有1个PDF文件,整体大小为2.02MB,以科莱特SAP内训讲义为基础,逐块列举了SU01、PFCG、SU53、SCC4、DB13、SM36、ST06、SM21等高频事务代码,并辅以简要操作说明和注意事项,例如数据库备份检查、打印假脱机处理、系统日志分析等,可帮助读者快速定位日常运维所需命令,也能当作备用速查手册。

目前已有962人学习或下载该资源,适合SAP BASIS零基础或初级运维者用于建立知识框架、对照练习与现场排查。

1. SAP BASIS 日常运维:先摸清这套系统的运行脉搏

SAP BASIS 日常运维在不少团队里像个黑匣子:系统在线时没人觉得这活儿重要,哪一天登录卡死、后台作业取消、数据库空间告急,才想起 Basis 顾问的价值。很多刚转运维的开发者问我的第一个问题就是:每天都该点哪些事务代码?其实 BASIS 日常运维是有清晰脉络的——用户权限、集团管理、数据库维护、后台作业、打印管理、系统监控、传输管理,每一条线都有固定的工具组合和巡检顺序。这篇文章把我在生产环境里筛过一遍的常用事务代码和踩坑记录整理出来,从高频操作讲到验证方法,新手照着走能建立自己的巡检清单,熟手可以拿来做标准化流程对照。后续章节依次展开,每个事务代码都说明它管什么、怎么用、容易在哪里出问题。

2. 用户权限与集团管理:SU01、PFCG、SCC4 的高频操作

2.1 SU01 用户维护:解锁、改密、复制账号的标准动作

在 BASIS 运维的所有事务代码里,SU01 的出场率绝对排第一。用户密码忘了找你、账号被锁了找你、新同事入职要开号还是找你。SU01 承担的是"创建、修改、显示用户信息"这个职责,界面清爽,输入用户名直接回车就能看到用户主数据的所有页签。

处理密码重置和解锁时,标准路径是:SU01 → 输入用户名 → 回车 → 切到"Logon data"页签 → 点"Unlock"解除锁定,同时在"New password"字段里输入临时密码。这里有两个参数容易被忽略:一是"User type",对话用户(Dialog)和系统用户(System)的密码策略不一样,给接口账号重置密码时选错类型会导致登录行为异常;二是有效期设置,如果用户主数据里之前维护了过期日期,重置密码后要顺手清掉,不然用户第二天登录又报密码过期,工单会再次打到你这来。

很多运维新手会被一个现象搞蒙:用户说密码是对的但登录报错。打开 SU01 一看,用户状态是 locked,原因是连续输错次数超过系统参数login/failed_user_attempts配置的阈值,默认一般是 3 次。这时候直接解锁并重置密码就行,不用改任何参数。如果同一个用户频繁被锁,就要考虑是不是有人在暴力试探账号,该走安全审计的走 SM20,别只闷头解锁。我在某公司接手系统运维的头一个月,就遇到过外包账号连续七天早上被锁的情况,后来查 SM20 才发现是上一个项目残留的脚本在定时用旧密码尝试登录,属于典型的自动化作业没清理干净。

复制账号也是 SU01 的高频功能。新员工入职时,最省事的做法是以一个权限相近的既有账号为模板:SU01 → 输入新用户名 → 回车 → 界面提示用户不存在 → 选择"复制"功能,填入模板用户名。复制过来的账号会连带角色、参数文件等主数据,但密码字段是空的,需要单独设置。我一般会提醒一句:复制前先确认模板账号的权限是"正确且干净"的,不然新员工还没入职就把旧账号的失控权限全部继承过去了,这是权限管理里最常见的隐形风险。

批量场景用 SU10。比如季度末有几十个外包账号要统一锁定,SU10 支持根据用户组、最后登录时间等条件筛选出用户列表,然后统一执行锁定、密码重置或删除操作。这个事务代码在账号生命周期管理里特别有用,做季度账号巡检时能省下大量重复点击的时间。SAP 标准的用户信息类型里,Dialog 用户对应人工登录,Communication 用户对应 RFC 接口,Service 用户对应匿名服务访问,批量修改前先按用户类型筛一遍,别把接口账号锁了导致外围系统报错。

2.2 权限对象与角色维护:PFCG、SU21、SU53 的授权链

PFCG 是角色维护的中枢,它把一组事务代码、权限对象和授权字段打包成角色,再批量分配给用户。创建角色的大致步骤:输入角色名 → 创建 → 在菜单/事务页签中加入事务代码 → 在权限页签中维护权限对象 → 生成概要文件 → 分配用户。看起来简单,实际最容易翻车的是最后一步"生成概要文件",很多新手配完角色忘记点生成,或者生成失败也没发现,用户那边权限一点变化都没有,报障回来才一层层排查。

角色类型有两种:单个角色(Single Role)和复合角色(Composite Role)。复合角色下挂多个单角色,分配账号时只需要分配复合角色,简化了管理。但如果复合角色下某个单角色改了权限,要记得重新生成概要文件并等待传输。这个传播过程有时候像玄学,明明改了角色,用户权限没生效,别急着查用户,先去角色生成日志里看概要文件是否生成成功。我碰到过最隐蔽的一次,是某个角色在开发系统里正常生成,但传输到生产系统后概要文件没带过去,用户在生产环境始终拿不到权限,查了半天才发现是 STMS 传输队列里有一个相关请求被卡住了。

SU21 和 SU20 是权限对象和权限字段的底层维护工具。普通运维用的频率不高,但遇到自定义权限对象需求时绕不开。SU22 则负责维护事务代码与授权对象的关联关系,当你在 SU01 里给用户授权某个事务代码时,系统会自动带上它的标准授权对象。理解这条链路很重要:事务代码 → 授权对象 → 授权字段 → 字段值,任何一个环节不对,权限都不生效。

SU53 是我眼里最实用的权限排查工具。用户执行某个事务报"没有权限"时,不要对着角色列表瞎猜,让用户在报错界面输入/nSU53,系统会把他本次缺失的权限对象、字段、值清清楚楚列出来。拿着这个输出回 PFCG 调角色,一次到位。在运维交接时,我会专门培训用户学会这个操作,能少接一半的权限工单。这个习惯帮我省下了大量沟通成本,也让业务用户从"只会报障"变成了"能带着 SU53 截图来报障"。

2.3 集团管理:SCC4、SCCL、SCC1 与 SCC5 的实操

集团(Client)是 SAP 系统数据隔离的容器。SCC4 管集团的创建、修改和显示,集团属性里最重要的参数是"集团角色",比如生产、测试、定制。生产集团建议设为"生产"并勾选禁止直接修改配置,否则业务顾问在生产系统里乱改配置,最后传到其他环境时牵一发动全身。我自己一般会定一个集团命名规范:000、001 这类留给 SAP 标准集团,自定义集团从 100 起步,避免和系统集团混淆。

SCCL 拷贝集团。运维场景里,把配置从开发集团复制到测试集团是很常见的。SCCL 的机制是按逻辑数据库把源集团的数据复制到目标集团,操作时要注意:目标集团必须干净(没有业务数据),拷贝期间系统不要做其他在线变更,否则容易造成数据不一致。SCCL 是重量级操作,耗时随数据量增长,我一般安排在业务低峰期执行,并且提前通知业务侧"这个集团暂时不要登录"。

SCC1 是单传输请求的系统内拷贝工具。开发顾问释放了传输请求后,SCC1 可以用来把某个请求直接拷到同一个系统里的另一个集团,不需要走 STMS 跨系统传输。SCC1 在配置传输的快速验证场景里很有用,比如测试集团刚建好,想快速验证某个请求的配置效果,用 SCC1 比 SCCL 整个集团快得多。SCC3 查看集团操作日志,什么人在什么时间对哪个集团做了什么操作,审计排查时一查一个准。

SCC5 删除集团,属于高危操作。删之前一定先确认集团可销毁,最好做一次数据备份。生产系统里我基本不会执行 SCC5,删集团这个动作只发生在测试或沙盒环境。运维团队如果对某个废弃集团不确认,宁可多留半年,也不要因为省空间去删,删了数据可就真没了。

提示:集团管理操作尽量纳入传输请求统一管理,而不是在系统里直接改配置。否则后续跨系统传输时会漏掉这部分配置,这种"漏配置"的翻车经历我遇到过不止一次。

3. 数据库维护与备份检查:DB13、DB02、BRTOOLS 组合拳

3.1 DB13 维护日历:备份、Check 与统计信息更新

DB13 是数据库日常维护的调度入口,在 SAP Oracle 架构下,数据库的备份、完整性检查、优化器统计信息更新都可以在 DB13 里定义成周期性任务。它的核心思路是把"人肉运维"变成"日历运维":提前把每天的备份、每周的检查排进去,系统自动执行,运维只需要盯日志。

配置方法:DB13 → 定义维护日历 → 选择动作(备份/检查/统计信息更新)→ 设置频率(每日/每周/每月)→ 保存。备份动作最好区分在线备份和离线备份。在线备份不中断业务,适合生产系统;离线备份在数据库关闭状态下做,数据一致性最干净,但要停几分钟。增量备份用来减少备份窗口,但恢复时依赖全量备份加归档日志,链路比全量备份长,需要提前演练恢复流程。

备份类型是否停机恢复复杂度适用场景
离线备份是最简单测试、维护窗口
在线备份否需归档日志配合生产系统日常备份
增量备份否需要全量+增量链完整数据量大、备份窗口小

DB13 里还关联了数据库后台作业的日志,可以直接查看每个维护动作上次运行时间和返回码。我每天早上到工位第一件事就是打开 DB13 看昨晚有没有作业报错。返回码非 0 的作业不能放过,必须点进去看详细日志。曾经有一次备份作业返回码 8,点进去发现是归档日志目录空间不足,数据库自动切换归档失败,所幸发现得早,否则整个数据库可能挂起。

3.2 DB02 与 DB12:表增长、索引碎片和备份日志

DB02 是数据库表和索引的监控台,运维打开它主要看两个指标:空间扩展和碎片情况。SAP 表数据量增长后,表空间会不断扩展,如果某个表频繁扩展(扩展次数很多),说明它的初始空间设置不合理,扩容频率太高,这时候需要和开发确认是否能做表压缩或归档。索引碎片化严重时,优化器选错执行计划,SQL 性能就会恶化,最典型的现象是同一个查询白天还快,晚上突然慢了几十倍。

DB12 是数据备份日志入口,功能单一但极其重要。每天早上必须确认夜间备份是否成功,同时检查日志目录剩余空间。日志目录空间满了会导致数据库挂起,这种故障一旦发生,影响的是整条业务链。我习惯在 DB12 里不只检查备份的返回码,还会看备份文件的生成大小,如果某天的备份文件比平时小很多,要警惕是不是数据写入异常或者备份中断,这种隐性风险比直接报错的备份更危险。

3.3 BRTOOLS:操作系统层的数据库管理工具

BRTOOLS 是 Oracle 数据库在操作系统层的工具箱,DBA 场景下经常直接用命令行执行备份恢复,不依赖 SAP GUI。最常用的命令是brbackup(备份)、brrestore(还原)、brconnect(连接测试),它们位于/sapmnt/<SID>/exe或/usr/sap/<SID>/exe目录下。

比如手动跑一次数据库在线备份:

brbackup -u / -c force -t online

参数说明:-u /表示使用操作系统认证连接数据库,-c force强制按配置文件中的模式执行,-t online指定在线备份。在线备份需要数据库运行在归档模式,否则备份出来的文件无法保证恢复一致性。执行完成后,brbackup 会在备份日志中输出备份集文件名和耗时,运维要确认返回码非 0。

数据库的跟踪日志和告警日志在/oracle/<SID>/saptrace/background目录下,我排查数据库异常时最先看这个目录里的 alert 日志。注意区分:SAP 应用层的日志走/usr/sap/<SID>/DVEBMGS00/work,数据库层的日志走/oracle/<SID>/saptrace/background,两层日志别搞混。遇到过同事在应用层日志里翻了一个下午找数据库报错,最后发现方向完全错了,从数据库层日志入手五分钟就定位到是 redo log 切换异常。

BRTOOLS 还有一个实用的场景是日常健康检查:brconnect -u / -c state可以快速查看数据库实例状态、数据文件是否在线、表空间使用情况。这套命令行工具在服务器无法打开 SAP GUI 时是救命稻草,远程排障基本靠它。

4. 后台作业与打印管理:SM36、SM37、SPAD/SP01 的盯防

4.1 SM36 定义后台作业:步骤、周期与服务器

SM36 是后台作业的定义工具。一个后台作业包含三个核心要素:作业步骤(Job Steps)、运行周期(Periodic Values)、运行服务器(Start Conditions)。作业步骤指定要执行的 ABAP 程序或外部命令;运行周期决定是每天、每周还是每月执行;开始条件可以指定服务器实例、立即启动或按时间启动。

定义作业的习惯建议:作业名使用统一的命名约定,例如ZDAILY_REPORT、ZMONTHLY_CLEANUP,方便在 SM37 里按前缀过滤。每个作业步骤前加上程序名或说明字段,这样监控时不用点进日志就能知道这个作业在干什么。后台作业的执行优先级也值得注意,日常报表放在低优先级,数据库备份相关作业放在高优先级,避免互相抢资源。如果同一台应用服务器上既跑着大量报表作业又跑着数据库备份,备份时间会被明显拉长,DB13 的备份窗口不够用就是这个原因。

SM36 里还有一个经常被忽略的参数是"作业开始条件中的实例选择"。多实例环境下,不指定运行服务器的话,作业可能被分配到任意一个应用实例上执行。如果某个作业依赖特定实例的本地文件或 RFC 配置,就必须固定运行实例,否则作业偶发失败,排查半天才发现是实例漂移的问题。

4.2 SM37 监控作业:取消、日志与重跑

SM37 是后台作业的监控窗口,运维每天要看的核心数据是:哪些作业今天跑完了、哪些取消了、哪些还在 running。筛选条件支持按作业名、用户名、时间段和作业状态。我一般会按"今天"+"已完成/已取消/已计划"三个视图分别拉一遍,确保没有遗漏。

被取消的作业(CANCELLED)必须逐个分析原因。常见原因有几类:数据库连接断开、作业运行期间系统重启、ABAP 程序运行时报错、权限不足。查看作业日志可以看到具体 ABAP 错误号,但有时候日志里只有一句"Program terminated",这时候需要结合 ST22 看是否有短转储。如果作业在凌晨两点被取消,而系统昨晚确实重启过,那大概率是重启时作业窗口被跳过,重新调度一次通常就能解决。

输出列表(Output List)也要检查。后台报表程序生成的输出列表会占用 spool 空间,定期清理过期列表是运维好习惯。SM37 里的重跑操作不复杂:选中取消的作业 → 重新调度 → 系统会基于原作业定义重新执行。重跑前先确认底表数据是否已经部分写入,避免重复数据。比如一个日结汇总作业在中途失败,但前半小时的数据已经汇总入表,直接重跑可能导致重复累计,这时候要和业务确认是"覆盖式"还是"追加式"逻辑。

4.3 SPAD 与 SP01:打印设备定义与假脱机请求排错

SPAD 负责定义打印设备。每台打印机在 SAP 里都对应一个输出设备(Output Device),一般绑定到应用服务器主机名和打印命令。SPAD 里设置设备类型、驱动类型和打印参数时要注意主机字符集,中文环境下打印乱码多半是设备定义里的字符集没配对。新接入一台网络打印机时,我会先在 SPAD 里用现有的设备复制一份再改参数,比从零定义少踩很多坑。

SP01 是假脱机请求和输出请求的管理器。打印任务提交到 SAP 后,先进入 TemSe(临时顺序文件),再被假脱机处理。如果用户反映打印不出来,先打开 SP01 看这个任务的输出状态。输出状态停在"in process"或一直显示"planned",通常是打印服务器不接受任务。这时可以选中任务重新启动输出,也可以直接删除请求让用户重新打印。

一个很容易误判的情况:SP01 里输出状态显示"完成",但打印机实际没出纸。原因在于 SAP 的假脱机管理只跟踪打印任务到达输出队列为止,并不跟踪打印机是否真正出纸。所以重要的打印任务不能在看到"完成"状态后就从 TemSe 删除,要先和用户确认纸已经出来。删除假脱机请求也是 SP01 里最常见的操作之一,失败任务可以选中后重新启动。前端 SAPLPD 被关闭是最常见的根因,用户端程序没起来,任务堆积在队列里,让用户重启 SAPLPD 或重新登录即可。

注意:从 TemSe 删除假脱机请求是不可逆的,删除前务必确认任务已完成或用户已确认不需要。宁可多留一天,也不要手快误删。

5. 系统监控与常见问题排查:ST06、SM50、ST22 巡检与避坑

5.1 ST06 与 ST03:操作系统资源与工作负载基线

ST06 是操作系统性能监控入口。运维每天要看的指标是 CPU 使用率、内存使用率、Page Space 使用率和磁盘 IO。CPU 长期高于 80%,先考虑是否有失控报表在跑;内存使用率高要看是 SAP 缓冲区还是操作系统文件缓存,两者处理方向完全不同。Page Space(交换分区)使用率持续攀升是危险信号,说明物理内存已经不够用,系统开始频繁交换,整个应用响应会显著恶化。

ST03 是工作负载监控,它能按小时、天、周显示系统的总负载、响应时间和处理时间。最有价值的用法是做基线对比:在没有性能问题的时候保存一份完整的负载数据,当系统变慢时,拿当前数据和基线对比,很快能定位到是哪个时间段的哪个事务变慢了。业内有一句话叫"世上没有经验的替代品"——基线数据越全,你对系统的感觉越准。所以我一接手新系统,第一件事就是把 ST03 历史数据全部导出归档,这些数据在调优时价值巨大。

5.2 SM50、SM51、SM66:进程与服务器管理

SM51 显示 SAP 应用服务器列表。如果系统是多实例架构(多个应用服务器),SM51 是你确认每台服务器是否在线的地方。双击某个服务器,可以看到它的工作进程状态。SM50 显示单台服务器的工作进程,包括对话、更新、后台、打印等各类进程。SM66 则跨服务器显示所有进程,适合全局排障。

进程管理中最敏感的操作是 kill 进程。SM50 里选中一个长时间 running 的进程,可以查看其会话 ID、程序名和 CPU/内存占用量。确认是失控的报表程序后,先和用户协商再终止,不能直接杀——如果这个进程正在做数据更新,强行终止可能造成数据不一致。我处理过最惊险的一次就是一个长报表卡了四个小时,用户舍不得放弃,后来说是程序死锁,最终协商后 kill 掉了,没有造成数据问题。

SM04 和 AL08 都用来查看当前在线用户,区别在于 SM04 是基于当前服务器的会话列表,AL08 是跨服务器的全局用户列表。运维监控时用 AL08 能一把看到整个系统多少人在线,有没有可疑账号。我每周会用 AL08 对一遍在线用户清单,和考勤系统对比,找出那些"人不在岗但账号在线"的会话,多半是账号被共享了。

5.3 SM12、SM13、SM21、ST22:锁、更新与异常日志

SM12 是锁管理器。用户在操作过程中断线、程序出错,可能导致数据库对象锁没有被释放。SM12 列出所有当前锁,老化的锁对象要逐条分析,确认业务任务已经终止后手动删除锁。删除锁之前一定要确认没有正在执行的事务还在用这个对象,否则会引发数据不一致。锁管理有一个经验值:凌晨自动释放的锁通常是正常的,白天空闲时间长期挂着的锁才可疑。

SM13 显示更新请求的状态。失败的更新动作(状态为 V1/V2 终止)在生产系统中不允许存在,一旦出现要立刻定位原因:要么是数据库错误,要么是程序 bug,需要开发介入处理。如果一个失败的更新请求长时间不处理,后续依赖它的业务流程会不断堆积报错。我处理过最典型的是财务月结时更新失败,导致成本分摊流程中断,最后是更新功能模块配置错误导致的。

SM21 是系统日志。SAP 服务器会把系统事件、警告、错误都记录在这里。每天巡检的原则是:所有警告和错误信息都要过一遍,能解决的当场解决,不能解决的记录到问题跟踪清单里。SM20 是安全审计日志,配合用户权限巡检,异常登录、多次失败尝试等行为会在里面留痕。实施类项目里 SM20 平时不太有人看,但运维阶段它是对抗暴力破解的重要情报来源。

ST22 是 ABAP 短转储(short dump)的分析入口。当 ABAP 程序因为严重错误终止时,系统除了在日志里记录错误,还会把出错的详细信息存到表 SNAP 中。ST22 里可以看到 dump 时间、出错程序、错误类别和堆栈。运维每天要扫一遍 ST22,即使业务用户不报障,后台作业也可能产生短转储。遇到生产系统里的 short dump,不能只知道重启程序,要顺着错误类别排查代码逻辑问题。

5.4 常见问题与避坑清单

汇总一下我实际碰过的典型坑,每一条都是"现象→原因→解决"的闭环,给正在做 BASIS 运维的同行一个参考。

坑1:用户账号反复被锁

现象:用户连续多天报登录不上,提示 "has been locked"。

原因:连续输错密码次数超过系统策略,也可能是密码过期后用户还在输旧密码。

解决:SU01 解锁并重置密码,同时用 RZ11 查看login/failed_user_attempts参数,确认阈值是 3 次还是 5 次。如果某账号频繁被锁,结合 SM20 安全审计日志确认是不是异常访问。曾经遇到过某个接口账号每周一早上被锁,后来发现是外围系统在每周一凌晨用旧密码重连,密码更新后旧密码没有同步到对方配置里。

坑2:SM37 作业取消,作业日志无有效报错

现象:作业状态 CANCELLED,打开作业日志只有一行 "Program terminated without message"。

原因:作业运行期间数据库连接断掉,或系统在作业启动前经历了一次重启。

解决:先看系统启动时间(SM51 里的实例启动时间),如果作业计划时间和系统重启时间重合,基本上是重启错过窗口。重新调度作业并确认数据库处于正常状态。这类问题在系统自动重启后特别容易成批出现,处理时不要一个个点,用 SM37 的批量重调度功能一次拉起来。

坑3:DB02 表空间使用率告警

现象:DB02 页面红色告警,某表空间使用率超过 95%。

原因:业务数据增长快,或归档日志没有定期清理,表空间数据文件无法自动扩展。

解决:扩展表空间数据文件,清理过期归档日志。同时在 DB13 里确认统计信息更新作业正常运行,优化器有最新数据才能避免执行计划异常。我一般会在 DB13 里给表空间使用率设置预警阈值,在 85% 时就提前介入,而不是等到 95% 的红色警报。

坑4:ST22 短转储出现但用户无感知

现象:ST22 里有几条 short dump,业务用户没人报障。

原因:触发错误的是后台作业,错误导致该批次数据处理中断,但因为作业已经标记为取消,没有直接弹给用户。

解决:查看 dump 完整信息,转给开发修复 ABAP 代码。修复前暂时将作业从 SM36 置为不活跃,避免每次跑都报错刷屏。同时把 dump 的发生频率记录下来,作为判断故障严重程度的依据。

坑5:SP01 打印状态显示完成但没出纸

现象:用户拿着任务号说没打印出来,SP01 里状态是 completed。

原因:SAP 只跟踪任务到输出队列,不确认打印机实际是否出纸。打印机离线、纸盒缺纸、前端 SAPLPD 被关闭都会导致这种"假完成"。

解决:先确认打印机物理状态,再让用户检查 SAPLPD。重要打印任务在从 TemSe 删除之前必须人工确认。这个坑在月底报表集中打印时特别容易暴雷,我会在和业务开会时反复强调:看到"completed"不代表纸出来了。

6. 传输管理与日志验证:从 SE09 到日志目录的收尾检查

6.1 SE09 与 STMS:传输请求的释放与导入验证

SE09 是传输请求的管理入口,开发顾问在这里创建改变请求、把任务加入请求、最终释放请求。STMS 则是传输管理系统,负责把释放的请求从一个系统传到另一个系统,同时维护传输队列和集团策略。验证一套 SAP 环境传输链路的健康状态,最直接的方法就是走一个端到端的传输:在开发系统创建一个测试请求,释放,然后在 STMS 里将它导入测试系统,观察传输队列是否正常清空,目标系统里的对象是否生效。

6.2 日志目录验证:四类日志逐一确认

新装或新接手一套环境时,日志目录的完整性和可写性是必须验证的基础项。打开终端,按以下顺序扫一遍:

ls -lt /home/<SID>adm/ ls -lt /usr/sap/<SID>/DVEBMGS00/work/ ls -lt /usr/sap/trans/log/ ls -lt /oracle/<SID>/saptrace/background/

说明:第一行是 SAP 启动日志,确认最近一次系统启动记录正常;第二行是应用服务器进程日志,检查有没有频繁的警告堆栈;第三行是传输日志,确认最近的导入操作都成功结束;第四行是 Oracle 数据库跟踪日志,重点看 alert 日志里有没有 ORA- 错误。这四个目录的时间戳必须都在"最近"——如果某个目录的最后修改时间是几天前甚至几周前,说明对应组件可能已经异常停摆。

6.3 一套完整验证动作走查

接手任何一套 SAP 系统,我都会强制走一遍这套动作:先 SM51 确认所有应用服务器在线,再 ST06 看一眼操作系统资源水位,然后 DB13/DB12 确认备份链路正常,SM37 确认没有堆积的取消作业,ST22 确认没有未处理的 short dump,最后 STMS 里放一个测试传输请求跑通传输链路。全部通过,才敢对外说这套环境是健康的。

从那以后,我每次接手新环境都强制自己从头到尾走一遍这套验证流程,不跳跃、不省略。这套动作救过我一次:某次新环境表面一切正常,但我在走 STMS 测试传输时发现队列卡住,请求始终不启动,排查后才知道目标系统的传输目录权限配置错了,如果不走这一遍,第一个正式传输就会在业务高峰期翻车。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进