通过案例学调优之--和 SHARED POOL 相关的主要 Latch
通过案例学调优之--和SHAREDPOOL相关的主要Latch3.1、和SHAREDPOOL相关的主要Latch有:Latch:sharedpoolLatch:librarycache我们知道Oracle通过SHAREDPOOL来实现SQ
的相关信息, 如:
, 也是通过将不同的
的相 关
Library Cache LatchLibrary Cache SHRAE POOL 。 接下来就开始进行硬解析过程,将执行解析后的执行计划等信息记录到 Library Cache ,一 直到硬解析结束。(硬解析)
的话,根据上面的逻辑那说明数 据库中存在大量的硬解析,这个时候就要查找那些
10:56:01 SCOTT@ prod >show parameter cursor NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cursor_sharing string similar cursor_space_for_time boolean FALSE open_cursors integer 300 session_cached_cursors integer 50 1、session1:以scott建立测试表 11:44:26 SYS@ prod >conn scott/tiger Connected. 11:01:41 SCOTT@ prod >select * from v$mystat where rownum=1; SID STATISTIC# VALUE ---------- ---------- ---------- 1 0 0 10:56:09 SCOTT@ prod >create table test as select rownum as col1 ,rownum col2 from user_objects 10:58:38 2 ; Table created. 2、建立测试表直方图 10:58:51 SCOTT@ prod >exec dbms_stats.gather_table_stats(user,'TEST',method_opt=>'for columns col1 size 3'); PL/SQL procedure successfully completed. 10:59:36 SCOTT@ prod >select column_name,num_buckets,histogram from user_tab_col_statistics 11:00:43 2 where table_name='TEST'; COLUMN_NAME NUM_BUCKETS HISTOGRAM ------------------------------ ----------- --------------- COL1 3 HEIGHT BALANCED 11:01:35 sys@ prod >ALTER SYSTem flush shared_pool; System altered. 3、session 2:以scott建立另一个会话 11:03:44 SCOTT@ prod >select * from v$mystat where rownum=1; SID STATISTIC# VALUE ---------- ---------- ---------- 44 0 0 11:04:01 SCOTT@ prod >create table test1 as select rownum as col1 ,rownum col2 from user_objects; Table created. 11:04:36 SCOTT@ prod >exec dbms_stats.gather_table_stats(user,'TEST1',method_opt=>'for columns col1 size 3'); PL/SQL procedure successfully completed. 11:05:04 SCOTT@ prod >select column_name,num_buckets,histogram from user_tab_col_statistics 11:05:19 2 where table_name='TEST1'; COLUMN_NAME NUM_BUCKETS HISTOGRAM ------------------------------ ----------- --------------- COL1 3 HEIGHT BALANCED 11:05:30 sys@ prod >ALTER SYSTem flush shared_pool; System altered. 4、在session 1执行以下操作 11:02:42 SCOTT@ prod >begin 11:06:28 2 for i in 1..50000 loop 11:06:40 3 execute immediate 'select * from test where col1='||i; 11:07:08 4 end loop; 11:07:11 5 end; 11:07:13 6 / 在session 2执行同样地操作 11:07:57 SCOTT@ prod >begin 11:08:01 2 for i in 1..50000 loop 11:08:01 3 execute immediate 'select * from test1 where col1='||i; 11:08:01 4 end loop; 11:08:01 5 end; 11:08:02 6 / 5、查看session event 11:11:36 sys@ prod > select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: shared pool 537557404 address 293 number Elapsed: 00:00:00.00 11:11:38 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: row cache objects 828539960 address 270 number Elapsed: 00:00:00.00 11:11:39 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: shared pool 537557404 address 293 number Elapsed: 00:00:00.00 11:11:41 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: row cache objects 828007508 address 270 number Elapsed: 00:00:00.00 11:11:42 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: shared pool 537557404 address 293 number 11:12:32 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch free 821793596 address 274 number 44 latch: shared pool 537557404 address 293 number sys@ prod >select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 library cache: mutex X 1307903034 idn 65536 value 11:14:58 sys@ prod >select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 library cache: mutex X 3413592168 idn 2883584 value 44 latch: row cache objects 828539960 address 270 number 11:15:18 sys@ prod >select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 SQL*Net message from client 1650815232 driver id 1 #bytes 44 SQL*Net message from client 1650815232 driver id 1 #bytes 从上面的过程可以看到,大量的硬解析将导致严重的 library cache latch(mutex) 和 shared pool latch竞争。 6、查看Library cache中sql情况 sys@ prod >select * 2 from (select sql_id,child_number,child_latch,executions,sql_text 3 from v$sql 4 where sql_text like '%select * from test1 where col1%' 5 and sql_text not like '%v$sql%' 6 and sql_text not like '%begin%' 7 order by child_number desc) 8* where rownum select sql_id,hash_value,address,version_count from v$sqlarea where sql_id='6tsrjxza4gvur'; SQL_ID HASH_VALUE ADDRESS VERSION_COUNT ------------- ---------- -------- ------------- 6tsrjxza4gvur 3561484119 2E8CF368 3885
熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

了解常見的Web標準及其實際應用案例在當今數位化時代,萬維網已成為人們獲取資訊、進行交流和開展業務活動的重要平台。而Web標準則是確保網頁在不同瀏覽器上正常顯示並穩定運作的基礎。本文將介紹一些常見的Web標準,並透過實際應用案例來說明它們的重要性。首先,HTML(超文本標記語言)是Web標準中最基礎的一部分,用來描述網頁的結構和內容。 HTML使用標籤來定義不

重裝系統時環境偵測未通過如何解決需要進行改寫的原因是:手機中毒了,可以安裝手機管家等防毒軟體進行防毒軟體進行防毒2、手機內部儲存了許多垃圾文件,導致手機運作記憶體被佔用。只要清理手機快取即可解決這個問題3、手機記憶體被保存的軟體和檔案佔用太多,需要經常刪除不需要的檔案和軟體沒問題,只要你的硬體設定符合安裝要求,你可以直接使用新的系統磁碟重新安裝系統!你可以使用U盤或硬碟來進行安裝,速度非常快。但是關鍵是要使用相容性好的系統碟(支援IDE、ACHI、RAID模式的安裝),並且能夠自動永久激活,已經經過驗證的。這樣

Nginx伺服器是一款高效能的Web伺服器軟體,它的擴充性非常強大,支援原生模組和第三方插件的整合。本文將詳細介紹Nginx伺服器的原生模組和第三方外掛程式的整合和使用方法,並附上程式碼範例,以幫助讀者更好地理解和應用。一、Nginx原生模組Nginx的原生模組是指由Nginx官方開發和維護的功能模組,包括核心模組、HTTP模組、mail模組等。在Nginx的配置

在繁忙的生產線上,機械手臂高效協作,操作人員透過遠端即時控制輕鬆掌控整個流程。在礦井下,技術專家戴著AR眼鏡,透過眼鏡中即時顯示的資訊與遠在千里之外的技術團隊快速解決設備問題。在園區內,無人配送車穿梭自如,用戶足不出戶就能取到包裹。這些場景並非虛構,而是出現在高通近期發布的《2023高通賦能企業數位轉型案例集》中的真實案例高通連續四年發布了針對物聯網行業的重點發展方向和亮點落地場景的“物聯網應用案例集”,以多角度立體化展示行業最新的技術方向和創新生態合作模式。今年的案例集聚焦於中國企業利用高通物

在網路時代的今天,越來越多的人喜歡在網路上尋找答案和交流問題。於是,各種線上問答社群應運而生。這些社群為使用者提供了一個平台,可以在這裡提問、回答問題,同時也可以互相交流經驗和知識。今天,我們將介紹一個基於PHP開發的線上問答社群的製作過程。首先,我們需要明確的是,一個線上問答社群需要具備哪些功能。通常來說,它應該包括以下幾個方面:用戶註冊、登陸、提問、回

PHP作為一種流行的伺服器端程式語言,提供了豐富的物件導向程式設計功能。物件導向程式設計(Object-OrientedProgramming,OOP)是一種程式設計方法,透過把一個複雜的系統分成多個單獨的物件來簡化開發和維護。本文將介紹PHP中的物件導向程式設計案例,並透過一個簡單的範例來示範物件導向程式設計在PHP中的應用。一、物件導向程式設計的概念在PHP中,物件導向

揭秘localstorage:它的主要用途是什麼?引言:在目前網路技術發展的背景下,網頁應用程式越來越複雜,需要儲存大量的資料。而localstorage作為瀏覽器提供的一種本地儲存解決方案,為我們提供了一種方便且持久的資料儲存機制。本文將揭秘localstorage的主要用途和使用方法,並給出具體的程式碼範例。第一部:localstorage的主要用途loc

螞蟻新村每日一題3.9:今日問題:你知道「桌遊設計師」主要是做什麼的嗎?很多小夥伴不知道「桌遊設計師」主要是做什麼的嗎,接下來就是小編為用戶帶來的3.9螞蟻新村每日一題答案分享,有興趣的用戶快來一起看看吧!螞蟻新村今日答案最新更新螞蟻新村每日一題3.9:你知道「桌遊設計師」主要是做什麼的嗎?問題:你知道「桌遊設計師」主要是做什麼的嗎?答:設計桌遊內容解析:1、中國的桌遊達人!吳達德(Ta-TeWu、1971年7月24日-),國內知名桌遊設計師;2、見證了中國桌遊的崛起與發展。桌遊業人尊稱他
