日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

sql_trace的介绍

發(fā)布時(shí)間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql_trace的介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

sql_trace的介紹


--打開trace文件設(shè)置,把sql trace設(shè)置為true,就會(huì)在udump目錄中增加一個(gè)trc文件。
alter session set sql_trace=true;
show parameter sql_trace;(select * from v$parameter where name='sql_trace';)
修改后不生效呢?show parameter sql_trace;其參數(shù)始終是FALSE
??? show parameter sql_trace是從v$parameter中取相應(yīng)參數(shù),而v$parameter是體現(xiàn)了全部的init.ora的內(nèi)容。而show user應(yīng)該是取的當(dāng)前會(huì)話的參數(shù)。
sql_trace 是可以在系統(tǒng)或會(huì)話級(jí)上啟用,并且產(chǎn)生很多輸出,系統(tǒng)級(jí)應(yīng)該是直接改init了,會(huì)話級(jí)就用alter session set sql_trace = true來生效。ISSES_MODIFIABLE=false應(yīng)該是說明在會(huì)話一級(jí)上,不能啟用系統(tǒng)一級(jí)的跟蹤
??? 如果修改系統(tǒng)的參數(shù),用如下語句:
alter system set sql_trace=true;
??? 此時(shí)在查看show parameter sql_trace;可看到sql_trace的value值為TRUE

--對(duì)跟蹤文件做標(biāo)記
alter session set tracefile_identifier='look_for_me'; --

在D:\oracle\product\10.2.0\admin\fgisdb\udump路徑下可以找到標(biāo)記為look_for_me的跟蹤文件
--停止該會(huì)話的跟蹤
alter session set sql_trace=false;
?

?

