ORACLEsession中SPID、PID、SID的區(qū)別是什么

本篇內(nèi)容介紹了“ORACLE session中SPID、PID、SID的區(qū)別是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出貴陽免費做網(wǎng)站回饋大家。

SPID一一system process id,
表示該server process在OS層面的Porcess ID ,即操作系統(tǒng)進(jìn)程ID

PID一一Oracle process id 
可以理解為Oracle自己用的,Oracle進(jìn)程ID

SID一一SESSION標(biāo)識,常用于連接其它列

我們一般都用 V$process.spid 或 V$session.sid + V$session.serial# 來kill session

v$process視圖: 
        v$process視圖包含當(dāng)前系統(tǒng)oracle運行的所有進(jìn)程信息。常被用于將oracle或服務(wù)進(jìn)程的操作系統(tǒng)進(jìn)程ID與數(shù)據(jù)庫session之間建立聯(lián)系。 
常用列: 
        ADDR:進(jìn)程對象地址 
        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ǔ)信息視圖,用于找尋用戶SID或SADDR。不過,它也有一些列會動態(tài)的變化,可用于檢查用戶。 
常用列: 
        SID:SESSION標(biāo)識,常用于連接其它列 
        SERIAL#:如果某個SID又被其它的session使用的話則此數(shù)值自增加(當(dāng)一個SESSION結(jié)束,另一個SESSION開始并使用了同一個SID)。 
        AUDSID:審查session ID唯一性,確認(rèn)它通常也用于當(dāng)尋找并行查詢模式 
        USERNAME:當(dāng)前session在oracle中的用戶名。 
        STATUS:這列用來判斷session狀態(tài)是: 
        Achtive:正執(zhí)行SQL語句(waiting for/using a resource) 
        Inactive:等待操作(即等待需要執(zhí)行的SQL語句) 
        Killed:被標(biāo)注為刪除 
        paddr, process addr, 通過這個字段我們可以查看當(dāng)前進(jìn)程的相關(guān)信息, 系統(tǒng)進(jìn)程id,操作系統(tǒng)用戶信息等等. 
        (sql_address,sql_hash_value) (prev_sql_addr,prev_hash_value) 根據(jù)這兩組字段, 我們可以查詢到當(dāng)前session正在執(zhí)行的sql語句的詳細(xì) 
信息. 

v$sqltext視圖 
        v$sqltext視圖包括Shared pool中SQL語句的完整文本,一條SQL語句可能分成多個塊被保存于多個記錄內(nèi)。 
常用列: 
        HASH_VALUE:SQL語句的Hash值 
        ADDRESS:sql語句在SGA中的地址 
        SQL_TEXT:SQL文本。 
        PIECE:SQL語句塊的序號 
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語句 
        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視圖 
        這是一個尋找性能瓶頸的關(guān)鍵視圖。它提供了任何情況下session在數(shù)據(jù)庫中當(dāng)前正在等待什么(如果session當(dāng)前什么也沒在做,則顯示它最后的等待事件)。當(dāng)系統(tǒng)存在性能問題時,本視圖可以做為一個起點指明探尋問題的方向。 
        V$SESSION_WAIT中,每一個連接到實例的session都對應(yīng)一條記錄。 
常用列: 
        SID: session標(biāo)識 
        EVENT: session當(dāng)前等待的事件,或者最后一次等待事件。 
        WAIT_TIME: session等待事件的時間(單位,百分之一秒)如果本列為0,說明session當(dāng)前session還未有任何等待。 
        SEQ#: session等待事件將觸發(fā)其值自增長 
        P1, P2, P3: 等待事件中等待的詳細(xì)資料 
        P1TEXT, P2TEXT, P3TEXT: 解釋說明p1,p2,p3事件 
附注: 
        1.State字段有四種含義﹕ 
        Waiting:SESSION正等待這個事件。 
        Waited unknown time:由于設(shè)置了timed_statistics值為false,導(dǎo)致不能得到時間信息。表示發(fā)生了等待,但時間
很短
        Wait short time:表示發(fā)生了等待,但由于時間非常短不超過一個時間單位,所以沒有記錄。 
        Waited knnow time:如果session等待然后得到了所需資源,那么將從waiting進(jìn)入本狀態(tài)。 
        Wait_time值也有四種含義: 
值>0:最后一次等待時間(單位:10ms),當(dāng)前未在等待狀態(tài)。 
        值=0:session正在等待當(dāng)前的事件。 
        值=-1:最后一次等待時間小于1個統(tǒng)計單位,當(dāng)前未在等待狀態(tài)。 
        值=-2:時間統(tǒng)計狀態(tài)未置為可用,當(dāng)前未在等待狀態(tài)。 
3.Wait_time和Second_in_wait字段值與state相關(guān): 
        如果state值為Waiting,那么wait_time值無用。Second_in_wait值是實際的等待時間(單位:秒)。 
        如果state值為Wait unknow time,那么wait_time值和Second_in_wait值都無用。 
        如果state值為Wait short time,那么wait_time值和Second_in_wait值都無用。 
        如果state值為Waiting known time,那么wait_time值就是實際等待時間(單位:秒),Second_in_wait值無用。 
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等

“ORACLE session中SPID、PID、SID的區(qū)別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

當(dāng)前名稱:ORACLEsession中SPID、PID、SID的區(qū)別是什么
URL地址:http://muchs.cn/article26/ghiccg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站App開發(fā)、品牌網(wǎng)站制作、微信小程序、響應(yīng)式網(wǎng)站用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化