專用伺服器:乙個客戶端連線對應乙個伺服器程序
共享伺服器:多個客戶端連線對應乙個伺服器程序,伺服器端存在乙個程序排程器來管理。
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資料庫允許多個使用者程序共享非常少的伺服器程序。所以,可以同時實現使用者併發訪問的人數也就大大的增加。採用共享伺服器模式的話,則多個使用者可以共用乙個伺服器程序,也就是說,此時客戶端程序與伺服器程序是多對一的情況...