成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

教你如何收集Oracle進(jìn)程中SQL跟蹤信息

數(shù)據(jù)庫(kù) Oracle
在診斷Oracle數(shù)據(jù)庫(kù)系統(tǒng)性能的過(guò)程中,總會(huì)涉及到跟蹤效率低下的SQL語(yǔ)句,現(xiàn)在就如何跟蹤SQL語(yǔ)句來(lái)做一個(gè)簡(jiǎn)單的總結(jié)。

在診斷Oracle數(shù)據(jù)庫(kù)系統(tǒng)性能的過(guò)程中,總會(huì)涉及到跟蹤效率低下的SQL語(yǔ)句,現(xiàn)在就如何跟蹤SQL語(yǔ)句來(lái)做一個(gè)簡(jiǎn)單的總結(jié)。 下文中將教給大家如何收集Oracle進(jìn)程中SQL跟蹤信息,希望對(duì)大家能夠有所幫助。

如果我們可以修改應(yīng)用系統(tǒng)的源代碼,則可以直接在程序中加入如下的語(yǔ)句:

 

1)alter session set timed_statistics=true;

/*適用于Oracle 7.3以后的版本*/

 

2)alter session set max_dump_file_size=unlimited ;

/*適用于Oracle 7.3以后的版本*/

 

3)alter session set tracefile_identifier='POX20031031a';

/*適用于Oracle 8.1.7以后的版本*/

 

4)alter session set events '10046 trace name context forever, level 8';

/*在這里編寫應(yīng)用程序的代碼*/ 小蟲(chóng)網(wǎng)絡(luò)技術(shù)http://www.chinaccna.com

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

在上述語(yǔ)句中,語(yǔ)句1)是把該會(huì)話的時(shí)間統(tǒng)計(jì)打開(kāi),該參數(shù)默認(rèn)為false.在Oracle 7.3之前的版本中,不能在會(huì)話級(jí)設(shè)置該參數(shù),只能修改初始化文件然后重新啟動(dòng)數(shù)據(jù)庫(kù),這樣將在實(shí)例級(jí)打開(kāi)時(shí)間統(tǒng)計(jì)。

語(yǔ)句2)是把跟蹤文件的大小設(shè)置成操作系統(tǒng)所允許的最大尺寸,這樣可以防止跟蹤文件在完成所需要的跟蹤之前被填充滿,此外需要注意的是確保存放跟蹤文件的目錄要有足夠的空間,否則將會(huì)收到“文件系統(tǒng)已滿”錯(cuò)誤。

語(yǔ)句3)的作用是使生成的跟蹤文件名稱中包含'POX20031031a'字符串,這樣可以使你很容易的找到所需的跟蹤文件,該參數(shù)在Oracle 8.1.7之后可用。

語(yǔ)句4)和語(yǔ)句5)的作用分別是打開(kāi)和關(guān)閉跟sql跟蹤,你可以在這兩個(gè)語(yǔ)句之間寫入應(yīng)用程序的代碼,這些代碼的執(zhí)行情況都將被跟蹤。需要注意的是語(yǔ)句4)的level關(guān)鍵字,它用來(lái)指定跟蹤級(jí)別,一共有0,1,2,4,8,12六個(gè)級(jí)別可以設(shè)置,0相當(dāng)于關(guān)閉跟蹤;1是輸出一般的跟蹤信息,不包括綁定變量和等待信息;2和1相同;4是在級(jí)別1的基礎(chǔ)上增加綁定變量信息;8是在級(jí)別1的基礎(chǔ)上增加等待信息;級(jí)別12是輸出包含級(jí)別1,4,8的所有信息。

如果應(yīng)用程序的代碼無(wú)法修改或者是不想去修改,則可以在其他會(huì)話中打開(kāi)對(duì)特定會(huì)話的跟蹤,方法如下:

1)sys.dbms_system.set_bool_param_in_session

 

(:sid, :serial,'timed_statistics', true);

2)sys.dbms_system.set_int_param_in_session

( :sid, :serial,'max_dump_file_size', 2147483647);

打開(kāi)和關(guān)閉跟蹤的第一種方法(Oracle推薦):

 

3.1)sys.dbms_support.start_trace_in_session

 

(:sid, :serial,waits=>true, binds=>false);

/* 在此期間運(yùn)行要跟蹤的應(yīng)用程序*/

4.1)sys.dbms_support.stop_trace_in_session

 

(:sid, :serial);

打開(kāi)和關(guān)閉跟蹤的第二種方法:

 

3.2)sys.dbms_system.set_ev

 

(:sid, :serial, 10046, 8, '');

/*在此期間運(yùn)行要跟蹤的應(yīng)用程序*/

 

