獲取v$latch數據源實驗

来源:http://www.cnblogs.com/Clark-cloud-database/archive/2017/11/10/7813353.html
-Advertisement-
Play Games

實驗環境:Oracle Rac 11.2.0.3 首先獲取v$latch的定義:通過PL/SQL或者get ddl等常規途徑只能獲取到v_$latch相關的視圖信息。需要通過特殊方法獲取v$latch的ddl可以通過set autotrace traceonly開啟狀態下執行select * fro ...


實驗環境:Oracle Rac 11.2.0.3

首先獲取v$latch的定義:
通過PL/SQL或者get ddl等常規途徑只能獲取到v_$latch相關的視圖信息。
需要通過特殊方法獲取v$latch的ddl
可以通過set autotrace traceonly開啟狀態下執行select * from v$latch;得知表的數據來源是x$kslltr,結果如下:
-----------------------------------------------------------------------------
| Id  | Operation        | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------
|   0 | SELECT STATEMENT |          |     1 |   352 |     0   (0)| 00:00:01 |
|*  1 |  FIXED TABLE FULL| X$KSLLTR |     1 |   352 |     0   (0)| 00:00:01 |

通過sql_trace的方式因為版本問題,trace的輸出結構略有不同,在11.2.0.4.5中可以獲取的ddl,但是在我的實驗環境中無法獲取,方法如下
alter session set sql_trace=true;
select * from v$latch;
alter session set sql_trace=false;
select * from v$diag_info where name='Default Trace File';
tkprof xxxx.trc

通過10053trace的方式獲取到v$latch的具體底層數據來源,方法如下
alter session set events '10053 trace name context forever,level 1'; 
select * from v$latch;
alter session set events '10053 trace name context off';
select * from v$diag_info where name='Default Trace File';

