共享服務(wù)器,是多線程服務(wù)器或MTS。在連接建立的時(shí)候,Listener首先接收到客戶端的建立連接的請(qǐng)求,然后Listener去生成一個(gè)叫做調(diào)度器的進(jìn)程與客戶端進(jìn)行連接。調(diào)度器把把客戶端的請(qǐng)求放在SGA的一個(gè)請(qǐng)求隊(duì)列中,然后在共享服務(wù)器連接池中查找有無空閑的連接,然后讓這個(gè)空閑的服務(wù)器進(jìn)程進(jìn)行處理。處理完畢以后再把處理結(jié)果返回給用戶。如果采用這種連接方式,就不會(huì)對(duì)每條用戶連接創(chuàng)建另外的線程或新的進(jìn)程。
利用共享服務(wù)器,就不需要為10,000個(gè)數(shù)據(jù)庫會(huì)話創(chuàng)建10,000個(gè)專用服務(wù)器,只需建立很少的一部分進(jìn)程/線程,這些進(jìn)程/線程將由所有會(huì)話共享。這樣Oracle就能讓更多的用戶與數(shù)據(jù)庫連接,否則很難連接更多用戶。采用共享服務(wù)器模式,共享進(jìn)程通常與數(shù)據(jù)庫一同啟動(dòng),使用ps命令可以看到這個(gè)進(jìn)程。
共享服務(wù)器連接模式的優(yōu)點(diǎn)在于服務(wù)器進(jìn)程的數(shù)量可以得到控制,不大可能出現(xiàn)連接數(shù)過多而造成服務(wù)器內(nèi)存崩潰。但是由于增加了復(fù)雜度以及請(qǐng)求相應(yīng)的隊(duì)列,可能性能上會(huì)有所下降。采用專用服務(wù)器連接模式比采用共享服務(wù)器連接模式效率要高。
共享服務(wù)器模式缺點(diǎn):
1、共享服務(wù)器的代碼路徑比專用服務(wù)器長(zhǎng),會(huì)比專用服務(wù)器慢。
2、共享服務(wù)器是串行的,存在人為死鎖的可能,只要一個(gè)連接阻塞,則該服務(wù)器進(jìn)程上的所有用戶都被阻塞,且極可能死鎖。
3、存在獨(dú)占事務(wù)的可能,因?yàn)槿绻粋€(gè)會(huì)話的事務(wù)運(yùn)行時(shí)間過長(zhǎng),它獨(dú)占共享資源,其它用戶只能等待。
4、共享服務(wù)器模式限制了某些數(shù)據(jù)庫特性,連接、會(huì)話的跟蹤信息可能分布在不同的獨(dú)立跟蹤文件中,重建會(huì)話比較困難。
了解更多服務(wù)器及資訊,請(qǐng)關(guān)注夢(mèng)飛科技官方網(wǎng)站,感謝您的支持!