如何查询占用系统资源较高的进程及系统进程对应的sql语句及会话id的方法

来源:这里教程网 时间:2026-03-02 12:09:18 作者:

如何查询占用系统资源较高的进程及系统进程对应的sql语句及会话id的方法 如何查询占用系统资源较高的进程及系统进程对应的sql语句及会话id的方法 查询占用数据库cpu资源使用率较高进程信息 ps -e -o pcpu,pid,user,tty,args | sort -n -k 1 -r | head  查询占用数据库内存资源使用率较高的Oracle进程信息 ps -e -o pmem,pid,user,tty,args | grep -i oracle | sort -n -k 1-r | head  当然,还可以利用top、vmstat、sar等其他方式定位占用资源比较高的进程及其id,查询到系统进程id后,便可以通过以下语句查询其在数据库中对应的会话id及其sql语句。 SELECT sql_id,sql_text FROM v$sqltext a WHERE a.hash_value=(SELECT sql_hash_value FROM v$session b,v$process c WHERE b.paddr=c.addr AND c.spid=&pid) ORDER BY piece ASC ;  直接粘贴在sql命令行运行,输入相应的操作系统进程id即可。 进一步可以根据以上查询到的sql_id,来查询详细的sql执行计划,详细分析问题出现的原因。 SELECT * FROM TABLE(dbms_xplan.display_awr('&sql_id'));

相关推荐