vim /u01/app/oracle/diag/rdbms/irac/IRAC1/trace/IRAC1_ora_16791.trc
註意!請不要使用sys用戶做10053 trace,你是得不到結果的。
得到如下結果,從輸出可以看出,最終轉換的sql語句如下;
Final query after transformations:******* UNPARSED QUERY IS *******
SELECT "LT"."KSLLTADDR" "ADDR","LT"."KSLLTNUM" "LATCH#","LT"."KSLLTLVL" "LEVEL#","LT"."KSLLTNAM" "NAME","LT"."KSLLTHSH" "HASH","LT"."KSLLTWGT" "GETS","LT"."KSLLTWFF" "MISSES","LT"."KSLLTWSL" "SLEEPS","LT"."KSLLTNGT" "IMMEDIATE_GETS","LT"."KSLLTNFA" "IMMEDIATE_MISSES","LT"."KSLLTWKC" "WAITERS_WOKEN","LT"."KSLLTWTH" "WAITS_HOLDING_LATCH","LT"."KSLLTHST0" "SPIN_GETS","LT"."KSLLTHST1" "SLEEP1","LT"."KSLLTHST2" "SLEEP2","LT"."KSLLTHST3" "SLEEP3","LT"."KSLLTHST4" "SLEEP4","LT"."KSLLTHST5" "SLEEP5","LT"."KSLLTHST6" "SLEEP6","LT"."KSLLTHST7" "SLEEP7","LT"."KSLLTHST8" "SLEEP8","LT"."KSLLTHST9" "SLEEP9","LT"."KSLLTHST10" "SLEEP10","LT"."KSLLTHST11" "SLEEP11","LT"."KSLLTWTT" "WAIT_TIME" FROM SYS."X$KSLLTR" "LT" WHERE "LT"."INST_ID"=USERENV('INSTANCE')
kkoqbc: optimizing query block SEL$88122447 (#0) 
從而得到v$latch的底層數據來源。

當然,如果每次想看到官方文檔中沒有記載的視圖就去做一個10053trace,實在麻煩,可以使用如下方式,簡單方便的查詢到視圖的數據源:
SQL> SELECT * FROM v$fixed_view_definition WHERE view_name = 'V$LATCH';

VIEW_NAME
--------------------------------------------------------------------------------
VIEW_DEFINITION
--------------------------------------------------------------------------------
V$LATCH
select addr,latch#,level#,name,hash,gets,misses,sleeps,immediate_gets, immediate
_misses,waiters_woken,waits_holding_latch,spin_gets, sleep1,sleep2,sleep3,sleep4
,sleep5,sleep6,sleep7,sleep8,sleep9, sleep10,sleep11,wait_time from gv$latch whe
re inst_id = USERENV('Instance')

SQL> SELECT * FROM v$fixed_view_definition WHERE view_name = 'GV$LATCH';

VIEW_NAME
--------------------------------------------------------------------------------
VIEW_DEFINITION
--------------------------------------------------------------------------------
GV$LATCH
select lt.inst_id,lt.kslltaddr,lt.kslltnum,lt.kslltlvl,lt.kslltnam,        lt.ks
llthsh,lt.kslltwgt,lt.kslltwff,        lt.kslltwsl,lt.kslltngt,lt.kslltnfa,lt.ks
lltwkc,        lt.kslltwth,lt.ksllthst0,lt.ksllthst1,lt.ksllthst2,        lt.ksl
lthst3,lt.ksllthst4,lt.ksllthst5,lt.ksllthst6,lt.ksllthst7,        lt.ksllthst8,
lt.ksllthst9,lt.ksllthst10, lt.ksllthst11, lt.kslltwtt from x$kslltr lt

SQL>

功夫不負有心人,經過不懈的努力終於得到了v$latch是如何產生的,那麼這個視圖究竟有什麼用處呢,以後的博客會分享。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/78112856 本文出自 "【趙彥軍的博客】" 在插件開發過程中,我們按照開發一個正式的項目來操作,需要整理一些常用工具類。 Http 請求封裝 在插件的項目中,我們看到依賴庫如下圖所 ...
  • 一、前言 前段時間註意到我們APP的包大小超過100MB了,所以隨口跟老闆說了下能否採用字體文件(.ttf)替代PNG圖片,老闆對應用瘦身很感興趣因此讓我做下技術調研。這篇文章主要是將我們的各個技術方案的思路做一下整理和總結,希望對大家有所幫助。 二、iOS內置資源的集中方式 在介紹技術方案前我們先 ...
  • 一、簡介 DMProgressHUD是一款用於顯示非同步操作任務進度狀態的視圖工具。 該工具包含了目前較為主流的載入狀態視圖類型,後續會根據具體情況或需求進行迭代。 DMProgressHUD從設計層次的角度來看,其包含了5種展示模式: 二、導入(Platform : ios >= 8.0) 方案1: ...
  • http://m.blog.csdn.net/potato512/article/details/51487643 ...
  • python寫的,有點冗餘,先碼出來~~~~ 這是data_stored.py的代碼 1 # -*- coding:utf-8 -*- 2 # 存數據到mysql (只存了時間數字) 3 import pymysql 4 import csv 5 import datetime 6 import s ...
  • 運行環境 centos 5.6 hadoop hive sqoop是讓hadoop技術支持的clouder公司開發的一個在關係資料庫和hdfs,hive之間數據導入導出的一個工具。 上海尚學堂hadoop大數據培訓組原創,陸續有hadoop大數據技術相關文章奉上,請多關註! 在使用過程中可能遇到的問 ...
  • 一、外鍵 1.外鍵:鏈接兩張表的欄位,通過主表的主鍵和從表的外鍵來描述主外鍵關係,呈現的是一對多的關係。例如:商品類別(一)對商品(多),主表:商品類別表,從表:商品表。 2.外鍵的特點:從表外鍵的值是對主表主鍵的引用、從表外鍵類型必須與主表主鍵類型一致 3.聲明外鍵約束 語法:alter tabl ...
  • 官方文檔參考:SYSDBA is used internally in the Oracle database and has specialized functions. Its behavior is not the same as for generalized users. For exam ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...