溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle的專用數(shù)據(jù)庫和共享數(shù)據(jù)庫區(qū)別

發(fā)布時間:2020-06-27 22:37:19 來源:網(wǎng)絡(luò) 閱讀:558 作者:xiaocao13140 欄目:關(guān)系型數(shù)據(jù)庫

專用服務(wù)器進(jìn)程(Dedicated server)


對于專用服務(wù)器配置,在登錄時,Oracle總會創(chuàng)建一個新的進(jìn)程,這個服務(wù)器進(jìn)程會在會話生存期中專門這個連接服務(wù)。對于每個會話,都會出現(xiàn)一個新的專用服務(wù)器,會話與專用服務(wù)器之間存在一對一的映射。按照定義,這個專用服務(wù)器不是實例的一部分用戶進(jìn)程和服務(wù)器進(jìn)程是分開的。每個用戶進(jìn)程都有自己的服務(wù)器進(jìn)程。
用戶進(jìn)程和服務(wù)器進(jìn)程可在不同的機(jī)器上運行,以利用分布式處理的優(yōu)勢。
用戶進(jìn)程和服務(wù)器進(jìn)程的比率是1 比1。
即使用戶進(jìn)程不發(fā)出數(shù)據(jù)庫請求,專用服務(wù)器也存在,只是保持空閑狀態(tài)。
何時使用專用服務(wù)器
提交批作業(yè)(預(yù)計很少有或沒有空閑時間)
以sysdba 身份連接以啟動、關(guān)閉或執(zhí)行恢復(fù)
要請求使用專用服務(wù)器,必須在tnsnames.ora 文件內(nèi)的Oracle Net TNS 連接字符串中
包含SERVER=DEDICATED 子句。
注:對于大多數(shù)平臺來說,如果您的機(jī)器有足夠的內(nèi)存支持專用服務(wù)器,則應(yīng)使用專用服
務(wù)器。這樣性能可能更好些。
但也有例外,例如Windows NT,在該系統(tǒng)中,由于共享服務(wù)器體系結(jié)構(gòu)的異步特性,使
用Oracle Shared Server 配置性能可能會有所提高。
如何連接專用服務(wù)器
在客戶端服務(wù)器中的tnsnames.ora文件里進(jìn)行設(shè)置:
dedicated =(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.52)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = itpux)
(server = dedicated)
)





共享服務(wù)器(shared server),正式的說法是多線程服務(wù)器(Multi-Threaded Server)或MTS。如果采用這種方式,就不會對每條用戶連接創(chuàng)建另外的線程或新的UNIX 進(jìn)程
Oracle Shared Server 的優(yōu)點
減少針對某一例程的進(jìn)程數(shù)目
增加可服務(wù)的用戶數(shù)
實現(xiàn)負(fù)載平衡
減少空閑服務(wù)器進(jìn)程的數(shù)目
減少內(nèi)存占用和系統(tǒng)開銷
如何連接共享服務(wù)器
不能使用共享服務(wù)器執(zhí)行某些類型的數(shù)據(jù)庫工作:
數(shù)據(jù)庫管理
備份和恢復(fù)操作
批處理和批量加載操作
數(shù)據(jù)倉庫操作
共享服務(wù)器具有以下一些缺點
一般我們以oracle默認(rèn)的專用服務(wù)器方式就行了,沒必要使用共享服務(wù)器模式。一個是我們是使用中間件(如:weblogic)去連oracle的,中間件本身有連接池機(jī)制,另外就是oracle的這個共享服務(wù)器方式也做的不夠好了,有諸多缺點。
1)共享服務(wù)器的代碼路徑比專用服務(wù)器長,所以它天生就比專用服務(wù)器慢。
2)存在人為死鎖的可能,因為它是串行的,只要一個連接阻塞,則該服務(wù)器進(jìn)程上的所有用戶都被阻塞,并且極可能死鎖。 ITPUX 技術(shù)網(wǎng)(http://www.itpux.com),中國最專業(yè)最全面的 IT 行業(yè)技術(shù)網(wǎng)站。
3)存在獨占事務(wù)的可能,因為如果一個會話的事務(wù)運行時間過長,它獨占共享資源,其它用戶只能等待,而專用服務(wù)器,每個客戶端是一個會話。
4)共享服務(wù)器模式限制了某些數(shù)據(jù)庫特性,例如:不能單獨啟動和關(guān)閉實例,不能進(jìn)行介質(zhì)恢復(fù),不能使用Log Miner,并且SQL_TRACE沒有意義(因為是共享而不是當(dāng)前會話的)。


怎么知道oracle當(dāng)前是 DEDICATED SERVER 還是 SHARED SERVER?
最簡單的一個方法是查看監(jiān)聽: lsnrctl service

[grid@udevasm:/home/grid]$lsnrctl service
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 15-JUL-2017 13:07:31
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         LOCAL SERVER
Service "db01" has 1 instance(s).
  Instance "udevasm", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:8 refused:0 state:ready
         LOCAL SERVER
Service "udevasm" has 1 instance(s).
  Instance "udevasm", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:8 refused:0 state:ready
         LOCAL SERVER
Service "udevasmXDB" has 1 instance(s).
  Instance "udevasm", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: udevasm, pid: 2469>
         (ADDRESS=(PROTOCOL=tcp)(HOST=udevasm)(PORT=10275))
The command completed successfully


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI