首页 > 数据库 >在 Oracle 中查找 CPU 使用最多的会话或 SQL 查询

在 Oracle 中查找 CPU 使用最多的会话或 SQL 查询

时间:2023-04-11 22:26:32浏览次数:36  
标签:ss SID CPU session SQL Oracle col se

Oracle 中的前 10 个 CPU 消耗会话

col program form a30 heading "Program"
col CPUMins form 99990 heading "CPU in Mins"
select rownum as rank, a.*
from (
SELECT v.sid,sess.Serial# ,program, v.value / (100 * 60) CPUMins
FROM v$statname s , v$sesstat v, v$session sess
WHERE s.name = 'CPU used by this session'
and sess.sid = v.sid
and v.statistic#=s.statistic#
and v.value>0
ORDER BY v.value DESC) a
where rownum < 11;

最近 10 分钟内 CPU 消耗最高的会话

select * from
(
select session_id, session_serial#, count(*)
from v$active_session_history
where session_state= 'ON CPU' and
sample_time >= sysdate - interval '10' minute
group by session_id, session_serial#
order by count(*) desc
);

在 Oracle 中消耗更多的 CPU的SQL id 

col program form a30 heading "Program"
col cpu_usage_sec form 99990 heading "CPU in Seconds"
col MODULE for a18
col OSUSER for a10
col USERNAME for a15
col OSPID for a06 heading "OS PID"
col SID for 99999
col SERIAL# for 999999
col SQL_ID for a15
select * from (
select p.spid "ospid",
(se.SID),ss.serial#,ss.SQL_ID,ss.username,substr(ss.program,1,30) "program",
ss.module,ss.osuser,ss.MACHINE,ss.status,
se.VALUE/100 cpu_usage_sec
from v$session ss,v$sesstat se,
v$statname sn,v$process p
where
se.STATISTIC# = sn.STATISTIC#
and NAME like '%CPU used by this session%'
and se.SID = ss.SID
and ss.username !='SYS'
and ss.status='ACTIVE'
and ss.username is not null
and ss.paddr=p.addr and value > 0
order by se.VALUE desc);

在 Oracle 中最消耗 CPU的SQL 文本

col cpu_usage_sec form 99990 heading "CPU in Seconds"
select * from (
select
(se.SID),substr(q.sql_text,80),ss.module,ss.status,se.VALUE/100 cpu_usage_sec
from v$session ss,v$sesstat se,
v$statname sn, v$process p, v$sql q
where
se.STATISTIC# = sn.STATISTIC#
AND ss.sql_address = q.address
AND ss.sql_hash_value = q.hash_value
and NAME like '%CPU used by this session%'
and se.SID = ss.SID
and ss.username !='SYS'
and ss.status='ACTIVE'
and ss.username is not null
and ss.paddr=p.addr and value > 0
order by se.VALUE desc);

附录

 https://smarttechways.com/2021/02/24/find-top-cpu-consuming-session-or-sqls-query-in-oracle/

 

 

标签:ss,SID,CPU,session,SQL,Oracle,col,se
From: https://www.cnblogs.com/lkj371/p/17307997.html

相关文章

  • arroyo sql 处理
    我在arroyodocker镜像处理的时候简单说过一个arroyo的编译服务,在看了官方介绍之后发现官方是有说明的参考处理基于datafusion解析查询以及计划生成查询计划编译为arroyo逻辑dataflow计划dataflow逻辑计划,生成rust代码rust代码编译为将在arroyo工作节点的二进制文件......
  • sqlalchemy快速插入数据,scoped_session线程安全,加载类上的装饰器,基本增删改查,django中
    今日内容sqlalchemy快速插入数据sqlalchemy是什么orm框架,跟其他web框架没有必然联系,可以独立使用安装,快速使用,执行原生sql创建表和删除表不能创建数据库不能修改字段(增加,删除)使用orm插入第一步:生成engine对象engine=create_engine("mysql+pymysql://[email protected].......
  • SqlSugar-C#版_SeedData(种子数据)
    ///<summary>///导入种子数据///注:批量不可用(指定Entity名时功能可用,通过“classNameSpaces”批量导入时功能不可用)///①DBSeed文件使用json文件保存;///②一张表一个DBSeed文件;///③文件名字与表名保持一致;......
  • 52 openEuler搭建PostgreSQL数据库服务器-管理数据库角色
    52openEuler搭建PostgreSQL数据库服务器-管理数据库角色52.1创建角色可以使用CREATEROLE语句或createuser来创建角色。createuser是对CREATEROLE命令的封装,需要在shell界面执行,而不是在数据库界面。CREATEROLErolename[[WITH]option[...]];createuserrolename......
  • TDSQL 是什么?腾讯推出的分布式数据库 TDSQL 简介
    TDSQL是什么?腾讯推出的分布式数据库TDSQL简介 0BY 董德多 ON 2022年5月12日数据库分布式数据库(TencentDistributedSQL,以下简称TDSQL)是腾讯打造的一款企业级数据库产品,具备强一致高可用、全球部署架构、高SQL兼容度、分布式水平扩展、高性能、完整的分布式事务支......
  • flask框架06 sqlalchemy使用 scoped_session线程安全 一对多 多对多 增删改查
    今日内容详细目录今日内容详细1sqlalchemy快速插入数据2scoped_session线程安全2.1基本使用2.2加在类上的装饰器3基本增删查改3.1基本增删查改和高级查询3.2原生sql3.3django中执行原生sql4一对多4.1表模型4.2新增和基于对象的查询5多对多5.1表模型5.2增加和基于......
  • flask最后 类装饰器定义、flask-sqlalchemy使用、flask-mmigrate使用、flask项目演
    类装饰器1装饰类的装饰器:加在类上的装饰器2类作为装饰器来用:#类作为装饰器来用:(主要用__init__和__call__进行进行功能添加)classWrapper():def__init__(self,func):self.func=funcdef__call__(self,*args,**kwargs):......
  • php的TP框架保存数据报错: SQLSTATE[HY000]: General error: 1366 Incorrect string v
    这一般情况就是保存表情字符导致的字符长度问题原因可能: (需要改字符集为 utf8mb4 排序规则为utf8mb4_general_ci)1.数据表字段不是utf8mb42.项目目录下文件.env里配置mysql  CHARSET=utf8需要该为 CHARSET=utf8mb43.如果不存在.env文件,则可能是config目......
  • flask-flask-sqlalchemy使用
    1.flask-sqlalchemy使用1.使用原生sqlalchemy写接口:只要一访问根目录,就会添加这本书fromflaskimportFlaskfromsettingsimportsessionfrommodelsimportBookapp=Flask(__name__)@app.route('/')defindex():'''数据暂时写死,后期可以动态添加'''s......
  • 安装mysql
    在服务器下执行cd/usr/local,进入到local文件中。执行mkdirmysql创建文件夹。 mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar文件拷贝到b服务器的/usr/local/mysql目录下。在b服务器cd/usr/local/mysql进入mysql文件夹,执行tar-xvfmysql-8.0.22-1.el7.x86_64.rpm-bundle.tar。......