oracle 讀懂10046視頻,10046、10053、實操記錄

10046是一個Oracle的內部事件(event),通過設置這個事件可以得到Oracle內部執行系統解析、調用、等待、綁定變量等詳細的trace信息,即幫助我們解析一條/多條SQL、PL/SQL語句的運行狀態,這些狀態包括:Parse/Fetch/Execute三個階段中遇到的等待事件、消耗的物理和邏輯讀、CPU時間、執行計劃等。它不僅為我們揭示了一條、多條SQL的運行情況,同時還能幫我們分析一些DDL維護命令的內部工作原理,RMAN、Data Pump Expdp/impdp等工具緩慢問題。對于SQL性能優化、分析系統的性能有著非常重要的作用。

10053:我們可以通過10046事件看到一個SQL的執行的統計信息,以及執行計劃,但是我們只看到了CBO最終告訴我們的執行結果,卻并不知道CBO為什么要這么選擇,那么就可以通過10053事件來生成SQL分析的整個過程到trace文件中,通俗點講10053跟蹤選路過程,10046產生結果。(10053可參考鏈接:https://blog.51cto.com/5073392/1308900)

10046最常用的操作步驟(10053步驟類似,把事件改成10053就行,但是10053 TRC不能通過tkprof格式化)

1.開啟10046跟蹤事件

alter session set events '10046 trace name context forever, level 12';

如果想更容易標識trace文件,在開啟事件之前,可以先設置trace的標識

alter session set tracefile_identifier='lych';

2.執行要跟蹤的sql語句(對應的trace文件中有SQL的執行情況)

select * from lych;

3.停止10046事件跟蹤

alter session set events '10046 trace name context off';

4.定位此次生成的trace文件

select distinct(m.sid),p.pid,p.tracefile from v$mystat m,v$session s,v$process p where m.sid=s.sid and s.paddr=p.addr;

5.用tkprof工具格式化文件輸出

tkprof /source.trc /new.trc aggregate=yes sys=yes wait=yes sort=fchela

explain:參數格式為explain=username/password@server_name 或者explain=username/password,這個參數是通過執行explain plan語句來做到的,在trace文件中找到每個sql語句,提供一個執行計劃。一般不是必要情況,指定這個參數并不可取,一旦指定了無效的信息,在輸出的文件就會出現error。

table:table參數只和explain參數一起使用,用來指定某個表被explain plan語句使用來生成執行計劃,通常盡量避免使用table參數,這里就不詳細說明不常用的參數了,大家想要了解的話,可以查看oracle的官方聯機文檔。

print:參數用來限制輸出文件生成的sql語句的數量,默認是無限制的。eg:只輸出10個sql語句,則參數指定print=10,一般和sort參數一起使用才具有一定的意義。

insert:生成sql腳本,腳本可以用來把數據存儲到數據庫中。eg:insert=load_data.sql 。

sys:參數執行sys用戶下運行的sql語句是否寫入到輸出文件,默認為yes。可設置為no,避免輸出不必要的信息,這個看情況而定吧。

sort:排序的意思,指定輸出文件里面的sql語句的順序,默認是trace源文件里面的sql順序。你可以指定根據cpu時間,物理讀的塊數,調用次數等進行排序,eg:sort=elapsed,disk —多個排序用逗號隔開。

aggregate:參數指定是否合并相同的sql,默認為yes,設置為no,輸出文件就會列出每個sql的消耗情況等信息。用得比較多的一般是sys和aggregate參數。

實操記錄:

昨天生產其中一個PDB出現很奇怪的現象,庫中每個表,視圖查詢都很慢,經過多次查詢,發現不管什么SQL執行都超過3秒,利用explain plan for打印執行計劃的時候,明顯能感覺出來,SQL解析非常慢,第一想法猜測是數據字典出現問題,才沒打印其他日志信息的時候 ,在SYS下執行了以下兩個包:1 exec dbms_stats.gather_dictionary_stats 2 exec dbms_stats.gather_fixed_objects_stats,之后發現依然還是有問題。之后執行一些經過緩存的SQL發現執行非常快,沒有對應的異常現象,這個時候我就已經猜到肯定是解析的時候出現的ORACLE內置遞歸操作出現了問題,于是根據推測打印了10046 TRC,發現其中一條遞歸SQL執行了3秒多,相當于這個庫任何一條SQL,只要是沒緩存的,起步時間都是3秒起步。查閱MOS資料后發現這是12c 12.1.0.2新特性“optimizer_adaptive_features”,默認是打開的,這個特性會在執行sql的時候自動收集統計信息.關閉對應參數后 system set optimizer_adaptive_features=false scope=both sid='*'一切恢復正常; 也可以通過關閉隱含參數實現:

alter system set "_OPTIMIZER_DSDIR_USAGE_CONTROL"=0 SCOPE=BOTH SID='*',當然這是一個BUG,也可以打補丁實現,Oracle Database 12c 版本1的自適應特性的建議 (Adaptive Features, Adaptive Statistics 以及 12c SQL 性能) (文檔 ID 2297986.1)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539481.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539481.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539481.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux重定向文件被修改后,Linux服務器修改.htaccess文件實現301重定向

出于 SEO、PR 值傳遞、網址轉換的目的,在網站初建和網站遷移時我們都需要使用 301 重定向,通常包括域名對域名,目錄對目錄和一個獨立網址對另一個獨立網址的重定向。在虛擬主機上作 301 重定向,最常用的方法有2種:第一…

Druid使用起步—在javaWeb項目中配置監控

原文章:http://my.oschina.net/u/568779/blog/152813 ---------------------------------------------------- druid wiki 當我們在javaWEB項目中使用到druid來作為我們的連接池的時候,一定不會忘了添加監控功能。下面我們就來看一下,在一個…

[譯] 想幫助用戶做決定?你的APP可以這樣設計!

原文地址:Design your app for decision-making原文作者:Jeni譯文出自:掘金翻譯計劃本文永久鏈接:github.com/xitu/gold-m…譯者:PTHFLY校對者:ryouaki想幫助用戶做決定?你的APP可以這樣設計&am…

ip地址管理系統_門禁監控管理系統項目總結

門禁監控管理系統項目總結1、門禁管理設備(IFACE802) 16臺 ,都有獨立的網線到控制的房間。IP地址從 192.168.1.101--192.168.1.116。(地下一層 新家的最后一間是在附近的一個房間接的網線。一層的大門 有1臺控制器和IFACE802 部署了2根網線)2、門禁控制的IP地址 192.168.1.1173…

linux mount命令銜接,Linux mount命令詳解:掛載Linux系統外的文件

Linux mount命令詳解:掛載Linux系統外的文件《Linux掛載》一節講到,所有的硬件設備必須掛載之后才能使用,只不過,有些硬件設備(比如硬盤分區)在每次系統啟動時會自動掛載,而有些(比如 U 盤、光盤)則需要手動進行掛載。…

targetFilterLifecycle的作用

targetFilterLifecycle的作用&#xff0c;有需要的朋友可以參考下。 在web.xml中進行配置&#xff0c;對所有的URL請求進行過濾&#xff0c;就像"擊鼓傳花"一樣&#xff0c;鏈式處理。 配置分為兩種A和B。 A:普通配置 在web.xml中增加如下內容&#xff1a;<fi…

平板電腦可以插u盤嗎_有手機還需要平板電腦嗎 酷比魔方iplay30平板電腦評測

原標題&#xff1a;有手機還需要平板電腦嗎 酷比魔方iplay30平板電腦評測一、前言&#xff1a;前段時間我們一幫60歲左右的退休老頭、老太太到農家樂去玩&#xff0c;玩累了就開始喝茶&#xff0c;一坐下來&#xff0c;人人都把手機掏出來&#xff0c;看著他們看手機的姿勢&…

[8086匯編]利用棧翻轉內存數據

assume cs:codesegcodeseg segmentdw 1h, 2h, 3h, 4h, 5h, 6h, 7h, 8h, 9hdw 9 dup(?)start:; 設置棧段mov ax, csmov ss, ax; 36 9 * 2 * 2mov sp, 36sub bx, bxmov cx, 9 s_push:mov ax, cs:[bx]push axadd bx, 2loop s_pushsub bx, bxmov cx, 9 s_pop:pop cs:[bx]add bx, …

面向多媒體 linux 版本,基于MX Linux 的 AV Linux 新版發布,此AV非彼AV

原標題&#xff1a;基于MX Linux 的 AV Linux 新版發布&#xff0c;此AV非彼AV作者&#xff1a;Linux迷鏈接&#xff1a;https://www.linuxmi.com/av-linux-2020-11-23-mx-linux-19-3.html經過六個多月的開發&#xff0c;面向多媒體的AV Linux發行版已發行了新版本&#xff0c;…

Spring的PropertyPlaceholderConfigurer應用

1. PropertyPlaceholderConfigurer是個bean工廠后置處理器的實現&#xff0c;也就是 BeanFactoryPostProcessor接口的一個實現。PropertyPlaceholderConfigurer可以將上下文&#xff08;配置文 件&#xff09;中的屬性值放在另一個單獨的標準java Properties文件中去。在XML文件…

safari瀏覽器_吹爆蘋果自帶瀏覽器Safari,沒有比它更貼心的瀏覽器了!!

大家一定覺得蘋果的很多自帶軟件很難用對不對&#xff1f;嘻嘻&#xff0c;我覺得這正是蘋果的魅力所在&#xff0c;它的很多產品與我們的正常使用習慣思維之間存在著一堵看不見的墻&#xff0c;只有當你你花點時間去研究、去駕馭它&#xff0c;把那堵墻給它推倒&#xff0c;然…

正則表達式知識詳解(轉自晴天碧日)

一、什么是正則表達式&#xff1f; 1.定義&#xff1a; 正則表達式(regular expression)描述了一種字符串匹配的模式&#xff0c;可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。構造正則表達式的方法和創建數學表達式的方法…

Spring tx:advice/

<tx:advice/> 有關的設置 這一節里將描述通過 <tx:advice/> 標簽來指定不同的事務性設置。默認的 <tx:advice/> 設置如下&#xff1a; 事務傳播設置是 REQUIRED 隔離級別是 DEFAULT 事務是 讀/寫 事務超時默認是依賴于事務系統的&#xff0c;或者事務超…

drcom linux怎么運行,linux下使用drcom登錄認證

下載首先感謝開發者:https://github.com/drcoms/drcom-generic這個項目基于python實現了d,p,x版drcom認證,請到上述鏈接查看相關信息,項目的wiki簡單介紹了各版本的使用方法.首先下載上面的drcom-generic,我將其下載到了家目錄~/下,完整目錄:~/drcom-generic取得必要信息下面啟…

升級瀏覽器_星愿瀏覽器升級至6.3.2000.2001

玩懂手機網資訊&#xff0c;星愿瀏覽器升級至6.3.2000.2001&#xff0c;可能很多玩友都不熟悉這款瀏覽器&#xff0c;星愿瀏覽器(Twinkstar Browser)是一款使用chromium內核來自一首英文歌曲《 Twinkle, twinkle, little star》&#xff0c;選twinkle的名詞twink&#xff0c;組…

js定時刷新時間

<p id"currentTime"> </p><script> document.getElementById("currentTime").innerHTML new Date();//初始化時間 var timing setInterval(function(){changeTime()},1000);//設置定時執行方法和執行頻率 function changeTime(){ docu…

mybatis3 添加ehcache支持

為了提高MyBatis的性能,有時候我們需要加入緩存支持,目前用的比較多的緩存莫過于ehcache緩存了,ehcache性能強大,而且位各種應用都提供了解決方案,在此我們主要是做查詢緩存,提高查詢的效率. 在Mybatis的官網上把集成ehcache的文檔下載下來看了看,說的太簡單了,對于新手很難理解…

linux下延時1ms用什么函數,Linux下1ms分辨率定時器推薦方式

我需要一個在Linux下具有1ms分辨率的計時器刻度。它用于遞增計時器值&#xff0c;該計時器值又用于查看是否應觸發各種事件。由于glibc的要求&#xff0c;POSIXtimerfd_create不是一個選項。我嘗試使用timer_create和timer_settimer&#xff0c;但從它們獲得的最好結果是10ms分…

添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理

2019獨角獸企業重金招聘Python工程師標準>>> 添加自定義監控項目 需求&#xff1a;監控某臺web的80端口連接數&#xff0c;并出圖兩步&#xff1a;1&#xff09;zabbix監控中心創建監控項目&#xff1b;2&#xff09;針對該監控項目以圖形展現對于第一步&#xff0c…

高通驍龍cpu排行_驍龍系列處理器性能分析,你的手機是什么處理器?

首先來看下目前使用比較多的驍龍處理器排行毫無疑問8系列最新出的驍龍855 Plus性能最強&#xff0c;剛剛發布的vivo NEX 3 5G版搭載的就是這款處理器。那么到底855和855 Plus有什么區別呢&#xff1f;一張圖告訴大家從表格可以看出來&#xff0c;驍龍855和驍龍855CPU采用的都是…