ORACLE專用伺服器與共享伺服器的一點比較

2021-06-10 06:21:22 字數 1204 閱讀 7802

專用伺服器:乙個客戶端連線對應乙個伺服器程序

共享伺服器:多個客戶端連線對應乙個伺服器程序,伺服器端存在乙個程序排程器來管理。

oracle預設用的是專用伺服器模式,oracle可以同時支援共享伺服器和專用伺服器模式,可以指定乙個會話使用專用伺服器,另乙個會話使用共享伺服器。

共享伺服器具有以下優缺點:

1) 共享伺服器的**路徑比專用伺服器長,所以它比專用伺服器慢。

2) 存在人為死鎖的可能,因為它是序列的,只要乙個連線阻塞,則該伺服器程序上的所有使用者都被阻塞,並且極有可能死鎖。

3) 存在獨佔事務的可能,因為如果乙個會話的事務執行時間過長,它獨佔共享資源,其它使用者只能等待,而專用伺服器,每個客戶端是乙個會話。

4) 共享伺服器模式限制了某些資料庫特性,例如:不能單獨啟動和關閉例項,不能進行介質恢復,不能使用log miner,並且sql_trace沒有意義(因為是共享而不是當前會話的)。

5) 如果使用者會話的連線和斷開很頻繁,資料庫程序的建立和刪除的開銷會非常大,這種情況最好採用共享伺服器模式(否則,應該使用連線池技術)。

判斷oracle是共享模式還是專用模式有以下方法:

1) show parameter shared_server;

如果數值》0 ,就是啟用了共享伺服器.

2) 如果配置為共享伺服器,客戶端既可以用共享伺服器,也可以用專用伺服器來聯接資料庫,這個引數的控制是在tnsnames.ora裡設定的。如:

c2155=

(description =

(address_list =

(address = (protocol = tcp)(host = dolphinhat)(port = 1522))

)(connect_data =

(sid = c2155)

(server =dedicated)))

如果db沒有配置共享伺服器,那麼client只能以dedicated方式連線db.

3)判斷乙個已經連線的session的連線方式

a)select server from v$session

如果server = 'dedicated'則是dedicated方式

server='shared'則是shared方式,並且正有shared_server_process為其服務

server='none'的話,則是shared方式,並且當前沒有shared_server_process為其服務

oracle專用伺服器模式與共享伺服器模式

一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。如果使用專用伺服器模式,則每個使用者連線資料庫時,每個使用者程序需要他自己的專用伺服器程序。也就是說,客戶端程...

oracle 專用伺服器模式與共享伺服器模式詳解

一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。採用共享伺服器模式的話,則多個使用者可以共用乙個伺服器程序,也就是說,此時客戶端程序與伺服器程序是多對一的情況...

oracle 專用伺服器模式與共享伺服器模式詳解

一 共享伺服器模式。共享伺服器模式,也叫做多執行緒伺服器模式。在這種模式下,oracle資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。採用共享伺服器模式的話,則多個使用者可以共用乙個伺服器程序,也就是說,此時客戶端程序與伺服器程序是多對一的情況...