溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

oracle中的v$process是什么

發(fā)布時(shí)間:2022-01-17 17:02:15 來(lái)源:億速云 閱讀:925 作者:iii 欄目:數(shù)據(jù)庫(kù)

這篇文章主要介紹“oracle中的v$process是什么”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“oracle中的v$process是什么”文章能幫助大家解決問(wèn)題。

前言:

       process:這個(gè)參數(shù)限制了能夠連接到SGA的操作系統(tǒng)進(jìn)程數(shù)(或者是Windows 系統(tǒng)中的線程數(shù)),這個(gè)總數(shù)必須足夠大,從而能夠適用于后臺(tái)進(jìn)程與所有的專用服務(wù)器進(jìn)程,此外,共享服務(wù)器進(jìn)程與調(diào)度進(jìn)程的數(shù)目也被計(jì)算在內(nèi).此外,共享服務(wù)器進(jìn)程與調(diào)度進(jìn)程的數(shù)目也被計(jì)算在內(nèi).因此,在專用服務(wù)器環(huán)境中,這是一種限制并發(fā)連接數(shù)的方法。

   

介紹:

oracle提供了相應(yīng)的視圖v$process用來(lái)監(jiān)視整個(gè)數(shù)據(jù)庫(kù)的進(jìn)程情況。

v$process進(jìn)程官方文檔的介紹:This view has one row for each Oracle process connected to the instance. The columns PGA_USED_MEM, PGA_ALLOC_MEM, PGA_FREEABLE_MEM and PGA_MAX_MEM can be used to monitor the PGA memory usage of these processes. 用于監(jiān)視每個(gè)進(jìn)程的內(nèi)存使用情況;

詳細(xì)的V$PROCESS視圖如下:

Column    
Datatype    
Description    
解釋

ADDR    
RAW(4 | 8)    
Address of the process state object    
可以和v$session的paddr字段關(guān)聯(lián)

PID    
NUMBER    
Oracle process identifier

SPID    
VARCHAR2(24)    
Operating system process identifier    
操作系統(tǒng)進(jìn)程identifier

PNAME    
VARCHAR2(5)    
Name of this process    
進(jìn)程的名稱(從中可以看到前臺(tái)和后臺(tái)進(jìn)程)

USERNAME    
VARCHAR2(15)    
Operating system process username    
運(yùn)行此進(jìn)程的操作系統(tǒng)的用戶名稱;

Note: Any two-task user coming across the network has "-T" appended to the username.

SERIAL#    
NUMBER    
Process serial number

TERMINAL    
VARCHAR2(30)    
Operating system terminal identifier    
終端名稱類似于v$session;

PROGRAM    
VARCHAR2(48)    
Program in progress    
程序的名稱

TRACEID    
VARCHAR2(255)    
Trace file identifier    
跟蹤文件的ID

TRACEFILE    
VARCHAR2(513)    
Trace file name of the process    
跟蹤文件的名稱及路徑

BACKGROUND    
VARCHAR2(1)    
1 for a background process; NULL for a normal process    
值為1代表是后臺(tái)進(jìn)程

LATCHWAIT    
VARCHAR2(8)    
Address of the latch the process is waiting for; NULL if none    
等待LATCH的情況

LATCHSPIN    
VARCHAR2(8)    
This column is obsolete

PGA_USED_MEM    
NUMBER    
PGA memory currently used by the process    
PGA的消耗情況

PGA_ALLOC_MEM    
NUMBER    
PGA memory currently allocated by the process (including free PGA memory not yet released to the operating system by the server process)    
當(dāng)前PGA允許消耗的內(nèi)存

PGA_FREEABLE_MEM    
NUMBER    
Allocated PGA memory which can be freed

PGA_MAX_MEM    
NUMBER    
Maximum PGA memory ever allocated by the process    
進(jìn)程中最大的PGA內(nèi)存分配

   

延伸:

1、v$process進(jìn)程中的SPID提供了每個(gè)進(jìn)程對(duì)應(yīng)的操作系統(tǒng)的PID,因此如果監(jiān)控某個(gè)操作系統(tǒng)的PID有異常,可以通過(guò)這個(gè)視圖去查找相應(yīng)的SQL語(yǔ)句。

腳本如下:

SELECT   /*+ ORDERED */ sql_text    
FROM v$sqltext a

WHERE (a.hash_value, a.address) IN (    
     SELECT DECODE (sql_hash_value,  0, prev_hash_value,    
sql_hash_value     ),    
DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)    
FROM v$session b    
WHERE b.paddr = (SELECT addr    
FROM v$process c    
WHERE c.spid = TO_NUMBER ('&pid', 'xxxx')))    
ORDER BY piece ASC/

    2、在數(shù)據(jù)庫(kù)查找有問(wèn)題的session,然后在操作系統(tǒng)kill掉相應(yīng)的進(jìn)程,根據(jù)SESSION的SID查找相應(yīng)的操作系統(tǒng)PID

SELECT A.SID,B.SPID,A.MACHINE,C.SQL_TEXT FROM v$SESSION A ,v$process B,V$SQL  C

where a.paddr=b.addr

AND A.PREV_SQL_ID=C.SQL_ID

AND A.SID='&sid'

3、v$process和v$session的關(guān)系

oracle的連接數(shù)(sessions)與其參數(shù)文件中的進(jìn)程數(shù)(process)相關(guān),它們的關(guān)系如下:sessions=(1.1*process+5),若果資源允許,而當(dāng)前process 數(shù)過(guò)小,那么可以適當(dāng)增大processs 數(shù)( session 數(shù)依賴于process數(shù),一般不去直接修改session數(shù))。

Shared Server中的Process 一個(gè)對(duì)應(yīng)著Oracle 中的一個(gè)或者一個(gè)以上的Session。Dedicated Server中,一個(gè)session對(duì)應(yīng)一個(gè)process,但是一個(gè)process未必對(duì)應(yīng)一個(gè)session。

   4、修改v$process和v$session參數(shù)

以上的v$process和v$session參數(shù)的設(shè)置只是經(jīng)驗(yàn)值,但是在實(shí)際的運(yùn)行過(guò)程由于業(yè)務(wù)或者架構(gòu)的改變可能實(shí)際的系統(tǒng)的session數(shù)量和process數(shù)量超過(guò)了v$process和v$session參數(shù)的值,直接導(dǎo)致后面連接的用戶登錄不了;

查看當(dāng)前session配置:show parameter sessions;

查看當(dāng)前process配置:show parameter processes;

修改參數(shù):alter system set processes=1000 scope=spfile;該參數(shù)重啟后生效。

關(guān)于“oracle中的v$process是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI