



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.理解 V$OPEN_CURSOR, V$SESSION_CACHED_CURSOR概念:OPEN_CURSOR ,定義每個 Session 最大能夠打開的游標數(shù)量。在 init.ora文件中定義, 可以通過select *from v$parameter where name = 'open_cursors'查詢。V$OPEN_CURSOR,當前 Session 緩存的游標,而不是曾經(jīng)打開的游標。V$SESSION_CACHED_CURSOR,當前 Session 已經(jīng)關(guān)閉并被緩存的游標。V$OPEN_CURSOR中顯示的當前Session 游標緩存中游標,如果要精確查詢當前
2、Session 打開的游標總數(shù),需要從V$ SESSTAT 中查詢。select a.value,s.username,s.sid,s.serial#fromv$sesstat a,v$statname b,v$session swherea.statistic# = b.statistic# ands.sid=a.sid = 'opened cursors current'Session Cache的原理:當設(shè)定 SESSION_CACHED_CURSOR 的值之后, 當有 parse 請求的時候, Oracle 會從 library cache 中查詢。
3、如果有超過 3 次同樣的 parse 請求,這個游標將會存入 Session 的游標緩存中。 對于將來同樣的查詢,就甚至不要soft parse ,直接從Session 的游標緩存中取。驗證:登錄兩個 SQL*PLUS客戶端,分別為Session test 和 Session monitor 。1. 檢查是否參數(shù)設(shè)置,以及執(zhí)行的SQL 語句是否在 V$OPEN_CURSOR 找到。Session Test:SQL> show parameter session_cached_cursors;NAME TYPE VALUE-session_cached_cursors integer 0S
4、QL> select sid from v$mystat where rownum=1;SID-9.SQL> select sid from v$mystat where rownum=1;SID-9通過如上的執(zhí)行結(jié)果可以知道,當前參數(shù)設(shè)置session_cached_cursors的值為 0 ,不緩存當前Session 關(guān)閉的游標。當前Session 的 ID 為 9。Session Monitor:SQL> SELECT SID, n.NAME para_name, s.VALUE used2FROM SYS.v_$statname n, SYS.v_$sesstat s
5、3WHERE n.NAME IN ('opened cursors current', 'session cursor cache count')4AND s.statistic# = n.statistic# 5 AND SID = 9;SID PARA_NAME USED- - -9 opened cursors current 19 session cursor cache count 0SQL> select SID, USER_NAME,SQL_TEXT from v$open_cursor where sid=9;SID USER_NAME S
6、QL_TEXT- - -9SCOTT select sid from v$mystat where rownum=1通過如上的執(zhí)行結(jié)果可以知道,當前在V$OPEN_CURSOR 存儲一個游標,對應(yīng)SQL 為 Session Test 執(zhí)行的最后一條語句。V$SESSION_CACHED_CURSOR 沒有存儲游標。2. 更改參數(shù)V$SESSION_CACHED_CURSOR值。Session Test:SQL> alter session set session_cached_cursors = 1;Session altered.SQL> show parameter sessi
7、on_cached_cursors;NAME TYPE VALUE- - -session_cached_cursors integer 13. 驗證如下結(jié)論。如果游標被存入SESSION_CACHED_CURSOR,前提是游標已經(jīng)關(guān)閉,游標對應(yīng)的SQL 被執(zhí)行 3 次以上。 OPEN_CURSOR 中會存儲保存在 SESSION_CACHED_CURSOR 以及打開的游標(不是精確值)。Session Test:SQL> select sid from v$mystat where rownum =1;SID-9SQL> select sid from v$mystat wher
8、e rownum =1;.SID-9SQL> select sid from v$mystat where rownum =1;SID-9Session Monitor:SQL> select SID, USER_NAME,SQL_TEXT from v$open_cursor where sid=9; SID USER_NAME SQL_TEXT- - -9 SCOTT select sid from v$mystat where rownum =1SQL> SELECT SID, n.NAME para_name, s.VALUE used2FROM SYS.v_$sta
9、tname n, SYS.v_$sesstat s3WHERE n.NAME IN ('opened cursors current', 'session cursor cache count')4AND s.statistic# = n.statistic#5 AND SID = 9;SID PARA_NAME USED- - -9 opened cursors current 19 session cursor cache count 0v$open_cursor dooes not show all open cursors. it shows more
10、than that, the best option to find thenumber of open cursors is from v$sysstat.通過如上的執(zhí)行結(jié)果可以知道,即使同一個游標被打開3 次,在 SESSION_CACHED_CURSOR的數(shù)量仍然為 0。下面,將會在Session Test 中關(guān)閉游標(通過執(zhí)行一條其他的語句)。Session Test:SQL> select * from t where rownum!=7;no rows selectedSession Monitor:SQL> SELECT SID, n.NAME para_name,
11、s.VALUE used2 FROM SYS.v_$statname n, SYS.v_$sesstat s3 WHERE n.NAME IN ('opened cursors current', 'session cursor cache count')4 AND s.statistic# = n.statistic#5 AND SID = 9;SID PARA_NAME USED- - -9 opened cursors current 19 session cursor cache count 1SQL> select SID, USER_NAME,
12、SQL_TEXT from v$open_cursor where sid=9;SID USER_NAME SQL_TEXT.- - -9 SCOTT select sid from v$mystat where rownum=1 9 SCOTT select * from t where rownum!=7通過如上的執(zhí)行結(jié)果可以知道,游標被打開3 次之后,如果這個游標關(guān)閉之后,游標會被存儲到SESSION_CACHED_CURSOR當中。同時,通過OPEN_CURSOR中顯示的 SQL 可以得知,OPEN_CURSOR中會存儲保存在SESSION_CACHED_CURSOR以及打開的游標(不
13、是精確值)。其他: SESSION_CACHED_CURSOR采用的是LRU 算法,如果如果有新的游標需要緩存,而當前游標緩存已經(jīng)滿, 最少使用的游標將會被清除出去。調(diào)整 SESSION_CACHED_CURSOR參數(shù)。通過如下SQL得到從緩存中取游標以及取PARSE 的數(shù)量,為調(diào)整作參考。select cach.value cache_hits, prs.value all_parses,prs.value-cach.value sess_cur_cache_not_usedfrom v$sesstat cach, v$sesstat prs,v$statname nm1, v$statname nm2where
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師反思在課堂創(chuàng)新中的應(yīng)用試題及答案
- 生產(chǎn)課長面試題及答案
- 化學(xué)科學(xué)研究的基本方法試題及答案
- 家具設(shè)計的實踐操作技巧試題及答案
- 建筑施工安全意識培訓(xùn)重要性試題及答案
- 大學(xué)化學(xué)分子構(gòu)象變化研究試題及答案
- 推銷實務(wù)試題案列及答案
- 了解2025樂理考試背后的考核理念試題及答案
- 整治會考試題及答案
- 注冊土木工程師考試復(fù)習效率提升試題及答案
- 2025年護士執(zhí)業(yè)資格考試題庫基礎(chǔ)護理學(xué)專項:新生兒護理操作要點試題
- 2025屆高三語文4月名校聯(lián)考作文匯編(審題+立意+范文)
- GB/T 5453-2025紡織品織物透氣性的測定
- IIT臨床研究培訓(xùn)
- 污水處理廠設(shè)備運行的管理及維護措施
- 《鋼鐵是怎樣煉成的》讀書分享課件
- MOOC 太極拳初級-浙江大學(xué) 中國大學(xué)慕課答案
- 小學(xué)生作文方格紙A4紙直接打印版
- Unit 3 單元整體教學(xué)設(shè)計說課課件-高中英語人教版(2019)選擇性必修第一冊
- 《寄冰》-完整版課件
- 新外研版高中英語選擇性必修第三冊Unit 5課文翻譯
評論
0/150
提交評論