--查看跟蹤文件名
select d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||
?????? p.spid || '.trc' trace_file_name
? from (select p.spid
????????? from v$mystat m, v$session s, v$process p
???????? where m.statistic# = 1
?????????? and s.sid = m.sid
?????????? and p.addr = s.paddr) p,
?????? (select t.instance
????????? from sys.v$thread t, sys.v$parameter v
???????? where v.name = 'thread'
?????????? and (v.value = 0 or t.thread# = to_number(v.value))) i,
?????? (select value from v$parameter where name = 'user_dump_dest') d
?
?

TKPROF的介紹
?

??? Tkprof是一個(gè)用于分析Oracle跟蹤文件并且產(chǎn)生一個(gè)更加清晰合理的輸出結(jié)果的可執(zhí)行工具。如果一個(gè)系統(tǒng)的執(zhí)行效率比較低,
一個(gè)比較好的方法是通過跟蹤用戶的會(huì)話并且使用Tkprof工具使用排序功能格式化輸出,從而找出有問題的SQL語句。

Tkprof命令后面可以帶各種類型的排序選項(xiàng),具體如下:
Usage: tkprof tracefile outputfile [explain= ] [table= ][print= ] [insert= ] [sys= ] [sort= ]

參數(shù)說明:
tracefile:要分析的trace文件
outputfile:格式化后的文件
explain=user/password@connectstring
table=schema.tablename
???? 注1:這兩個(gè)參數(shù)是一起使用的,通過連接數(shù)據(jù)庫對(duì)在trace文件中出現(xiàn)的每條sql語句查看執(zhí)行計(jì)劃,并將之輸出到outputfile中
???? 注2:該table必須是數(shù)據(jù)庫中不存在的,如果存在會(huì)報(bào)錯(cuò)
print=n:只列出最初N個(gè)sql執(zhí)行語句
insert=filename:會(huì)產(chǎn)生一個(gè)sql文件,運(yùn)行此文件可將收集到的數(shù)據(jù)insert到數(shù)據(jù)庫表中
sys=no:過濾掉由sys執(zhí)行的語句
record=filename:可將非嵌套執(zhí)行的sql語句過濾到指定的文件中去
waits=yes|no:是否統(tǒng)計(jì)任何等待事件
aggregate=yes|no:是否將相同sql語句的執(zhí)行信息合計(jì)起來,默認(rèn)為yes
sort= option:設(shè)置排序選項(xiàng),選項(xiàng)如下:
??? prscnt:number of times parse was called
??? prscpu:cpu time parsing
??? prsela:elapsed time parsing
??? prsdsk:number of disk reads during parse
??? prsqry:number of buffers for consistent read during parse
??? prscu:number of buffers for current read during parse
??? prsmis:number of misses in library cache during parse
??? execnt:number of execute was called
??? execpu:cpu time spent executing
??? exeela:elapsed time executing
??? exedsk:number of disk reads during execute
??? exeqry:number of buffers for consistent read during execute
??? execu:number of buffers for current read during execute
??? exerow:number of rows processed during execute
??? exemis:number of library cache misses during execute
??? fchcnt:number of times fetch was called
??? fchcpu:cpu time spent fetching
??? fchela:elapsed time fetching --要設(shè)置初始化參數(shù)time_statistics=true
??? fchdsk:number of disk reads during fetch
??? fchqry:number of buffers for consistent read during fetch
??? fchcu:number of buffers for current read during fetch
??? fchrow:number of rows fetched
??? userid:userid of user that parsed the cursor
可根據(jù)自己的需要設(shè)置排序

舉例:
/*將生成的fgisdb_ora_1204_test.trc的跟蹤文件轉(zhuǎn)化為cc文件,條件:只列出前三個(gè)sql語句;生成insert.sql,運(yùn)行該文件將數(shù)據(jù)保存至數(shù)據(jù)庫;
提取sql語句,sqlstr.sql默認(rèn)在執(zhí)行該命令的路徑;并且輸出執(zhí)行計(jì)劃*/
C:\Documents and Settings\Administrator>tkprof D:\oracle\product\10.2.0\admin\fgisdb\udump\fgisdb_ora_1204_test.trc
c:\cc.txt print=3 insert=c:\insert.sql record=sqlstr.sql explain=gwm/gwm@fgisdb table=gwm.trace_test
sort=(prsela, exeela, fchela)
--sort選項(xiàng)可同時(shí)用多個(gè),做法是用括號(hào)括起來,中間用逗號(hào)分割:
注意:最后排序是按照各個(gè)選項(xiàng)的數(shù)字之和進(jìn)行排序,類似于order by (sort1+sort2+sort3),而不是order by sort1,sort2,sort3

分析tkprof文件:
CALL :每次SQL語句的處理都分成以下三個(gè)部分
???????? Parse:這步將SQL語句轉(zhuǎn)換成執(zhí)行計(jì)劃,包括檢查是否有正確的授權(quán)和所需要用到的表、列以及其他引用到的對(duì)象是否存在。


???????? Execute:這步是真正的由Oracle來執(zhí)行語句。對(duì)于insert、update、delete操作,這步會(huì)修改數(shù)據(jù),對(duì)于select操作,這步就只是確定選擇的記錄。


???????? Fetch:返回查詢語句中所獲得的記錄,這步只有select語句會(huì)被執(zhí)行。


COUNT:這個(gè)語句被parse、execute、fetch的次數(shù)。


CPU:這個(gè)語句對(duì)于所有的parse、execute、fetch所消耗的cpu的時(shí)間,以秒為單位。


ELAPSED:這個(gè)語句所有消耗在parse、execute、fetch的總的時(shí)間。


DISK:從磁盤上的數(shù)據(jù)文件中物理讀取的塊的數(shù)量。一般來說更想知道的是正在從緩存中讀取的數(shù)據(jù)而不是從磁盤上讀取的數(shù)據(jù)。


QUERY:在一致性讀模式下,所有parse、execute、fetch所獲得的buffer的數(shù)量。一致性模式的buffer是用于給一個(gè)長(zhǎng)時(shí)間運(yùn)行的事務(wù)提供一個(gè)一致性讀的快照,?

??????????? 緩存實(shí)際上在頭部存儲(chǔ)了狀態(tài)。


CURRENT:在current模式下所獲得的buffer的數(shù)量。一般在current模式下執(zhí)行insert、update、delete操作都會(huì)獲取 buffer。在current模式下如果在高速緩存

??????????????? 區(qū)發(fā)現(xiàn)有新的緩存足夠給當(dāng)前的事務(wù)使用,則這些buffer都會(huì)被讀入了緩存區(qū)中。


ROWS: 所有SQL語句返回的記錄數(shù)目,但是不包括子查詢中返回的記錄數(shù)目。對(duì)于select語句,返回記錄是在fetch這步,對(duì)于insert、update、delete操作,返回

?????????? 記錄則是在execute這步。
?
A、query+current/rows 平均每行所需的block數(shù),太大的話(超過20)SQL語句效率太低


B、Parse count/Execute count parse count應(yīng)盡量接近1,如果太高的話,SQL會(huì)進(jìn)行不必要的reparse


C、rows Fetch/Fetch Fetch Array的大小,太小的話就沒有充分利用批量Fetch的功能,增加了數(shù)據(jù)在客戶端和服務(wù)器之間的往返次數(shù)。


D、disk/query+current 磁盤IO所占邏輯IO的比例,太大的話有可能是db_buffer_size過小(也跟SQL的具體特性有關(guān))


E、elapsed/cpu 太大表示執(zhí)行過程中花費(fèi)了大量的時(shí)間等待某種資源


F、cpu Or elapsed 太大表示執(zhí)行時(shí)間過長(zhǎng),或消耗了了大量的CPU時(shí)間,應(yīng)該考慮優(yōu)化


G、執(zhí)行計(jì)劃中的Rows 表示在該處理階段所訪問的行數(shù),要盡量減少

?

http://www.cnblogs.com/lanzi/archive/2011/01/14/1935558.html

轉(zhuǎn)載于:https://www.cnblogs.com/chinhr/archive/2011/11/09/2243306.html

總結(jié)

以上是生活随笔為你收集整理的sql_trace的介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线观看精品视频 | 2023国产精品| 亚洲综合日韩精品欧美综合区 | 99精品免费观看 | 在线观看欧美 | 美景之屋电影免费高清完整韩剧 | 金鱼妻日剧免费观看完整版全集 | 欧美一区免费观看 | 超碰人人在线观看 | 中文字幕精品三级久久久 | 88av在线播放| 国产ts三人妖大战直男 | 欧美中文字幕一区二区三区 | 成人在线免费av | 欧美无马 | 老司机精品视频在线播放 | 国产91综合一区在线观看 | 中文av在线播放 | 人妻一区二区三区视频 | 91偷拍精品一区二区三区 | 超碰综合网 | 精品少妇人妻一区二区黑料社区 | 国产精品九九九 | 日韩欧美一区二区三区在线观看 | 制服丝袜亚洲色图 | 欧美福利视频一区二区 | 99999视频 | 岛国精品一区二区三区 | 亚洲av首页在线 | 国产福利午夜 | 夜夜夜夜爽 | 成人性生活免费看 | 99久久久国产精品无码网爆 | 国产美女精品人人做人人爽 | 亚洲视频导航 | 国产精品久久久久国产a级 国产一区二区在线播放 | 国产在线精品二区 | 欧美日韩精品在线 | 在线免费观看一区二区三区 | 欧美人妻一区二区三区 | 日韩久久久久 | 巨胸喷奶水www久久久免费动漫 | 日韩精品极品视频免费观看 | 亚洲最新av在线 | 无码人妻精品一区二区三区温州 | 思思精品视频 | 久久久av免费 | 麻豆影视在线播放 | 人与动物2免费观看完整版电影高清 | 精品成人av一区二区三区 | 亚洲自拍第三页 | 激情涩涩 | 成年人在线播放视频 | 中年夫妇啪啪高潮 | 国产成人超碰人人澡人人澡 | 123成人网 | 黄色网址进入 | 青青草国产 | 波多野结衣不卡 | 欧美一二三 | 97国产成人无码精品久久久 | 中文 欧美 日韩 | 日本大尺度做爰呻吟舌吻 | 久草网视频在线观看 | 一本一道人人妻人人妻αv 九一在线视频 | 91网视频 | 国产黄色片免费 | 久久一区二区三区精品 | 久久精品色妇熟妇丰满人妻 | 国产精品99无码一区二区视频 | 人体毛片 | 99久久人妻无码中文字幕系列 | 秋霞午夜网 | 91久久 | 国产欧美日韩视频在线观看 | 羞羞色视频 | 懂色av一区 | 欧美日韩一区二区三区不卡视频 | 日日夜夜精 | 国产无遮挡一区二区三区毛片日本 | 国产稀缺真实呦乱在线 | 国产婷婷综合 | 国产精品视频亚洲 | 欧洲美女粗暴牲交免费观看 | 欧美在线网 | 午夜毛片视频 | 欧美日韩在线播放视频 | 乌克兰极品av女神 | 国产理论片在线观看 | 国产成人福利视频 | 天堂网亚洲 | 欧洲熟妇精品视频 | 先锋av资源网站 | 中文无码熟妇人妻av在线 | 日韩一区二区三区免费在线观看 | 亚洲国产精品成人无久久精品 | 亚洲高清久久久 | 黑丝久久| 99热1|