共享模式 專有模式

2021-08-14 06:30:13 字數 2152 閱讀 6747

概念

適用場景

通用引數

local_listener

pmon只會動態註冊port等於1521的監聽,否則pmon不能動態註冊listener,要想讓pmon動態註冊listener,需要設定local_listener引數。

listener_networks:配置多個remote_listener、local_listener時需要,平時很少用

例子:alter system set listener_networks='((name=network1)(local_listener=listener_net1)(remote_listener=scanone.gaopp.com:1521))','((name=network2)(local_listener=listener_net2)(remote_listener=remote_net2))';

共享引數

記憶體

程序

資料庫啟動之後比專用伺服器模式會多出兩種程序,一種是排程程序(dnnn),一種是共享伺服器程序(snnn)。來自客戶端的請求會被dispatcher接受,然後dispatcher將請求置入request佇列。空閒的server process會按照request佇列開始處理佇列中的請求。處理過後的結果放入response佇列中。最後再由dispatcher來將最後的結果返回給客戶端。

優點

缺點:由於共享伺服器模式存在種種問題,同時中介軟體也完全可以實現連線池的效果,所以一般情況下不會共享伺服器模式,使用專用伺服器模式即可。

event

檢視

只需要將引數shared_servers設定為0,即可關閉資料庫的共享模式。執行該指令碼後,所有以共享方式連線到資料庫都不能成功,但是未釋放的共享連線會繼續保持連線,直到斷開為止。

alter system set shared_servers=0;

如果同時將引數shared_servers和max_shared_servers都設定為0,那麼共享連線方式將被終結。所有的共享方式連線都會斷開(已經連線的會話也會斷開)

設定shared_servers這個引數,將其值設定為大於0即可開啟伺服器共享模式。其他的共享伺服器引數可以不用設定,但是最好也設定一下max_shared_servers引數

alter system set shared_servers=1 scope=both;

alter system set max_shared_servers =24 scope=both;

關於引數dispatchers的設定,可以使用下面命令

alter system set dispatchers='(protocol=tcp)(disp=8)(serv=***)』

前面表示的是協議,disp表示排程器(dipatcher)的程序數量,service分別指定要採用共享伺服器模式的服務名稱。使用上面的模式指定只啟動某個服務的共享模式,如果要設定所有服務都使用共享模式,則設定為:

alter system set dispatchers='(protocol=tcp)';

檢視v$session檢視

通過v$session檢視的server欄位來進一步判斷當前連線模式

select sid, username, osuser, machine,terminal, server

from v$session

where username is not null;

檢視連線資料庫的tns配置檔案,如下所示

test =

(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.16.22)(port = 1521))

)(connect_data =

# server = dedicated為專用服務模式

(server = shared)

(service_name = epps)

))

共享模式 專有模式

概念 適用場景 通用引數 local listener pmon只會動態註冊port等於1521的監聽,否則pmon不能動態註冊listener,要想讓pmon動態註冊listener,需要設定local listener引數。listener networks 配置多個remote listene...

設計模式 共享模式

看了果凍兄的部落格,發現大家對裡面的乙個實現有一些不同的見解,貼出來記錄一下,其博文如下 共享模式的主要想法就是 運用共享技術有效地支援大量細粒度的物件。所以應該將物件的外部特徵由更高一級的物件來管理。在原文中,博主將棋子的外部特徵 座標 作為了棋子的乙個屬性來管理,又在棋盤類中採用覆蓋的方法來每一...

設計模式 共享模式

一 共享模式 共享模式 運用共享技術有效的支援大量細粒度的物件 flyweigth類,具有所有享元類的超類或介面 abstract class flyweigth concreteflyweigth是繼承flyweigth超累或實現介面,並為內部狀態增加儲存空間 class concreteflyw...