国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

10046event 漫步

2024-07-21 02:07:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

10046event 漫步:

如果你對(duì)oracle性能調(diào)優(yōu)很感興趣或者比較專長(zhǎng),那么你對(duì)oracle的10046事件一定不會(huì)陌生。10046event是oracle用于系統(tǒng)性能分析時(shí)的一個(gè)最重要的事件。當(dāng)激活這個(gè)事件后,將通知oracle kernel追蹤會(huì)話的相關(guān)即時(shí)信息,并寫入到相應(yīng)trace文件中。這些有用的信息主要包括sql是如何進(jìn)行解析,綁定變量的使用情況,會(huì)話中發(fā)生的等待事件等

10046event 可分成不同的級(jí)別(level),分別追蹤記錄不同程度的有用信息。對(duì)于這些不同的級(jí)別,應(yīng)當(dāng)注意的是向下兼容的,即高一級(jí)的trace信息包含低于此級(jí)的所有信息。

?

10046event的追蹤級(jí)別大致有:

level 1:跟蹤sql語(yǔ)句,包括解析、執(zhí)行、提取、提交和回滾等。

level 4:包括變量的詳細(xì)信息

level 8:包括等待事件

level 12:包括綁定變量與等待事件

其中,level 1相當(dāng)于打開了sql_trace

?

10046event的啟用和關(guān)閉:

前提條件:(先確保要event的會(huì)話環(huán)境符合條件)

1、? 必須確保timed_statistics為true,這個(gè)參數(shù)可以在會(huì)話級(jí)上進(jìn)行修改。

2、? 為了確保trace輸出能夠完整進(jìn)行,還要調(diào)整此會(huì)話對(duì)trace文件大小的限制,一般將此限制取消,即將max_dump_file_size設(shè)置為unlimited,或者設(shè)置為一個(gè)很大的闕值。

在滿足了上述條件后,就可以啟用10046event對(duì)會(huì)話進(jìn)行后臺(tái)跟蹤了。

?

這里還有幾種方式來(lái)啟用10046event:

一種是在當(dāng)前會(huì)話啟用event,可以利用alter session + 事件名稱 + level,

如:sql>alter session set event ‘10046 trace name context forever, level 12’;

?

另外一種是啟用別的會(huì)話進(jìn)行event跟蹤,可以利用oracle提供的dbms_system來(lái)完成。

如:sql>exec dbms_system.set_ev(sid,serial#,10046,12,’’);

?

注意:

sql>exec dbms_system.set_sql_trace_in_session(sid,serial#,true);

相當(dāng)于打開了sql_trace。

?

event的關(guān)閉:

可以在通過(guò)下面的語(yǔ)句來(lái)關(guān)閉當(dāng)前會(huì)話的event:

sql>alter session set event ‘10046 trace name context off’;

?

也可以利用dbms_system包來(lái)關(guān)閉某個(gè)會(huì)話的event:

sql>execute dbms_system.set_ev(sid,serial#,0,’’);

?

這里應(yīng)當(dāng)值得一提的是,trace將消耗相當(dāng)?shù)南到y(tǒng)資源,因此我們?cè)谑褂胻race的時(shí)候應(yīng)當(dāng)慎重。對(duì)于正式的系統(tǒng),應(yīng)當(dāng)只在必要的時(shí)候進(jìn)行trace操作,并且應(yīng)當(dāng)及時(shí)關(guān)閉。

?

?

當(dāng)利用事件trace完當(dāng)前或某個(gè)session后,接下來(lái)我們的工作就是找到oracle生成的trace了。oracle的初始化文件中user_dump_dest參數(shù)的設(shè)置將決定trace文件的生成位置。

?

從trace文件中查找和發(fā)現(xiàn)有用的信息,然后尋找必要的性能調(diào)整點(diǎn)并進(jìn)行相應(yīng)的調(diào)整:

大部分情況下,通過(guò)10046事件trace到文件里的信息包含了此會(huì)話中存在的性能問(wèn)題,可以根據(jù)trace到的等待事件、sql語(yǔ)句執(zhí)行情況以及綁定變量的使用情況來(lái)進(jìn)行分析和查找。

?

oracle提供了一個(gè)工具tkprof來(lái)對(duì)trace文件進(jìn)行格式的翻譯,以便trace文件中記錄的信息能夠被我們?nèi)菀渍莆蘸瞳@取。

?

?

小知識(shí):

檢查當(dāng)前會(huì)話的sql_trace狀態(tài)或級(jí)別:

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 過(guò)程已成功完成。
菜鳥學(xué)堂:
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 响水县| 长春市| 南康市| 如东县| 安平县| 壶关县| 奉贤区| 自贡市| 盐池县| 巴林右旗| 琼海市| 台湾省| 林甸县| 枣庄市| 蓬安县| 永胜县| 信阳市| 虹口区| 黄平县| 如皋市| 从江县| 姜堰市| 昌宁县| 六盘水市| 盐山县| 行唐县| 徐汇区| 根河市| 小金县| 获嘉县| 五指山市| 儋州市| 东辽县| 民乐县| 昆明市| 高邑县| 南投县| 南投县| 那曲县| 万州区| 建水县|