BASIS-- SAP: Troubleshooting Server Startup

本文提供了一份详细的SAP服务器启动故障排查清单,包括网络、数据库和服务等方面的问题诊断方法及建议。通过逐步检查,帮助快速定位并解决问题。
Checklist for troubleshooting SAP server startup:

What to Check How to Check It Tips
Network
  1. Make sure that your database is mounted and open.
  2. Use either Control Panel >> Services >> Oracle TNSListener, or the command lsnrctl (preferable) to start the listener service
  3. execute tnsping <SID>
  4. execute tp connect <SID> (from /usr/sap/trans/bin dir). If it doesn't work, do a tp go <SID> to show the environment variables.
Check listener.ora, tnsnames.ora, sqlnet.ora. Using lsnrctl gives more feedback, which is recorded in the file listener.log. Also see sqlnet.log
Database Use svrmgr or sqldba to check database startup and shutdown:
  1. connect internal
  2. shutdown
  3. startup
  1. add the immediate or abort options to shutdown if necessary
  2. divide startup into phases by starting startup nomount, then continuing with alter database mount and alter database open
  3. try alter database recover after a crash or power failure
Applications After successfully starting the database, start the application services (from NT, use the SAP Service Manager). From UNIX, use the startsap r3 script).
  • Check the logs in the directory usr/sap/SID/DVEBMGS/work
  • For NT, make sure the Oracle and SAP Services are started. Also check that the NT service RPC is started and working (test it by adding a new printer; if the first screen shows up, it should be OK).
SAP DB + Applications If both the DB and applications startup are fine when performed separately, try starting them together with the SAP Service Manager (NT) or startsap (UNIX). For NT, the startsap script can be found in usr/sap/SID/SYS/exe/run/strdbs.cmd


Troubleshooting other applications:

Application How to Check It Tips
SQL*Plus Make sure that
  1. the services OracleServiceSID and OracleTNSListener are started
  2. the database is started and opened
  3. the command tnsping <SID> returns OK (see above for tips on troubleshooting the listener)
First try running the SQL*Plus client from the server (Start >> Oracle for Windows NT >> SQL_Plus 3.x), Enter system/manager for username/password and <SID> for host string.
  1.  

Sample Oracle Network Configuration Files for SAP 

These are sample files for configuring the Oracle network services. The three files involved are listenter.ora, tnsnames.ora, and sqlnet.ora. These files can be generated using the NETV8.EXE utility (included on the SAP 4.0B upgrade CD). The utility can generate files for different Oracle versions, including 7.2, 7.3, and 8.0.

These are sample files for an SAP server called "sap2" with a system ID of "D01". Note that network files for Oracle 7 are located in the folder <OracleHome>/Network/Admin; those for Oracle 8 are located in the folder <OracleHome>/Net80/Admin. 


 Sample Oracle Network LISTENER.ORA Files 
 ################
# Filename......: listener.ora (for Oracle 8)
# Node..........: local.world
# Date..........:
################
LISTENER =
        (ADDRESS =
          (COMMUNITY = TCP.world)
          (PROTOCOL = TCP)
          (Host = sap2)
          (Port = 1527)
        )
        (ADDRESS=
          (COMMUNITY= TCP.world)
          (Host = sap2)
          (PROTOCOL= TCP)
          (Port= 1521)
        )
        (ADDRESS=
          (COMMUNITY= TCP.world)
          (Host = sap2)
          (PROTOCOL= TCP)
          (Port= 1526)
        )
  )
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SDU = 4096)
      (SID_NAME = D01)
      (ORACLE_HOME = C:/ORANT)
      (PRESPAWN_MAX = 10)
    )
    (SID_DESC =
      (SID_NAME = ORCL)
    )
  )
PASSWORDS_LISTENER = (oracle)


 

 

Sample Oracle Network TNSNAMES.ORA Files

# TNSNAMES.ORA (for Oracle 8)
Tcp-loopback.world =
  (DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS =
          (COMMUNITY = tcp.world)
          (PROTOCOL = TCP)
          (Host = 127.0.0.1)
          (Port = 1521)
        )
    )
    (CONNECT_DATA = (SID = ORCL)
    )
  )
D01.world =
  (DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS =
          (COMMUNITY = tcp.world)
          (PROTOCOL = TCP)
          (Host = sap2)
          (Port = 1521)
        )
        (ADDRESS =
          (COMMUNITY = tcp.world)
          (PROTOCOL = TCP)
          (Host = sap2)
          (Port = 1526)
        )
    )
    (CONNECT_DATA = (SID = D01)
    )
  )

