当前位置: 首页 > news >正文

Oracle 排查慢SQL

Oracle 排查慢SQL
select * from v s q l a r e a w h e r e r o w n u m < 10 ; s e l e c t ∗ f r o m v sqlarea where rownum<10; select * from v sqlareawhererownum<10;selectfromvsql where rownum<10;
select * from dba_hist_sqltext where rownum<10;
select * from dba_hist_active_sess_history where rownum<10;
select * from v$sql_plan where rownum<10;

select sa.sql_fulltext,
sa.sql_id,
u.username,
sa.sorts as “排序次数”,
sa.executions as “执行次数”,
sa.px_servers_executions as “并行器执行次数”,
sa.fetches as “sql语句提取次数”,
sa.rows_processed as “sql语句的处理行数”
from v$sqlarea sa
left join all_users u on sa.PARSING_USER_ID=u.user_id
where rownum<=20 order by sa.executions desc;

select sql_fulltext,sql_id,
u.username,
sorts as “排序次数”,
fetches as “sql语句提取次数”,
executions as “执行次数”,
px_servers_executions as “并行器执行次数”,
round(cpu_time/1000000,2) as “SQL语句占用CPU的时间”,
round(elapsed_time/1000000,2) as “SQL语句执行的总时间”,
round((elapsed_time/executions)/1000000,2) as “平均执行时长”,
object_status as “对象状态”,
last_active_time as “最后的活动时间”
from v$sql s
left join all_users u on s.PARSING_USER_ID=u.USER_ID
where to_char(last_active_time,‘YYYYMMDD’)>'20240612’and executions >0 and round((elapsed_time/executions)/1000000,2)>5
order by round((elapsed_time/executions)/1000000,2) desc;

#db_hist_active_sess_history 视图是Oracle数据库中的一个视图,用于存储活动会话历史的快照数据
select session_id,session_serial#,user_id,sql_id,
sample_time as “采样时间”,
instance_number as “实例编号”,
sql_opname as “SQL操作名称”,
sql_exec_start as “SQL执行开始时间”,
wait_time as “等待时长/0.01s”,
session_state as “会话状态”,
blocking_session_status as “阻塞会话状态”,
blocking_session as “阻塞当前会话的会话ID”,
blocking_session_serial# as “阻塞当前会话的会话序列号”
from dba_hist_active_sess_history;

select sql_id,
timestamp as “执行计划的时间”,
operation as “操作类型”,
options as “操作类型”,
object_node as “分布式节点”,
object_owner as “执行的用户”,
object_name as “对象名称”,
cost as “估算成本”,cardinality as “估算输出行数”,time as “估算时间微妙”,bytes as “估算输出的字节数”,cpu_cost as “估算的CPU花费”,io_cost as “估算的IO花费”
from v$sql_plan where operation=‘TABLE ACCESS’;

select sql_id,sql_text,session_serial#,status,
elapsed_time as “花费时间微妙”,
cpu_time as “cpu占用时间”,buffer_gets as “缓存获取次数”,disk_reads as “磁盘读取次数”,user_io_wait_time as “IO等待时长”,plsql_exec_time as “plsql执行时长”
from v$sql_monitor;

set autotrace on
执行sql 查看执行计划
set autotrace off

explain plan for
select * from table(DBMS_EPLAN.DISPLAY);

http://www.lryc.cn/news/372854.html

相关文章:

  • java技术专家面试指南80问【java学习+面试宝典】(七)
  • 4机器学习期末复习
  • chatgpt: int t[] int *t 区别
  • 网络安全技术实验六 入侵检测技术实践
  • SpringBoot中获取当前请求的request和response
  • Neo4j 桌面版打不开踩坑贴
  • [数据集][目标检测]中国象棋检测数据集VOC+YOLO格式300张12类别
  • 全方位·多层次·智能化,漫途水库大坝安全监测方案
  • windows安装SQLyog
  • jEasyUI 转换 HTML 表格为数据网格
  • 深度解析RocketMq源码-持久化组件(一) MappedFile
  • 贝壳APP渗透测试WP
  • IDEA快速入门02-快速入门
  • 快速构建本地RAG聊天机器人:使用LangFlow和Ollama实现无代码开发
  • 关于使用pycharm中控制台运行代码错误之FileNotFoundError: [Errno 2] No such file or directory:
  • 【SpringBoot】深入分析 SpringApplication 源码:彻底理解 SpringBoot 启动流程
  • 边界内聚和耦合
  • 单调栈——AcWing.830单调栈
  • 手机上安装AI模型是一种什么体验?
  • 【MySQL】主从复制
  • vscode插件开发之 - menu配置
  • 自学C语言-9
  • NVIDIA Triton系列01-应用概论
  • LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
  • Web前端进国企:挑战与机遇并存
  • 快速上手SpringBoot
  • SQL 快速参考
  • Cask ‘oraclexxx‘ is unavailable: No Cask with this name exists.
  • 2024年武汉市中级、高级职称水测考试开卷方法分享
  • 计算机网络(6) ICMP协议