暂无图片
Oracle中查看正在运行的SQL语句,怎么查看?
我来答
分享
不是小熊
2022-02-21
Oracle中查看正在运行的SQL语句,怎么查看?

Oracle中查看正在运行的SQL语句,怎么查看?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
薛晓刚

如果不是锁,执行很快不太可能看得到。

select sess.sid,

sess.serial#,

lo.oracle_username,

lo.os_user_name,

ao.object_name,

lo.locked_mode,

sess.MACHINE,

sess.PROGRAM,

s.SQL_FULLTEXT,

sess.LOGON_TIME,

sess.LOCKWAIT,

sess.STATUS,

sess.SQL_ID,

sess.LAST_CALL_ET,g.BLOCKING_SESSION

from v$locked_object lo,

dba_objects ao,

v$session sess,

v$sql s,

gv$session g

where ao.object_id = lo.object_id and lo.session_id = sess.sid and s.SQL_ID=sess.PREV_SQL_ID and sess.sid=g.sid;

如果是锁,这样就能看到是运行的SQL情况。

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
DarkAthena

查正在运行的会话

select * from v$session where username is not null and status = 'ACTIVE' order by logon_time, sid;
复制

可以得到 sql_address 和 sql_hash_value ,再带入下面这个sql进行查询,即可得目前正在执行的sql

select sql_text from v$sqltext_with_newlines where address = hextoraw(:sql_address) and hash_value = :sql_hash_value order by piece /* concatenate */
复制

(v$sqltext_with_newlines 可以替换成 v$sqltext)

当然也可以把这两个视图直接关联起来查。

另外,如果是rac,注意两个视图都要换成"GV"开头的视图,并多加一个inst_id的关联条件

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle 19c如何准确查出所有坏块是哪些对象
回答 2
1、根据V$DATABASEBLOCKCORRUPTION中的信息确定坏块类型SELECT tablespacename, segmenttype, owner,&nbs
Oracle ,索引表空间的体积有公式计算吗?
回答 3
已采纳
您想查看的是索引表空间被哪些数据占用是吗,可以使用如下语句查出selectsegmenttype,sum(bytes)/1024/1024USEDMBfromdbasegmentswheretable
oracle命令行下怎么查看表关系?
回答 1
已采纳
不好意思,不是很明白您的具体需求。是要看类似于A表与B表的关系吗?如果您已知A表的名称,根据获取A表的DDL定义来查,方法如下:SELECTDBMSMETADATA.GETDDL('TABLE','E
静默安装Oracle,执行安装命令时,总出现unzip的使用?
回答 8
信息不够,多贴出来点信息才好知道问题
UNDO表空间清理
回答 1
已采纳
查看active状态的segmentSELECTb.usn,tablespacename,segmentname,bytes"ExtentSize",count(extentid)
oracle 清理数据
回答 2
直接drop会比较好。因为truncate操作会删除表中的所有数据,但是表结构、索引、触发器、权限等仍然保留,这个过程可能会比较耗时。而drop操作则是直接删除表及其依赖的所有对象,包括数据、索引、触
Oracle update表的某个参数,为什么有时几分钟就好。有时候直接卡死,几小时都不结束,从哪里入手分析?
回答 2
卡死的时候看看有没有被阻塞,等待事件是什么。
Oracle 精确到小数9位用哪个定义变量?
回答 4
学习了
19c rac 节点与DB节点不符合
回答 1
可能性1、创建数据库时,addinstance的时候,节点名称和实例名称反了;可能性2、数据库安装的时候模式选择错误,db安装Oracle支持策略或者池的概念,数据库实例可以在不同的RAC节点,需要铲
有什么办法查看历史锁表是哪个表引起的吗?
回答 1
历史锁表是看过去锁的SQL吗?还是看过去一段时间,哪个表上的锁比较多?