查询Oracle正在执行和执行过的SQL语句
---正在执行的
select
a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
from
v$session a, v$sqlarea b
where
a.sql_address = b.address
---执行过的
select
b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT
from
v$sqlarea b
where
b.FIRST_LOAD_TIME
between
'2009-10-15/09:24:47'
and
'2009-10-15/09:24:47'
order
by
b.FIRST_LOAD_TIME
(此方法好处可以查看某一时间段执行过的sql,并且 SQL_FULLTEXT 包含了完整的 sql 语句)
其他
select
OSUSER,PROGRAM,USERNAME,SCHEMANAME,B.Cpu_Time,STATUS,B.SQL_TEXT
from
V$SESSION A
LEFT
JOIN
V$SQL B
ON
A.SQL_ADDRESS=B.ADDRESS
AND
A.SQL_HASH_VALUE=B.HASH_VALUE
order
by
b.cpu_time
desc
select
address, sql_text, piece
from
v$session, v$sqltext
where
address = sql_address
-- and machine = < you machine name >
order
by
address, piece
查找前十条性能差的sql.
SELECT
*
FROM
(
select
PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text
FROM
v$sqlarea
order
BY
disk_reads
DESC
)
where
ROWNUM<10 ;
查看占io较大的正在运行的session
SELECT
se.sid,se.serial#,pr.SPID,se.username,se.status,
se.terminal,se.program,se.MODULE,、se.sql_address,st.event,st.
p1text,si.physical_reads,
si.block_changes
FROM
v$session se,v$session_wait st,
v$sess_io si,v$process pr
WHERE
st.sid=se.sid
AND
st.
sid=si.sid
AND
se.PADDR=pr.ADDR
AND
se.sid>6
AND
st.
wait_time=0
AND
st.event
NOT
LIKE
'%SQL%'
ORDER
BY
physical_reads
DESC
分类:
oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?