如何从 Oracle 数据库中的 SID 识别操作系统 PID
一、概述
我们想根据Oracle 数据库中的 sid 找出 OS PID,以检查与 OS 和数据库相关的性能。在 Linux 平台中,每个进程都有其进程 ID(PID),用户可以很容易地从 SID 中获取 PID(Identify OS PID from SID)。
二、解决方案
2.1 根据oracle的sid查询对应系统的pid
Set lines 300 col sid format 9999 col username format a20 col osuser format a20 select a.sid, a.serial#,a.username, a.osuser, b.spid from v$session a, v$process b where a.paddr= b.addr and a.sid='&Enter_sid' order by a.sid;
2.2 根据系统的OS pid,查询ORACLE的sid
要执行 CPU、内存和 I/O 等数据库性能,我们需要根据 OS PID(进程 ID)检查 SID。
得到SID后,可以使用v$session查看数据库中的sql_id,也可以使用v$sql视图在数据库中查找SQL文本。
col sid format 9999 col username format a22 col osuser format a18 select p.spid,s.sid, s.serial#,s.username, s.osuser from gv$session s, gv$process p where s.paddr= p.addr and p.spid='&Enter_spid' order by p.spid;
喜欢请赞赏一下啦^_^
微信赞赏

支付宝赞赏

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步