查找某段时间执行过的SQL #gv$sql 是每个version的sql一条记录 #记得排除掉自己 SELECT module,SQL_FULLTEXT,elapsed_time,LAST_ACTIVE_TIME,EXECUTIONS FROM gv$sql WHERE sql_text LIKE '%select wafer_key WaferKey, UPDATE_USER UserName from defect_wafer_brm where reclassify_date%' AND LAST_ACTIVE_TIME > to_date('2025-01-15 00:00:01','yyyy-mm-dd hh24:mi:ss') AND LAST_ACTIVE_TIME < to_date('2025-01-16 23:00:00','yyyy-mm-dd hh24:mi:ss') AND module NOT LIKE '%DBeaver%' ORDER BY LAST_ACTIVE_TIME #alter system flush shared_pool # alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; #elapsed_time 单位为微秒,是cputime和waittime的总和 #cpu_time就是包含解析、执行、获取数据的时间,如果cputime和elapsedtime相差较大则说明等待比较久 #gv$sql还需要除以executions以便获取平均时间 select module,sql_text,HASH_VALUE,elapsed_time/1000000 total_second,last_active_time,EXECUTIONS,ELAPSED_TIME/nvl(EXECUTIONS,1)/1000000 avg_second,cpu_time/1000/1000 from gv$sql where sql_id='0ysf4sb17gp92'; 查找执行时间大于300s的SQL语句。select a.sql_text,a.sql_id,b.etime elapsed_time,u.username,c.user_id,c.sample_time,c.instance_numberfrom dba_hist_sqltext a,(select sql_id,MAX(elapsed_time_delta/1000000) as etime from dba_hist_sqlstat where elapsed_time_delta/1000000 >=300 GROUP BY sql_id)b,(SELECT SQL_ID,max(sample_time) sample_time,instance_number,user_idFROM dba_hist_active_sess_history GROUP BY sql_id,instance_number,user_id) c,dba_users uwhere a.sql_id=b.sql_idand b.sql_id=c.sql_idand c.user_id=u.user_idAND u.username NOT IN ('SYS','SYSTEM')--AND a.SQL_ID='3achj6g0wd53m'--AND REGEXP_LIKE(SQL_Text,'DEFECT_IMAGE','i') --AND a.COMMAND_TYPE = 6AND SAMPLE_TIME >= to_date('2024-03-8 01:00:00','YYYY-MM-DD HH24:MI:SS')AND SAMPLE_TIME <= TO_DATE('2024-03-8 23:00:00','YYYY-MM-DD HH24:MI:SS') order by sample_time desc,b.etime desc; 查看用户最近登录的时间 select MACHINE,s.logon_time,PROGRAM from gv$session s where MACHINE='ZHFA-CPJSLNK1\ZHFA-CPJSLNK1' order by s.logon_time desc; 查看正在运行的SQL语句: select a.sid,a.serial#, a.paddr,a.machine, nvl(a.sql_id,a.prev_sql_id) sql_id, b.sql_text,b.sql_fulltext, b.executions, b.first_load_time,b.last_load_time, b.last_active_time, b.disk_reads,b.direct_writes,b.buffer_gets from gv$session a,gv$sql b,gv$process c where a.username='aaa' --and a.status ='ACTIVE' and c.addr=a.paddr and a.sql_hash_value=b.hash_value
Oracle查看数据库执行SQL信息
来源:这里教程网
时间:2026-03-03 19:49:38
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 30分钟速达的风,还是吹到了县城
30分钟速达的风,还是吹到了县城
26-03-03 - [20240409]为什么一条sql语句在实例2执行要慢的分析.txt
[20240409]为什么一条sql语句在实例2执行要慢的分析.txt
26-03-03 - Oracle 新特征-Read-Only Per-PDB Standby
Oracle 新特征-Read-Only Per-PDB Standby
26-03-03 - Oracle 数据库 [INS-30060]check for group existence failed. 报错解决
- 一次物化视图刷新问题排查
一次物化视图刷新问题排查
26-03-03 - asm内存不足导致归档报错
asm内存不足导致归档报错
26-03-03 - 记一次oracle rac 一个节点load averge高导致的问题
记一次oracle rac 一个节点load averge高导致的问题
26-03-03 - OGG trail文件损坏处理办法(OGG-01028)
OGG trail文件损坏处理办法(OGG-01028)
26-03-03 - 钉钉“牵手”微信,互联网“拆墙”大步迈进
钉钉“牵手”微信,互联网“拆墙”大步迈进
26-03-03 - Oracle 客户端和服务器时间不一致-小忆
Oracle 客户端和服务器时间不一致-小忆
26-03-03
