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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle多线程类连接数,数据库连接数,服务器进程,线程之间什么关系?

發(fā)布時間:2025/3/15 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle多线程类连接数,数据库连接数,服务器进程,线程之间什么关系? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

服務器進程--spid

大部分系統(tǒng)都表示server process在OS層面的process ID==操作系統(tǒng)進程ID;

數(shù)據庫進程--這里用Oracle做例子 pid

這里可以理解為Oracle自己用的,Oracle進程的ID;

還有一個session標識,我們這里一般稱為sid;

下邊在看一下幾個試圖,能更清楚的理解這些。

v$process視圖:

v$process視圖包含當前系統(tǒng)oracle運行的所有進程信息。常被用于將oracle或服務進程的操作系統(tǒng)進程ID與數(shù)據庫session之間建立聯(lián)系。

常用列:

ADDR:進程對象地址

PID:oracle進程ID

SPID:操作系統(tǒng)進程ID

V$PROCESS中的連接列

Column View Joined Column(s)

ADDR V$SESSION PADDR

v$session視圖

V$SESSION是基礎信息視圖,用于找尋用戶SID或SADDR。不過,它也有一些列會動態(tài)的變化,可用于檢查用戶。

常用列:

SID:SESSION標識,常用于連接其它列

SERIAL#:如果某個SID又被其它的session使用的話則此數(shù)值自增加(當一個SESSION結束,另一個SESSION開始并使用了同一個SID)。

AUDSID:審查session ID唯一性,確認它通常也用于當尋找并行查詢模式

USERNAME:當前session在oracle中的用戶名。

STATUS:這列用來判斷session狀態(tài)是:

Achtive:正執(zhí)行SQL語句(waiting for/using a resource)

Inactive:等待操作(即等待需要執(zhí)行的SQL語句)

Killed:被標注為刪除

paddr, process addr, 通過這個字段我們可以查看當前進程的相關信息, 系統(tǒng)進程id,操作系統(tǒng)用戶信息等等.

(sql_address,sql_hash_value) (prev_sql_addr,prev_hash_value) 根據這兩組字段, 我們可以查詢到當前session正在執(zhí)行的sql語句的詳細

信息.

v$sqltext視圖

v$sqltext視圖包括Shared pool中SQL語句的完整文本,一條SQL語句可能分成多個塊被保存于多個記錄內。

常用列:

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視圖

這是一個尋找性能瓶頸的關鍵視圖。它提供了任何情況下session在數(shù)據庫中當前正在等待什么(如果session當前什么也沒在做,則顯示它最后的等待事件)。當系統(tǒng)存在性能問題時,本視圖可以做為一個起點指明探尋問題的方向。

V$SESSION_WAIT中,每一個連接到實例的session都對應一條記錄。

常用列:

SID: session標識

EVENT: session當前等待的事件,或者最后一次等待事件。

WAIT_TIME: session等待事件的時間(單位,百分之一秒)如果本列為0,說明session當前session還未有任何等待。

SEQ#: session等待事件將觸發(fā)其值自增長

P1, P2, P3: 等待事件中等待的詳細資料

P1TEXT, P2TEXT, P3TEXT: 解釋說明p1,p2,p3事件

附注:

1.State字段有四種含義﹕

Waiting:SESSION正等待這個事件。

Waited unknown time:由于設置了timed_statistics值為false,導致不能得到時間信息。表示發(fā)生了等待,但時間

很短

Wait short time:表示發(fā)生了等待,但由于時間非常短不超過一個時間單位,所以沒有記錄。

Waited knnow time:如果session等待然后得到了所需資源,那么將從waiting進入本狀態(tài)。

Wait_time值也有四種含義:

值>0:最后一次等待時間(單位:10ms),當前未在等待狀態(tài)。

值=0:session正在等待當前的事件。

值=-1:最后一次等待時間小于1個統(tǒng)計單位,當前未在等待狀態(tài)。

值=-2:時間統(tǒng)計狀態(tài)未置為可用,當前未在等待狀態(tài)。

3.Wait_time和Second_in_wait字段值與state相關:

如果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 ’SQLNet message%’;

多數(shù)的session都是空閑事件如:SQLNet message from client, pipe get, PMON timer等.收起

總結

以上是生活随笔為你收集整理的oracle多线程类连接数,数据库连接数,服务器进程,线程之间什么关系?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。