如何了解oracle进程当前正在执行的操作

如何了解oracle进程当前正在执行的操作,oracle,process,Oracle,Process,我有一个Oracle进程,它从几个小时以来一直在用100%的CPU运行 PID用户PR NI VIRT RES SHR S%CPU%MEM TIME+命令 75508 oracle 20 0 102.1g 1.7g 39284 R 100.0 1.1 399:52.21 oracle 是否有可能表明该过程目前正在做什么 提前感谢:) 问候,, Steffen在V$会话和V$过程的帮助下,您应该能够找到您需要了解的所有信息 看来你已经知道你的PID了。使用该PID,您可以使用以下SELECT语句并

我有一个Oracle进程,它从几个小时以来一直在用100%的CPU运行

PID用户PR NI VIRT RES SHR S%CPU%MEM TIME+命令 75508 oracle 20 0 102.1g 1.7g 39284 R 100.0 1.1 399:52.21 oracle

是否有可能表明该过程目前正在做什么

提前感谢:)

问候,,
Steffen

在V$会话和V$过程的帮助下,您应该能够找到您需要了解的所有信息

看来你已经知道你的PID了。使用该PID,您可以使用以下SELECT语句并标识SQL\u ID

select sid,serial#,username,sql_id,schemaname,osuser,process,machine,port,program,type,paddr
from v$session
where PADDR = (select ADDR from V$PROCESS where SPID = 'YOURPID')
在SQL_ID已知的情况下,您可以从V_u$SQLAREA中检索执行的操作。此系统视图将为您提供当前正在运行的确切语句

SELECT * FROM SYS.V_$SQLAREA WHERE sql_id='SQL_ID_FROM_THE_PREVIOUS_SELET';

数据库中的v$session视图应该可以帮助您解决这个问题。它将识别活动会话(包括后台进程),并向您显示它们正在执行的SQL、它们正在等待的内容等。根据您正在运行的Oracle版本,您还可以访问Enterprise Manager Express控制台,该控制台将向您显示更多有关正在进行的操作的详细信息。