You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找Oracle数据库的系统服务名?针对ps -ef输出实例求助

嘿,我来帮你理清Oracle服务名的查询方法,还有你给出的进程对应的具体服务名!

一、通用的Oracle系统服务名查询方法

这里有几个实用的方式:

  • 通过监听工具查看:在终端执行 lsnrctl status,输出内容里会明确列出 Service "xxx" 的条目,这里的 xxx 就是数据库的服务名。
  • 登录数据库查询:用SQL客户端登录Oracle后,执行这两条SQL都能帮你确认:
    • 查看数据库名(通常和服务名一致):SELECT name FROM v$database;
    • 查看当前会话对应的服务名:SELECT service_name FROM v$session;
  • 从操作系统进程识别:Oracle进程命名有固定规则,格式是 [进程类型]_[核心进程名]_[实例/服务名],通过进程名就能直接提取出服务名。
二、针对你给出的进程输出分析

你拿到的进程行 oracle 42547 1 0 Mar14 ? 00:00:35 asm_pmon_+ASM,这是Oracle ASM(自动存储管理)组件的pmon进程——pmon是Oracle的进程监控器,负责清理失效会话。

按照进程命名规则,最后一段的 +ASM 就是这个ASM实例的服务名(同时也是实例名)。ASM是Oracle专门用来管理存储的特殊实例,它的服务名默认就是 +ASM。

如果要百分百确认,你可以登录ASM实例执行这条SQL:SELECT instance_name FROM v$instance;,返回结果肯定是 +ASM。

内容的提问来源于stack exchange,提问作者Mammu yedukondalu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:57:52