Sample Oracle Network SQLNET.ORA File (Oracle 7 or 8)

 AUTOMATIC_IPC = ON
 TRACE_LEVEL_CLIENT = OFF
 names.directory_path = (TNSNAMES)
 NAMES.DEFAULT_DOMAIN = world
 NAME.DEFAULT_ZONE = world
 names.default_domain=world 
来源:http://www.geocities.com/SiliconValley/Grid/4858/sap/Basis/startup.htm
2025-11-04 15:15:40 CST INFO [main] --- ======== Detect Issues ========2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- DETECTORS:2025-11-04 15:15:40 CST INFO [main] --- Detector Issue2025-11-04 15:15:40 CST INFO [main] --- EXECUTABLE_FAILED: Maven CLI2025-11-04 15:15:40 CST INFO [main] --- Failed to execute command, returned non-zero (1): D:\NFC\eclipse\apache-maven-3.6.3\bin\mvn.cmd dependency:tree -T12025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- Detector Issue2025-11-04 15:15:40 CST INFO [main] --- EXCEPTION: Maven Project Inspector2025-11-04 15:15:40 CST INFO [main] --- Exception occurred: Unable to locate previous install of the project inspector.2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- ======== Detect Result ========2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- Black Duck Project BOM: https://blackduck.hmg-corp.io/api/projects/0883bf43-3328-43c2-a5ee-aeba9fa51454/versions/3bce907f-e7bf-4776-bca8-19e354db488f/components2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- ======== Detect Status ========2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST ERROR [main] --- MAVEN: FAILURE2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- Signature scan / Snippet scan on D:\D\JAVA17NFC\workspace\NFC_Service: SUCCESS2025-11-04 15:15:40 CST ERROR [main] --- Overall Status: FAILURE_DETECTOR - Detect had one or more detector failures while extracting dependencies. Check that all projects build and your environment is configured correctly.2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- If you need help troubleshooting this problem, generate a diagnostic zip file by adding '-d' to the command line, and provide it to Synopsys Technical Support. See 'Diagnostic Mode' in the Detect documentation for more information.2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:40 CST INFO [main] --- ===============================2025-11-04 15:15:40 CST INFO [main] ---2025-11-04 15:15:41 CST INFO [main] --- Detect duration: 00h 17m 23s 559ms2025-11-04 15:15:41 CST ERROR [main] --- Exiting with code 5 - FAILURE_DETECTOR 这个该怎么解决啊
11-05
<think>我们之前已经处理过类似的问题,但这次日志中的关键错误是: EXECUTABLE_FAILED: Maven CLI 具体描述:Failed to execute command, returned non-zero (1): D:\NFC\eclipse\apache-maven-3.6.3\bin\mvn.cmd dependency:tree -T1 这说明手动执行Maven命令时返回了非零退出码(1),意味着Maven命令本身执行失败了。 同时,另一个错误是: EXCEPTION: Maven Project Inspector Exception occurred: Unable to locate previous install of the project inspector. 结合之前用户提到过“卡在mvn.cmd dependency:tree -T1”,现在变成了执行失败,可能是在尝试多次后超时或出现了其他错误。 解决方法思路: 1. 确认Maven命令是否可以独立运行成功。 2. 检查Maven构建环境,尤其是pom.xml和项目结构。 3. 检查Maven版本兼容性及配置。 具体步骤: ### 1. 手动运行Maven命令 在项目根目录下(即D:\D\JAVA17NFC\workspace\NFC_Service)打开命令提示符,运行: ```cmd D:\NFC\eclipse\apache-maven-3.6.3\bin\mvn.cmd dependency:tree -T1 ``` 观察输出,如果失败,则根据Maven输出的错误信息解决。 常见失败原因: - 项目编译错误(如代码错误、缺少依赖) - 网络问题导致依赖下载失败 - Maven插件不兼容或配置错误 ### 2. 检查Maven项目的构建状态 确保项目可以正常编译: ```cmd mvn clean install ``` 如果编译失败,则需解决编译错误。 ### 3. 更新Maven版本 当前使用的Maven版本是3.6.3,可能存在已知问题。建议升级到最新稳定版(如3.9.x): - 下载地址:https://maven.apache.org/download.cgi - 更新环境变量PATH指向新版本,或在Detect中指定新版本路径: ```cmd detect.sh --detect.maven.path="新的mvn.cmd路径" ``` ### 4. 检查Maven配置 - 确认settings.xml(位于~\.m2\settings.xml)中仓库和镜像配置正确。 - 如果有代理,确保代理配置正确。 ### 5. 清理本地仓库 删除本地仓库(默认在C:\Users\<用户名>\.m2\repository)中与当前项目相关的依赖目录(或整个仓库),然后重试。 ### 6. 使用Detect的调试模式 生成诊断文件并分析: ```cmd detect.sh -d --detect.log.level=DEBUG ``` 查看详细的错误堆栈。 ### 7. 检查项目结构 - 确认项目是多模块项目还是单模块,Detect可能需要在正确的模块目录运行。 - 检查pom.xml中是否有不支持的插件或配置。 ### 8. 检查Java版本 确保环境变量JAVA_HOME指向正确的JDK(例如项目要求Java 17),且版本兼容。 ### 9. 忽略Maven Inspector的错误(临时) 如果问题仅在Inspector,可尝试跳过Inspector(不推荐,仅作测试): ```cmd detect.sh --detect.maven.inspector.enable=false ``` 但注意:这可能导致依赖分析不完整。 ### 10. 查看已知问题 查看Black Duck社区是否有同类问题:https://community.synopsys.com/ --- 根据上述步骤,重点先手动执行Maven命令,定位Maven自身的错误。 §§相关问题§§ 1. 如何解决 Maven 构建返回非零退出码的问题? 2. 升级 Maven 版本时需要注意哪些兼容性问题? 3. 如何配置 Black Duck Detect 以使用特定版本的 Maven? 4. Maven 项目编译失败的常见原因有哪些? 5. 如何分析 Detect 调试日志中的错误堆栈信息? </think>### 解决方法 日志显示关键错误:**`EXECUTABLE_FAILED: Maven CLI`**(Maven 命令执行失败)和 **`EXCEPTION: Maven Project Inspector`**(项目检查器异常),导致 Detect 以状态码 5 退出。以下是针对性解决方案: --- #### **核心原因分析** 1. **Maven 命令执行失败** - 日志:`Failed to execute command... returned non-zero (1)` - 说明 `mvn.cmd dependency:tree -T1` 运行时发生错误(退出码 1)。 2. **项目检查器异常** - `Unable to locate previous install` 表明 Detect 无法定位历史缓存,可能因缓存损坏或权限问题。 3. **超时问题** - 执行耗时 17 分钟,暗示依赖解析或网络请求严重延迟。 --- ### 解决步骤 #### 1. **手动运行失败命令诊断** 在项目目录(`D:\D\JAVA17NFC\workspace\NFC_Service`)打开 CMD,执行: ```cmd D:\NFC\eclipse\apache-maven-3.6.3\bin\mvn.cmd dependency:tree -T1 ``` - **观察输出**: - 若报错 `Could not resolve dependencies` → 进入 **步骤 2**。 - 若卡死 → 进入 **步骤 3**。 - 若成功 → 检查 Detect 权限(以管理员身份运行)。 #### 2. **修复依赖解析失败** - 删除本地仓库缓存: ```cmd rmdir /s /q C:\Users\%USERNAME%\.m2\repository ``` - 强制更新依赖(添加 `-U`): ```cmd mvn.cmd clean install -U -T1 ``` - 检查 `pom.xml`: 排查冲突依赖(如重复引入同一库的不同版本),使用 `mvn dependency:analyze`。 #### 3. **解决卡死问题** - **优化 Maven 配置**: 在 `settings.xml` 中添加阿里云镜像加速: ```xml <mirror> <id>aliyun</id> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>*</mirrorOf> </mirror> ``` - **跳过测试**: 运行命令时添加 `-DskipTests`: ```cmd mvn.cmd dependency:tree -T1 -DskipTests ``` #### 4. **升级或替换 Maven 版本** - Maven 3.6.3 存在已知性能问题: - 升级至 [Maven 3.9.6](https://maven.apache.org/download.cgi) - 在 Detect 中指定新路径: ```cmd detect.sh --detect.maven.path="D:\new_maven\bin\mvn.cmd" ``` #### 5. **修复项目检查器异常** - 清理 Detect 缓存: 删除 Detect 工作目录中的 `.detect` 文件夹(通常位于项目根目录)。 - 重置检查器: ```cmd detect.sh --detect.maven.inspector.force.success=true ``` #### 6. **添加超时参数** 在 Detect 命令中延长超时时间(单位:秒): ```cmd detect.sh --detect.maven.timeout=1200 ``` --- #### **紧急恢复建议** - 若需快速完成扫描,**跳过 Maven 检测器**(不推荐,仅临时方案): ```cmd detect.sh --detect.detector.buildless=true ``` - 生成诊断包提交支持团队: ```cmd detect.sh -d ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值