|
導讀數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應... 數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。 10046event 漫步: 如果你對oracle性能調優很感興趣或者比較專長,那么你對oracle的10046事件一定不會陌生。10046event是oracle用于系統性能分析時的一個最重要的事件。當激活這個事件后,將通知oracle kernel追蹤會話的相關即時信息,并寫入到相應trace文件中。這些有用的信息主要包括sql是如何進行解析,綁定變量的使用情況,會話中發生的等待事件等 10046event 可分成不同的級別(level),分別追蹤記錄不同程度的有用信息。對于這些不同的級別,應當注意的是向下兼容的,即高一級的trace信息包含低于此級的所有信息。 10046event的追蹤級別大致有: level 1:跟蹤sql語句,包括解析、執行、提取、提交和回滾等。 level 4:包括變量的詳細信息 level 8:包括等待事件 level 12:包括綁定變量與等待事件 其中,level 1相當于打開了sql_trace 10046event的啟用和關閉: 前提條件:(先確保要event的會話環境符合條件) 1、 必須確保timed_statistics為TRUE,這個參數可以在會話級上進行修改。 2、 為了確保trace輸出能夠完整進行,還要調整此會話對trace文件大小的限制,一般將此限制取消,即將max_dump_file_size設置為UNLIMITED,或者設置為一個很大的闕值。 在滿足了上述條件后,就可以啟用10046event對會話進行后臺跟蹤了。 這里還有幾種方式來啟用10046event: 一種是在當前會話啟用event,可以利用alter session + 事件名稱 + level, 如:sql>alter session set event ‘10046 trace name context forever, level 12’; 另外一種是啟用別的會話進行event跟蹤,可以利用oracle提供的dbms_system來完成。 如:sql>exec dbms_system.set_ev(sid,serial#,10046,12,’’); 注意: sql>exec dbms_system.set_sql_trace_in_session(sid,serial#,true); 相當于打開了sql_trace。 event的關閉: 可以在通過下面的語句來關閉當前會話的event: sql>alter session set event ‘10046 trace name context off’; 也可以利用dbms_system包來關閉某個會話的event: sql>execute dbms_system.set_ev(sid,serial#,0,’’); 這里應當值得一提的是,TRACE將消耗相當的系統資源,因此我們在使用TRACE的時候應當慎重。對于正式的系統,應當只在必要的時候進行TRACE操作,并且應當及時關閉。 當利用事件trace完當前或某個session后,接下來我們的工作就是找到oracle生成的trace了。Oracle的初始化文件中user_dump_dest參數的設置將決定trace文件的生成位置。 從trace文件中查找和發現有用的信息,然后尋找必要的性能調整點并進行相應的調整: 大部分情況下,通過10046事件trace到文件里的信息包含了此會話中存在的性能問題,可以根據trace到的等待事件、SQL語句執行情況以及綁定變量的使用情況來進行分析和查找。 oracle提供了一個工具tkprof來對trace文件進行格式的翻譯,以便trace文件中記錄的信息能夠被我們容易掌握和獲取。 小知識: 檢查當前會話的sql_trace狀態或級別: SQL>set serveroutput on 2 declare i_event number; 3 begin 3 sys.dbms_system.read_ev(10046,i_event); 4 dbms_output.put_line(‘the session sql_trace level is: ‘||i_event); 5 end; 6 / the session sql_trace level is: 12 PL/SQL 過程已成功完成。 全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!