v$process視圖:
v$process視圖包含當(dāng)前系統(tǒng)oracle運(yùn)行的所有進(jìn)程信息。常被用于將oracle或服務(wù)進(jìn)程的操作系統(tǒng)進(jìn)程ID與數(shù)據(jù)庫(kù)session之間建立聯(lián)系。
常用列:
ADDR:進(jìn)程對(duì)象地址
PID:oracle進(jìn)程ID
SPID:操作系統(tǒng)進(jìn)程ID
V$PROCESS中的連接列
Column View Joined Column(s)
ADDR V$SESSION PADDR
v$session視圖
V$SESSION是基礎(chǔ)信息視圖,用于找尋用戶(hù)SID或SADDR。不過(guò),它也有一些列會(huì)動(dòng)態(tài)的變化,可用于檢查用戶(hù)。
常用列:
SID:SESSION標(biāo)識(shí),常用于連接其它列
SERIAL#:如果某個(gè)SID又被其它的session使用的話(huà)則此數(shù)值自增加(當(dāng)一個(gè)SESSION結(jié)束,另一個(gè)SESSION開(kāi)始并使用了同一個(gè)SID)。
AUDSID:審查session ID唯一性,確認(rèn)它通常也用于當(dāng)尋找并行查詢(xún)模式
USERNAME:當(dāng)前session在oracle中的用戶(hù)名。
STATUS:這列用來(lái)判斷session狀態(tài)是:
Achtive:正執(zhí)行SQL語(yǔ)句(waiting for/using a resource)
Inactive:等待操作(即等待需要執(zhí)行的SQL語(yǔ)句)
Killed:被標(biāo)注為刪除
paddr, process addr, 通過(guò)這個(gè)字段我們可以查看當(dāng)前進(jìn)程的相關(guān)信息, 系統(tǒng)進(jìn)程id,操作系統(tǒng)用戶(hù)信息等等.
(sql_address,sql_hash_value) (prev_sql_addr,prev_hash_value) 根據(jù)這兩組字段, 我們可以查詢(xún)到當(dāng)前session正在執(zhí)行的sql語(yǔ)句的詳細(xì)
信息.
v$sqltext視圖
v$sqltext視圖包括Shared pool中SQL語(yǔ)句的完整文本,一條SQL語(yǔ)句可能分成多個(gè)塊被保存于多個(gè)記錄內(nèi)。
常用列:
HASH_VALUE:SQL語(yǔ)句的Hash值
ADDRESS:sql語(yǔ)句在SGA中的地址
SQL_TEXT:SQL文本。
PIECE:SQL語(yǔ)句塊的序號(hào)
V$SQLTEXT中的連接列
Column View Joined Column(s)
HASH_VALUE, ADDRESS V$SQL, V$SESSION HASH_VALUE, ADDRESS
HASH_VALUE. ADDRESS V$SESSION SQL_HASH_VALUE, SQL_ADDRESS
按pid查看正在執(zhí)行的程序:
select sid,program from v$session b where paddr in (select addr from v$process where spid=$pid);
按pid查看正在執(zhí)行的sql語(yǔ)句
select sql_text from v$sqltext where hash_value in (select sql_hash_value from v$session where
PADDR in (select addr from v"$process where spid=$pid)) order by piece;
V$SESSION_WAIT視圖
這是一個(gè)尋找性能瓶頸的關(guān)鍵視圖。它提供了任何情況下session在數(shù)據(jù)庫(kù)中當(dāng)前正在等待什么(如果session當(dāng)前什么也沒(méi)在做,則顯示它最后的等待事件)。當(dāng)系統(tǒng)存在性能問(wèn)題時(shí),本視圖可以做為一個(gè)起點(diǎn)指明探尋問(wèn)題的方向。
V$SESSION_WAIT中,每一個(gè)連接到實(shí)例的session都對(duì)應(yīng)一條記錄。
常用列:
SID: session標(biāo)識(shí)
EVENT: session當(dāng)前等待的事件,或者最后一次等待事件。
WAIT_TIME: session等待事件的時(shí)間(單位,百分之一秒)如果本列為0,說(shuō)明session當(dāng)前session還未有任何等待。
SEQ#: session等待事件將觸發(fā)其值自增長(zhǎng)
P1, P2, P3: 等待事件中等待的詳細(xì)資料
P1TEXT, P2TEXT, P3TEXT: 解釋說(shuō)明p1,p2,p3事件
附注:
1.State字段有四種含義﹕
Waiting:SESSION正等待這個(gè)事件。
Waited unknown time:由于設(shè)置了timed_statistics值為false,導(dǎo)致不能得到時(shí)間信息。表示發(fā)生了等待,但時(shí)間
很短。
Wait short time:表示發(fā)生了等待,但由于時(shí)間非常短不超過(guò)一個(gè)時(shí)間單位,所以沒(méi)有記錄。
Waited knnow time:如果session等待然后得到了所需資源,那么將從waiting進(jìn)入本狀態(tài)。
Wait_time值也有四種含義:
值>0:最后一次等待時(shí)間(單位:10ms),當(dāng)前未在等待狀態(tài)。
值=0:session正在等待當(dāng)前的事件。
值=-1:最后一次等待時(shí)間小于1個(gè)統(tǒng)計(jì)單位,當(dāng)前未在等待狀態(tài)。
值=-2:時(shí)間統(tǒng)計(jì)狀態(tài)未置為可用,當(dāng)前未在等待狀態(tài)。
3.Wait_time和Second_in_wait字段值與state相關(guān):
如果state值為Waiting,那么wait_time值無(wú)用。Second_in_wait值是實(shí)際的等待時(shí)間(單位:秒)。
如果state值為Wait unknow time,那么wait_time值和Second_in_wait值都無(wú)用。
如果state值為Wait short time,那么wait_time值和Second_in_wait值都無(wú)用。
如果state值為Waiting known time,那么wait_time值就是實(shí)際等待時(shí)間(單位:秒),Second_in_wait值無(wú)用。
V$SESSION_WAIT中的連接列
Column View Joined Colum
SID V$SESSION SID
查看session等待事件:
select sid,event from v$session_wait where event not like 'rdbms%' and event not like 'SQL*Net message%';
多數(shù)的session都是空閑事件如:SQL*Net message from client, pipe get, PMON timer等。
v$process視圖包含當(dāng)前系統(tǒng)oracle運(yùn)行的所有進(jìn)程信息。常被用于將oracle或服務(wù)進(jìn)程的操作系統(tǒng)進(jìn)程ID與數(shù)據(jù)庫(kù)session之間建立聯(lián)系。
常用列:
ADDR:進(jìn)程對(duì)象地址
PID:oracle進(jìn)程ID
SPID:操作系統(tǒng)進(jìn)程ID
V$PROCESS中的連接列
Column View Joined Column(s)
ADDR V$SESSION PADDR
v$session視圖
V$SESSION是基礎(chǔ)信息視圖,用于找尋用戶(hù)SID或SADDR。不過(guò),它也有一些列會(huì)動(dòng)態(tài)的變化,可用于檢查用戶(hù)。
常用列:
SID:SESSION標(biāo)識(shí),常用于連接其它列
SERIAL#:如果某個(gè)SID又被其它的session使用的話(huà)則此數(shù)值自增加(當(dāng)一個(gè)SESSION結(jié)束,另一個(gè)SESSION開(kāi)始并使用了同一個(gè)SID)。
AUDSID:審查session ID唯一性,確認(rèn)它通常也用于當(dāng)尋找并行查詢(xún)模式
USERNAME:當(dāng)前session在oracle中的用戶(hù)名。
STATUS:這列用來(lái)判斷session狀態(tài)是:
Achtive:正執(zhí)行SQL語(yǔ)句(waiting for/using a resource)
Inactive:等待操作(即等待需要執(zhí)行的SQL語(yǔ)句)
Killed:被標(biāo)注為刪除
paddr, process addr, 通過(guò)這個(gè)字段我們可以查看當(dāng)前進(jìn)程的相關(guān)信息, 系統(tǒng)進(jìn)程id,操作系統(tǒng)用戶(hù)信息等等.
(sql_address,sql_hash_value) (prev_sql_addr,prev_hash_value) 根據(jù)這兩組字段, 我們可以查詢(xún)到當(dāng)前session正在執(zhí)行的sql語(yǔ)句的詳細(xì)
信息.
v$sqltext視圖
v$sqltext視圖包括Shared pool中SQL語(yǔ)句的完整文本,一條SQL語(yǔ)句可能分成多個(gè)塊被保存于多個(gè)記錄內(nèi)。
常用列:
HASH_VALUE:SQL語(yǔ)句的Hash值
ADDRESS:sql語(yǔ)句在SGA中的地址
SQL_TEXT:SQL文本。
PIECE:SQL語(yǔ)句塊的序號(hào)
V$SQLTEXT中的連接列
Column View Joined Column(s)
HASH_VALUE, ADDRESS V$SQL, V$SESSION HASH_VALUE, ADDRESS
HASH_VALUE. ADDRESS V$SESSION SQL_HASH_VALUE, SQL_ADDRESS
按pid查看正在執(zhí)行的程序:
select sid,program from v$session b where paddr in (select addr from v$process where spid=$pid);
按pid查看正在執(zhí)行的sql語(yǔ)句
select sql_text from v$sqltext where hash_value in (select sql_hash_value from v$session where
PADDR in (select addr from v"$process where spid=$pid)) order by piece;
V$SESSION_WAIT視圖
這是一個(gè)尋找性能瓶頸的關(guān)鍵視圖。它提供了任何情況下session在數(shù)據(jù)庫(kù)中當(dāng)前正在等待什么(如果session當(dāng)前什么也沒(méi)在做,則顯示它最后的等待事件)。當(dāng)系統(tǒng)存在性能問(wèn)題時(shí),本視圖可以做為一個(gè)起點(diǎn)指明探尋問(wèn)題的方向。
V$SESSION_WAIT中,每一個(gè)連接到實(shí)例的session都對(duì)應(yīng)一條記錄。
常用列:
SID: session標(biāo)識(shí)
EVENT: session當(dāng)前等待的事件,或者最后一次等待事件。
WAIT_TIME: session等待事件的時(shí)間(單位,百分之一秒)如果本列為0,說(shuō)明session當(dāng)前session還未有任何等待。
SEQ#: session等待事件將觸發(fā)其值自增長(zhǎng)
P1, P2, P3: 等待事件中等待的詳細(xì)資料
P1TEXT, P2TEXT, P3TEXT: 解釋說(shuō)明p1,p2,p3事件
附注:
1.State字段有四種含義﹕
Waiting:SESSION正等待這個(gè)事件。
Waited unknown time:由于設(shè)置了timed_statistics值為false,導(dǎo)致不能得到時(shí)間信息。表示發(fā)生了等待,但時(shí)間
很短。
Wait short time:表示發(fā)生了等待,但由于時(shí)間非常短不超過(guò)一個(gè)時(shí)間單位,所以沒(méi)有記錄。
Waited knnow time:如果session等待然后得到了所需資源,那么將從waiting進(jìn)入本狀態(tài)。
Wait_time值也有四種含義:
值>0:最后一次等待時(shí)間(單位:10ms),當(dāng)前未在等待狀態(tài)。
值=0:session正在等待當(dāng)前的事件。
值=-1:最后一次等待時(shí)間小于1個(gè)統(tǒng)計(jì)單位,當(dāng)前未在等待狀態(tài)。
值=-2:時(shí)間統(tǒng)計(jì)狀態(tài)未置為可用,當(dāng)前未在等待狀態(tài)。
3.Wait_time和Second_in_wait字段值與state相關(guān):
如果state值為Waiting,那么wait_time值無(wú)用。Second_in_wait值是實(shí)際的等待時(shí)間(單位:秒)。
如果state值為Wait unknow time,那么wait_time值和Second_in_wait值都無(wú)用。
如果state值為Wait short time,那么wait_time值和Second_in_wait值都無(wú)用。
如果state值為Waiting known time,那么wait_time值就是實(shí)際等待時(shí)間(單位:秒),Second_in_wait值無(wú)用。
V$SESSION_WAIT中的連接列
Column View Joined Colum
SID V$SESSION SID
查看session等待事件:
select sid,event from v$session_wait where event not like 'rdbms%' and event not like 'SQL*Net message%';
多數(shù)的session都是空閑事件如:SQL*Net message from client, pipe get, PMON timer等。