实时监控SQL

本文探讨了如何利用v$active_session_history、v$session、v$session_longops、v$sql、v$sql_plan等视图进行SQL实时监控,以及如何通过gv$sql_monitor、gv$sql_plan_monitor、gv$sql和gv$sql_plan进行性能分析和优化。
摘要由CSDN通过智能技术生成
Oracle数据库的实时SQL监控特性能够在SQL语句执行的时候监控其性能,默认情况下,当SQL语句并行运行时、或者单个执行时至少消耗5秒的CPU或者I/O时,SQL监控将会自动启动。
使用视图V$sql_monitor和v$sql_plan_monitor监控SQL语句执行的统计信息,然后结合下面的视图得到被监控SQL语句的额外信息:
  • v$active_session_history
  • v$session
  • v$session_longops
  • v$sql
  • v$sql_plan
在启动监视之后,数据库将一个条目添加进v$sql_monitor视图,该条目追踪执行时收集的关键性能指标,包括:运行时间、CPU时间、读和写的次数,I/O等待时间和其他等待时间。当语句执行时,这些统计信息近乎实时刷新,通常是每秒一次。执行结束之后,监控信息不会被立即删除,而是会保存在v$sql_monitor至少一分钟。该条目最终将会被删除, 这样它的空间将会被回收,以用来监视新的SQL语句。
v$sql_monitor视图的统计信息是V$sql视图的子集,但是,与v$sql不同,监控统计信息不会累积,相反,一条条目对应一次SQL语句的执行,如果数据库监控同一条SQL语句执行两次,那么每次执行都会在v$sql_monitor产生一个条目。
为了唯一识别同一条语句多次执行,在v$sql_monitor视图中,使用符合主键(sql_id,sql_exec_start,sql_exec_id)来识别。

1 监视SQL计划 & 监视并行执行
可以从v$sql_monitor和v$sql_plan_monitor查看。
2 生成SQL监视报告
SQL监视报告从以下视图获得数据:
  • gv$sql_monitor
  • gv$sql_plan_monitor
  • gv$sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值