找到长时间执行的oracle会话,查看其操作系统进程状态

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

找到长时间执行的oracle会话,查看其操作系统进程状态

1、查询系统中长时间执行的SQL操作,顺序排列:

select sid, message from v$session_longops order by start_time;

通过MESSAGE列,可以看到会话当前执行的状态。

2、查询当前正在执行的SQL完成比率:

select sid, opname, target_desc, sofar, totalwork, trunc(sofar/totalwork*100,2) || '%' as perwork

from v$session_longops where sofar != totalwork;

3、执行下面的查询,得到当前长时间操作执行的SQL任务分别是什么:

select opname, target, to_char(start_time, 'yyyy-mm-dd hh24:mi:ss') start_time, elapsed_seconds elapsed, 

executions execs, buffer_gets/decode(executions, 0, 1, executions) bufgets, module, sql_text

from v$session_longops sl, v$sqlarea sa

where sl.sql_hash_value = sa.hash_value

and upper(substr(module, 1, 4)) <> 'RMAN'

and substr(opname, 1, 4 ) <> 'RMAN'

and sl.start_time > trunc(sysdate)

order by start_time;

4、执行下面的查询,取得这些oracle进程对应的操作系统进程信息:

select p.spid, s.sid, s.serial#, s.program from v$process, v$session s

where p.addr = s.paddr and s.sid in (138);

5、以root身份登录操作系统,执行topas命令,可以看到相关操作系统任务(也可能看不到)。

v$session_longops 查看进程的进度 http://cc59.itpub.net/post/1845/286133 DBA们经常需要监控数据库中一些花费大量时间的操作,如备份恢复,收集统计信息,排序都会记录在这个视图当中。 这个视图主要是显示运行时间超过6秒的数据库操作的状态.所以对于数据库监控一些耗时的操作是非常有意义的。 并且可以看到某个进程执行进度。 来看看这个视图的结构: SQL> desc v$session 阅读详情

相关推荐

oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量导入数据))

sqlldr这个命令可以将文本中的数据 大批量的 导入到oracle数据库表中 在win7下使用很简单,自己亲自动手试了下,分享给大家 1.建立一个简单的文本文件,比如:testLoad.txt,内容如下: 1,"test",33 2,"test",33 3,"test",33 4,"test",33 5,"test",33 6,"test",337,"tes

web开发 422

查看和终止 Oracle 连接会话以及正在执行SQL 语句

查看和终止 Oracle 连接会话以及正在执行SQL 语句

weixin_44519342的博客 3491

Oracle查看长时间持有锁并阻塞其他会话session,生成处理语句

查看长时间持有锁并阻塞其他会话session,生成处理语句

cxj252的博客 1036

v$session_longops 查看某条sql语句的完成度

v$session_longops 查看某条sql语句的完成度

lltfjsy的博客 328

oracle查看长时间操作,找到长时间执行oracle会话查看操作系统进程状态

找到长时间执行oracle会话查看操作系统进程状态[@more@]1、查询系统中长时间执行SQL操作,顺序排列:select sid, message from v$session_longops order by start_time;通过MESSAGE列,可以看到会话当前执行状态。2、查询当前正在执行SQL完成比率:select sid, opname, target_desc, ...

weixin_39950057的博客 1128

查询oracle程序登录时长,找到长时间执行oracle会话查看操作系统进程状态...

找到长时间执行oracle会话查看操作系统进程状态[@more@]1、查询系统中长时间执行SQL操作,顺序排列:select sid, message from v$session_longops order by start_time;通过MESSAGE列,可以看到会话当前执行状态。2、查询当前正在执行SQL完成比率:select sid, opname, target_desc, ...

weixin_30878111的博客 720

ORACLE 查看SQL进程执行情况

找到长时间执行oracle会话查看操作系统进程状态 1、查询系统中长时间执行SQL操作,顺序排列: select sid, serial#,message from v$session_longops order by start_time; 通过MESSAGE列,可以看到会话当前执行状态。 2、查询当前正在执行SQL或存储过程完成比率: select sid,serial#, o...

qq_35201754的博客 9184

oracle中job长时间执行没有结束

一些项目中使用了job定期执行sql语句。如果要执行sql语句是基于dblink对远程数据库的访问,那么有时候就会出现该sql语句长时间执行一直不结束的情况。并且这时在远程数据库上并没有锁导致该sql语句等待(这可能是由于网络问题触发的oracle的一个bug吧,远程数据库与本地数据之间有防火墙时比较容易出现这个现象)。 下面总结了如何判断该job是否长时间执行没结束,并说明了处理步骤。

fupei的专栏 1万+

Oracle 查看后台正在执行SQL 语句

高效监控 Oracle 后台执行SQL,快速定位性能瓶颈或异常操作

嗨,来了,累了把,歇息一下,暂时放下一切的纷纷扰扰,享受一份自己独处的时光 6878

ORACLE 查看SQL进程执行情况

找到长时间执行oracle会话查看操作系统进程状态 1、查询系统中长时间执行SQL操作,顺序排列: select sid, message from v$session_longops order by start_time; 通过MESSAGE列,可以看到会话当前执行状态。 2、查询当前正在执行SQL完成比率: select sid, opname, target

infiltrators的博客 1728

oracle的sniped会话状态,Oracle会话状态

我们可以通过Oracle视图v$session查看当前数据库中的所有会话信息,其中该视图有一列为status标志会话状态Oracle官方文档对这我们可以通过Oracle视图v$session查看当前数据库中的所有会话信息,其中该视图有一列为status标志会话状态Oracle官方文档对这一列定义如下STATUSVARCHAR2(8)Status of the session:ACTIVE ...

weixin_42393245的博客 923

oracle查看sql进程执行情况

找到长时间执行oracle会话查看操作系统进程状态 1、查询系统中长时间执行SQL操作,顺序排列: select sid, message from v$session_longops order by start_time; 通过MESSAGE列,可以看到会话当前执行状态。 2、查询当前正在执行SQL完成比率: select sid, opname,start_time

yaonianlong的专栏 2773

Oracle中,如何定时清理INACTIVE状态会话

Oracle中,如何定时清理INACTIVE状态会话? 一般情况下,少量的INACTVI...

小麦苗DBA宝典 1801

oracle查询过程中卡住,查看Oracle中存储过程长时间被卡住的原因

1:查V$DB_OBJECT_CACHESELECT * FROM V$DB_OBJECT_CACHE WHERE name=‘CUX_OE_ORDER_RPT_PKG‘ AND LOCKS!=‘0‘;注意:CUX_OE_ORDER_RPT_PKG 为存储过程的名称。发现locks=22:按对象查出sid的值select /*+ rule*/ SID from V$ACCESS WHERE ob...

weixin_31328141的博客 4134

oracle会话状态是KILLED无法结束怎么办?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。

mike_yang1980的博客 1244

通过Kill Session杀掉Oracle会话或死锁的方式

一.v$session,v$process,v$locked_object三张表的一些常见操作: 1.查看当前总会话数和进程数 --会话表 select * from v$session; --进程表 select * from v$process; --锁信息 select * from v$locked_object; 2.查询那些应用的连接数此时是多少 select b.MACH...

zk052300的博客 1235
上一篇: 正则表达式
apex0
博客等级 码龄18年 3粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值