3.2)sys.dbms_system.set_ev

 

(:sid, :serial, 10046, 0, '');

以上語(yǔ)句中的:sid和:serial分別代表所要跟蹤的會(huì)話的ID和序列號(hào),這些信息可以從V$SESSION視圖的SID和SERIAL#列獲得。打開(kāi)關(guān)閉跟蹤中第一種方法的好處是你不用自己寫10046這個(gè)事件號(hào),這樣可以減少錯(cuò)誤,但是dbms_support程序包在你的數(shù)據(jù)庫(kù)中可能會(huì)不存在,這樣就只有用第二種方法了。

 

到現(xiàn)在為止,我們已經(jīng)生成了所需要的跟蹤文件,然后我們需要找到該文件來(lái)進(jìn)行分析。跟蹤文件的存放位置只有兩種可能,Oracle參數(shù)USER_DUMP_DEST 或者BACKGROUND_DUMP_DEST指定的目錄;文件名稱根據(jù)不同的平臺(tái)會(huì)有所不同,但是在文件名中都會(huì)包含會(huì)話所對(duì)應(yīng)的操作系統(tǒng)進(jìn)程(線程)號(hào),也就是V$PROCESS的SPID列(V$PROCESS.SPID) ,該信息可以通過(guò) v$process.addr和v$session.paddr做表連接查詢得到。例如:select spid from v$process p,v$session s where p.addr=s.paddr and s.sid=:sid and s.serial#=:serial.

本文只對(duì)Oracle在使用專用服務(wù)器進(jìn)程(Dedicated Server)模式做了總結(jié),至于的共享服務(wù)器(Shared Server)模式和在應(yīng)用級(jí)使用連接池的情況下,收集SQL跟蹤信息的方法會(huì)比較復(fù)雜,希望有相關(guān)經(jīng)驗(yàn)的高手來(lái)總結(jié)。

 

責(zé)任編輯:迎迎 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2010-04-30 12:38:38

Oracle進(jìn)程

2015-08-11 09:10:31

win10隱私保護(hù)

2011-04-08 14:45:08

文本數(shù)據(jù)Oracle

2011-05-11 09:49:32

線程等待SQL Server

2010-03-31 14:36:50

Oracle進(jìn)程結(jié)構(gòu)

2011-02-21 17:04:57

postfix

2010-04-06 17:52:09

Oracle SMON

2017-12-05 10:40:33

Python子域名

2020-10-26 08:24:09

內(nèi)網(wǎng)信息收集滲透測(cè)試

2020-10-28 07:09:13

內(nèi)網(wǎng)信息收集

2010-04-16 09:41:42

Oracle數(shù)據(jù)庫(kù)查看

2009-09-23 13:04:58

HibernateOracle sequ

2011-03-29 09:56:48

Oracle數(shù)據(jù)庫(kù)10SQL

2009-10-22 13:02:47

SQL CLR存儲(chǔ)過(guò)程

2011-03-31 10:52:13

2011-09-02 11:06:28

Oracle服務(wù)器進(jìn)程為事務(wù)建立回滾段放入dirty lis

2010-05-10 17:18:47

Oracle跟蹤事件

2010-04-26 18:32:48

Oracle數(shù)據(jù)庫(kù)

2010-12-27 10:13:05

PROC文件系統(tǒng)

2010-04-20 14:06:56

Oracle SQL語(yǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美国产日韩精品 | 欧美日韩高清在线观看 | 亚洲福利网 | 中文天堂在线一区 | 天天操夜夜操 | 日韩精品久久一区二区三区 | 在线成人免费视频 | 91精品久久久久久久久久 | 国产一区二区三区免费 | 免费特级黄毛片 | 欧美一区精品 | 99精品视频在线观看免费播放 | 免费a v网站 | 日韩一区二区黄色片 | 一区二区三区四区电影视频在线观看 | 好好的日在线视频 | 一级国产精品一级国产精品片 | 午夜免费观看体验区 | 亚洲国产一区二区三区, | 欧美日韩国产在线观看 | 欧美一级视频免费看 | 亚洲网站在线播放 | 国产伦精品一区二区三区视频金莲 | 午夜免费视频 | 不卡的av在线 | www.青青草 | 亚洲精品一二三 | 狠狠撸在线视频 | 亚洲精品久久 | 国产精品久久 | 久久精品国产99国产 | 日日噜 | 黄网站免费在线 | 99久久精品国产毛片 | 龙珠z在线观看 | 亚洲一区二区三区在线视频 | 亚洲精品视频一区 | 欧美精品啪啪 | 亚洲一区二区三区 | 亚洲国产成人久久综合一区,久久久国产99 | 午夜视频网站 |