久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

oracle中v$sql

149次閱讀
沒有評論

共計 2496 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 oracle 中 v$sql_monitor 如何監視正在運行的 SQL 語句的統計信息,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

11g 中引入了新的動態性能視圖 V$SQL_MONITOR,該視圖用以顯示 Oracle 監視的 SQL 語句信息。SQL 監視會對那些并行執行或者消耗 5 秒以上 cpu 時間或 I / O 時間的 SQL 語句自動啟動,同時在 V$SQL_MONITOR 視圖中產生一條記錄。當 SQL 語句正在執行,V$SQL_MONITOR 視圖中的統計信息將被實時刷新,頻率為每秒 1 次。SQL 語句執行完成后,監視信息將不會被立即刪除,Oracle 會保證相關記錄保存一分鐘 (由參數_sqlmon_recycle_time 所控制,默認為 60s),最終這些記錄都會被刪除并被重用。這一新的 SQL 性能監視特性僅在 CONTROL_MANAGEMENT_PACK_ACCESS 為 DIAGNOSTIC+TUNING 和 STATISTICS_LEVEL 為 ALL|TYPICAL 時被啟用。

v$sql_monitor 視圖包含當前正在運行的 SQL 語句,以及最近運行的 SQL 語句。

使用 v$sql_monitor 視圖中所監控的 SQL 語句時需在滿足以下條件:
1)自動監控任何并行語句
2)如果一個 SQL 語句消耗了超過 5 秒的 CPU 或 I / O 時間,則會自動監控
3)監控任何在語句級啟用監控的 SQL 語句(使用 monitor 或 no_monitor)

提示:結合 v$sql_monitor 視圖與 v$sql_plan_monitor 視圖可以進一步查詢 SQL 的執行計劃等信息。聯合一些其他視圖,如 v$active_session_history、v$session、v$session_longops、v$sql、v$sql_plan 等,可以獲得關于 SQL 的更多信息。

注意:為了進行 SQL 監控,初始化參數 STATISTICS_LEVEL 必須設置為 TYPICAL 或 ALL,CONTROL_MANAGEMENT_PACK_ACCESS 必須設置為 DIAGNOSTIC+TUNING。

SQL show parameter STATISTICS_LEVE
NAME TYPE VALUE
———————————— ———– ——————————
statistics_level string TYPICAL

SQL show parameter CONTROL_MANAGEMENT_PACK_ACCESS
NAME TYPE VALUE
———————————— ———– ——————————
control_management_pack_access string DIAGNOSTIC+TUNING

1、如查看數據庫中消耗 CPU 資源排名前 10 位的查詢:

select * from (
select sql_id,username,to_char(sql_exec_start, yyyy-mm-dd hh34:mi:ss) sql_exec_start,
sql_exec_id,sum(buffer_gets) buffer_gets,
sum(disk_reads) disk_reads,round(sum(cpu_time/1000000),1) cpu_secs
from v$sql_monitor
where username not in (SYS , SYSTEM)
group by sql_id,username,sql_exec_start,sql_exec_id
order by 7 desc)
where rownum

SQL_ID USERNAME SQL_EXEC_START SQL_EXEC_ID BUFFER_GETS DISK_READS CPU_SECS
————- —————————— ——————- ———– ———– ———- ———-
8p8ann3c68vxc SCOTT 2016-11-24 09:50:20 16777216 0 0 37.1

2、監控指定的 SQL 語句:
2.1、Hint 提示監控指定的 SQL 語句
select /*+ monitor */e.empno,e.ename,e.sal,d.dname from scott.emp e,scott.dept d where e.deptno=d.deptno;

2.2、v$sql_monitor 視圖中查看被監控的 SQL 語句消耗的資源信息:

select sql_id,username,to_char(sql_exec_start, yyyy-mm-dd hh34:mi:ss) sql_exec_start,
sql_exec_id,sum(buffer_gets) buffer_gets,
sum(disk_reads)disk_reads,round(sum(cpu_time/1000000),1) cpu_secs
from v$sql_monitor
where sql_text like %monitor%
group by sql_id,username,sql_exec_start,sql_exec_id;

2.3、然后可以使用 DBMS_SQLTUNE 包來查看 SQL 語句生成的監控信息(如執行計劃等):
SQL  
set long 10000000
set longchunksize 10000000
set linesize 200
select dbms_sqltune.report_sql_monitor from dual;

關于“oracle 中 v$sql_monitor 如何監視正在運行的 SQL 語句的統計信息”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-15發表,共計2496字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 泰宁县| 江孜县| 新竹市| 南通市| 怀宁县| 贡觉县| 沙洋县| 湘潭县| 诏安县| 江城| 乌兰浩特市| 营山县| 武城县| 高平市| 治县。| 莆田市| 石阡县| 吐鲁番市| 崇义县| 五华县| 镇宁| 信阳市| 资兴市| 陇西县| 唐山市| 泰和县| 治县。| 莱州市| 普安县| 孝感市| 遂川县| 二连浩特市| 自贡市| 什邡市| 绩溪县| 会宁县| 孟村| 玉林市| 渑池县| 宣武区| 桐梓县|