日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【网摘】Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明

發(fā)布時(shí)間:2025/3/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【网摘】Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一.? 官網(wǎng)說(shuō)明

?????? 在DBCA 建庫(kù)的時(shí)候,有提示讓我們選擇連接類型,這里有兩種類型:專用服務(wù)器模式和共享服務(wù)器模式。默認(rèn)使用專用模式。如下圖:

?

?

?

?

Oracle 官方文檔對(duì)這兩種文檔的說(shuō)明如下:

About Dedicated andShared Server Processes

http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/manproc001.htm

?

?????? OracleDatabase creates server processes to handle the requests of user processesconnected to an instance. A server process can be either of the following:

?????? (1)A?dedicated server process, which services only one userprocess

?????? (2)A?shared server process, which can service multiple userprocesses

?

?????? Oracle 創(chuàng)建Server process 來(lái)處理user processes連接實(shí)例的的請(qǐng)求。 server process 分兩種: dedicated server process和 sharedserver process。

?

?????? Yourdatabase is always enabled to allow dedicated server processes, but you mustspecifically configure and enable?shared server?by setting one ormore initialization parameters.

?

?

1.1 Dedicated Server Processes

???????Figure4-1, "Oracle Database Dedicated Server Processes"?illustrateshow dedicated server processes work. In this diagram two user processes areconnected to the database through dedicated server processes.

?

?????? Ingeneral, it is better to be connected through a?dispatcher?and use ashared server process. This is illustrated in?Figure4-2, "Oracle Database Shared Server Processes". A shared serverprocess can be more efficient because it keeps the number of processes requiredfor the running instance low.

??????

?????? Inthe following situations, however, users and administrators should explicitlyconnect to an instance using a dedicated server process:

???????在以上兩種情況,需要顯示的使用dedicated server process 去連接實(shí)例:

?????? (1)To submit a batch job (for example, when a job can allow little orno idle time for the server process)

?????? (2)To use Recovery Manager (RMAN) to back up, restore, or recover a database

?

?????? Torequest a dedicated server connection when Oracle Database is configured forshared server, users must connect using a net service name that is configuredto use a dedicated server. Specifically, the net service name value shouldinclude the?SERVER=DEDICATED?clause in the connect descriptor.

???????如果數(shù)據(jù)庫(kù)配置的是shared server,想要用dedicated server 去連接實(shí)例,就必須配置在net service name(tnsnames.ora)里指定SERVER=DEDICATED。

?

??????

Figure 4-1 OracleDatabase Dedicated Server Processes



1.2 Shared Server?Processes

?????? Consideran order entry system with dedicated server processes. A customer phones theorder desk and places an order, and the clerk taking the call enters the orderinto the database. For most of the transaction, the clerk is on the telephonetalking to the customer. A server process is not needed during this time, sothe server process dedicated to the clerk's user process remains idle. Thesystem is slower for other clerks entering orders, because the idle serverprocess is holding system resources.

?????? Sharedserver architecture eliminates the need for a dedicated server process for eachconnection (see?Figure4-2).

?

?

?

Figure 4-2 OracleDatabase Shared Server Processes



?????? Ina shared server configuration, client user processes connect to a dispatcher.The dispatcher can support multiple client connections concurrently. Eachclient connection is bound to a?virtual circuit, which is a piece ofshared memory used by the dispatcher for client database connection requestsand replies. The dispatcher places a virtual circuit on a common queue when arequest arrives.

?????? Anidle shared server process picks up the virtual circuit from the common queue,services the request, and relinquishes the virtual circuit before attempting toretrieve another virtual circuit from the common queue.?This approach enables a small pool of server processes to serve a largenumber of clients.?A significant advantage of shared server architectureover the dedicated server model is the reduction of system resources, enablingthe support of an increased number of users.

?????? Foreven better resource management, shared server can be configuredfor?connection pooling. Connection pooling lets a dispatcher support moreusers by enabling the database server to time-out protocol connections and touse those connections to service an active session. Further, shared server canbe configured for?session multiplexing, which combines multiple sessionsfor transmission over a single network connection in order to conserve the operatingsystem's resources.

?????? Sharedserver architecture requires Oracle Net Services. User processes targeting theshared server must connect through Oracle Net Services, even if they are on thesame machine as the Oracle Database instance.

?

?

二. 說(shuō)明

2.1 Dedicated server 說(shuō)明

?

?

?

? ? ??對(duì)于專用服務(wù)器配置,在登錄時(shí),Oracle 總會(huì)創(chuàng)建一個(gè)新的進(jìn)程,這個(gè)服務(wù)器進(jìn)程會(huì)在會(huì)話生存期中專門這個(gè)連接服務(wù)。對(duì)于每個(gè)會(huì)話,都會(huì)出現(xiàn)一個(gè)新的專用服務(wù)器,會(huì)話與專用服務(wù)器之間存在一對(duì)一的映射。按照定義,這個(gè)專用服務(wù)器不是實(shí)例的一部分。客戶進(jìn)程(也就是想要連接數(shù)據(jù)庫(kù)的程序)會(huì)通過某種網(wǎng)絡(luò)通道(如TCP/IP socket)與這個(gè)專用服務(wù)器直接通信,并由這個(gè)服務(wù)器進(jìn)程接收和執(zhí)行我的SQL。如果必要,它會(huì)讀取數(shù)據(jù)文件,并在數(shù)據(jù)庫(kù)的緩存中查找我要的數(shù)據(jù)。也許它會(huì)完成我的更新語(yǔ)句,也可能會(huì)運(yùn)行我的PL/SQL 代碼。這個(gè)服務(wù)器進(jìn)程的主要目標(biāo)就是對(duì)我提交的SQL 調(diào)用做出響應(yīng)。

?

2.2 Shared server 說(shuō)明

2.2.1? 說(shuō)明

? ? ? ?共享服務(wù)器(shared server),正式的說(shuō)法是多線程服務(wù)器(Multi-Threaded Server)或MTS。如果采用這種方式,就不會(huì)對(duì)每條用戶連接創(chuàng)建另外的線程或新的UNIX 進(jìn)程。

?

? ? ? 在共享服務(wù)器中,Oracle 使用一個(gè)“共享進(jìn)程”池為大量用戶提供服務(wù)。共享服務(wù)器實(shí)際上就是一種連接池機(jī)制。利用共享服務(wù)器,我們不必為10,000 個(gè)數(shù)據(jù)庫(kù)會(huì)話創(chuàng)建10,000 個(gè)專用服務(wù)器(這樣進(jìn)程或線程就太多了),而只需建立很少的一部分進(jìn)程/線程,顧名思義,這些進(jìn)程/線程將由所有會(huì)話共享。這樣Oracle 就能讓更多的用戶與數(shù)據(jù)庫(kù)連接,否則很難連接更多用戶。如果讓我的機(jī)器管理10,000個(gè)進(jìn)程,這個(gè)負(fù)載肯定會(huì)把它壓垮,但是管理100 個(gè)或者1,000 個(gè)進(jìn)程還是可以的。采用共享服務(wù)器模式,共享進(jìn)程通常與數(shù)據(jù)庫(kù)一同啟動(dòng),使用ps命令可以看到這個(gè)進(jìn)程。

?????? 共享服務(wù)器連接和專用服務(wù)器連接之間有一個(gè)重大區(qū)別,與數(shù)據(jù)庫(kù)連接的客戶進(jìn)程不會(huì)與共享服務(wù)器直接通信,但專用服務(wù)器則不然,客戶進(jìn)程會(huì)與專用服務(wù)器直接通信。之所以不能與共享服務(wù)器直接對(duì)話,原因就在于這個(gè)服務(wù)器進(jìn)程是共享的。為了共享這些進(jìn)程,還需要另外一種機(jī)制,通過這種機(jī)制才能與服務(wù)器進(jìn)程“對(duì)話”。為此,Oracle 使用了一個(gè)或一組稱為調(diào)度器(dispatcher,也稱分派器)的進(jìn)程。

?????? 客戶進(jìn)程通過網(wǎng)絡(luò)與一個(gè)調(diào)度器進(jìn)程通信。這個(gè)調(diào)度器進(jìn)程將客戶的請(qǐng)求放入SGA中的請(qǐng)求隊(duì)列(這也是SGA 的用途之一)。第一個(gè)空閑的共享服務(wù)器會(huì)得到這個(gè)請(qǐng)求,并進(jìn)行處理(例如,請(qǐng)求可能是UPDATE T SETX = X+5 WHERE Y = 2)。完成這個(gè)命令后,共享服務(wù)器會(huì)把響應(yīng)放在原調(diào)度器(即接收請(qǐng)求的調(diào)度器)的響應(yīng)隊(duì)列中。調(diào)度器進(jìn)程一直在監(jiān)聽這個(gè)隊(duì)列,發(fā)現(xiàn)有結(jié)果后,就會(huì)把結(jié)果傳給客戶。從概念上講,共享服務(wù)器請(qǐng)求的流程如圖2-3 所示。

?

?

?如圖2-3 所示,客戶連接向調(diào)度器發(fā)送一個(gè)請(qǐng)求。調(diào)度器首先將這個(gè)請(qǐng)求放在SGA 中的請(qǐng)求隊(duì)列中①。第一個(gè)可用的共享服務(wù)器從請(qǐng)求隊(duì)列中取出這個(gè)請(qǐng)求②并處理。共享服務(wù)器的處理結(jié)束后,再把響應(yīng)(返回碼、數(shù)據(jù)等)放到響應(yīng)隊(duì)列中③,接下來(lái)調(diào)度器拿到這個(gè)響應(yīng)④,傳回給客戶。

?

2.2.2 共享服務(wù)器具有以下一些缺點(diǎn)

?????? 一般我們以oracle默認(rèn)的專用服務(wù)器方式就行了,沒必要使用共享服務(wù)器模式。一個(gè)是我們是使用中間件(如:weblogic)去連oracle的,中間件本身有連接池機(jī)制,另外就是oracle的這個(gè)共享服務(wù)器方式也做的不夠好了,有諸多缺點(diǎn)。

?

?????? 1)共享服務(wù)器的代碼路徑比專用服務(wù)器長(zhǎng),所以它天生就比專用服務(wù)器慢。
?????? 2)存在人為死鎖的可能,因?yàn)樗谴械?#xff0c;只要一個(gè)連接阻塞,則該服務(wù)器進(jìn)程上的所有用戶都被阻塞,并且極可能死鎖。
?????? 3)存在獨(dú)占事務(wù)的可能,因?yàn)槿绻粋€(gè)會(huì)話的事務(wù)運(yùn)行時(shí)間過長(zhǎng),它獨(dú)占共享資源,其它用戶只能等待,而專用服務(wù)器,每個(gè)客戶端是一個(gè)會(huì)話。
?????? 4)共享服務(wù)器模式限制了某些數(shù)據(jù)庫(kù)特性,例如:不能單獨(dú)啟動(dòng)和關(guān)閉實(shí)例,不能進(jìn)行介質(zhì)恢復(fù),不能使用Log Miner,并且SQL_TRACE沒有意義(因?yàn)槭枪蚕矶皇钱?dāng)前會(huì)話的)。

?

?????? MTS減少的內(nèi)存實(shí)際上是專用服務(wù)器模式下每個(gè)用戶連接到操作系統(tǒng)進(jìn)程所需的內(nèi)存,但它卻使用SGA的Large_Pool來(lái)分配UGA,拆東墻補(bǔ)西墻,所減少的內(nèi)存是很少的。如果用戶會(huì)話的連接和斷開很頻繁,數(shù)據(jù)庫(kù)進(jìn)程的創(chuàng)建和刪除的開銷會(huì)非常大,這種情況最好采用共享服務(wù)器模式(否則,應(yīng)該使用連接池技術(shù))。如果客戶端一次連接終身使用(會(huì)話生命周期內(nèi)),使用共享服務(wù)器模式的意義不大。因?yàn)榇蟛糠謺r(shí)間,一個(gè)會(huì)話就連接到一個(gè)服務(wù)器進(jìn)程,無(wú)法共享服務(wù)器進(jìn)程。

?

2.2.3 共享服務(wù)初始化參數(shù)的一些說(shuō)明

shared_servers :指定了當(dāng)instance 啟動(dòng)的時(shí)候 shared server process 啟動(dòng)的數(shù)量,不要將這個(gè)參數(shù)設(shè)置得太大,否者啟動(dòng)數(shù)據(jù)庫(kù)instance 的時(shí)候 就會(huì)花更多時(shí)間,Oracle啟動(dòng)過后會(huì)根據(jù)負(fù)載來(lái)動(dòng)態(tài)調(diào)整shared_servers。如果為0,表示數(shù)據(jù)庫(kù)沒有啟動(dòng)共享服務(wù)模式。 這個(gè)參數(shù)是配置shared server 必須的,而且只有這個(gè)參數(shù)是必須的。

?????? 修改參數(shù): ?alter system set shared_servers=1;

?

max_shared_servers:ORACLE在同一個(gè)時(shí)刻最大能夠使用的 shared server process.不要將這個(gè)參數(shù)設(shè)置小于 shared_servers,如果動(dòng)態(tài)修改shared_servers大于max_shared_servers,ORACLE會(huì)覆蓋max_shared_servers的值,此時(shí)你需要修改max_shared_servers.同時(shí)也不能大于processes。這個(gè)參數(shù)是為了給占用很大資源操作而設(shè)的(批處理),為了預(yù)留一些process 給DBA任務(wù)(rman備份),

?

shared_server_sesions:?指定了總共允許的的shared server session 的數(shù)量。如果設(shè)置了這個(gè)參數(shù),那么就不要將這個(gè)值超過sessions,如果沒有設(shè)置這個(gè)值,那么只要還有空閑的session,就可以被使用。設(shè)置這個(gè)值是為專有連接預(yù)留 user sessions.

?

dispatchers:配置 dispatcher process .如果不設(shè)置這個(gè)參數(shù),只要設(shè)置了shared_servers ,oracle 也會(huì)自動(dòng)設(shè)置一個(gè)基于tcp協(xié)議的dispatcher。還需要查看操作系統(tǒng)支持一個(gè)dispatcher能處理多少個(gè)connections

???SQL> select * from v$dispatcher;

?

max_dispatchers:?設(shè)置同一時(shí)刻能夠同時(shí)運(yùn)行的dispatchers的數(shù)量,必須大于等于 dispatchers ,小于processes。這個(gè)參數(shù)也會(huì)被dispatchers覆蓋。

?

circuits:指定了virtual circuits 的總數(shù)量。

?

2.2.4關(guān)閉共享模式

?????? 將shared_servers參數(shù)置為0,那么所有以共享方式連接到數(shù)據(jù)庫(kù)都不能成功,但是未釋放的共享連接會(huì)繼續(xù)保持連接,直到斷開。如果將shared_servers 和max_shared_servers都設(shè)為0,那么共享連接將被終結(jié)。所有的共享方式連接都斷開了的話,就可以使用alter system set dispatcher=’’; 將dispatcher清除,防止下次啟動(dòng)數(shù)據(jù)庫(kù)又打開了共享連接方式。

?

?

2.3 TCP/IP 連接的基本原理

?????? 這里將分析網(wǎng)絡(luò)上最常見的一種情形:在TCP/IP 連接上建立一個(gè)基于網(wǎng)絡(luò)的連接請(qǐng)求。在這種情況下,客戶在一臺(tái)機(jī)器上,而服務(wù)器駐留在另一臺(tái)機(jī)器上,這兩臺(tái)機(jī)器通過一個(gè)TCP/IP 網(wǎng)絡(luò)連接。客戶率先行動(dòng),使用Oracle 客戶軟件(Oracle 提供的一組應(yīng)用程序接口,或API)建立一個(gè)請(qǐng)求,力圖連接數(shù)據(jù)庫(kù)。

例如,客戶可以發(fā)出以下命令:

?

C:\Users\Administrator.DavidDai>sqlplus sys/oracle@dave2_202as sysdba;

SQL*Plus: Release 11.2.0.1.0 Production onSun Aug 21 14:36:47 2011

?

Copyright (c) 1982, 2010, Oracle.? All rights reserved.

?

Connected to:

Oracle Database 10g Enterprise EditionRelease 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Miningoptions

?

SQL>

?

?????? 這里,客戶是程序SQL*Plus,dave2_202是一個(gè)TNS 服務(wù)名。TNS 代表透明網(wǎng)絡(luò)底層(Transparent Network Substrate),這是Oracle 客戶中處理遠(yuǎn)程連接的“基礎(chǔ)”軟件,有了它才有可能建立對(duì)等通信。TNS 連接串告訴Oracle 軟件如何與遠(yuǎn)程數(shù)據(jù)庫(kù)連接。

?????? 一般地,機(jī)器上運(yùn)行的客戶軟件會(huì)讀取一個(gè)tnsnames.ora 文件。這是一個(gè)純文本的配置文件,通常放在[ORACLE_HOME]\network\admin目錄下。配置如下:

?

dave2_202 =

?(DESCRIPTION =

???(ADDRESS_LIST =

?????(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.202)(PORT = 1521))

??? )

???(CONNECT_DATA =

?????(SERVER = DEDICATED)

?????(SERVICE_NAME = dave2)

??? )

? )

?

?????? 根據(jù)這個(gè)配置信息,Oracle 客戶軟件可以把我們使用的TNS 連接串dave2_202映射到某些有用的信息,也就是主機(jī)名、該主機(jī)上“監(jiān)聽器”進(jìn)程接受(監(jiān)聽)連接的端口、該主機(jī)上所連接數(shù)據(jù)庫(kù)的服務(wù)名,等等。

?????? 服務(wù)名表示具有公共屬性、服務(wù)級(jí)閾值和優(yōu)先級(jí)的應(yīng)用組。提供服務(wù)的實(shí)例數(shù)量對(duì)應(yīng)用是透明的,每個(gè)數(shù)據(jù)庫(kù)實(shí)例可以向監(jiān)聽器注冊(cè),表示要提供多個(gè)服務(wù)。? 所以,服務(wù)就映射到物理的數(shù)據(jù)庫(kù)實(shí)例,并允許DBA 為之關(guān)聯(lián)閾值和優(yōu)先級(jí)。這個(gè)串(dave2_202)還可以用其他方式來(lái)解析。例如,可以使用Oracle Internet 目錄(Oracle Internet Directory,OID),這是一個(gè)分布式輕量級(jí)目錄訪問協(xié)議(Lightweight Directory Access Protocol,LDAP)服務(wù)器,其作用就相當(dāng)于解析主機(jī)名的DNS。不過,tnsnames.ora文件通常只適用于大多數(shù)小到中型安裝,在這些情況下,這個(gè)配置文件的副本不算太多,尚可管理。

?????? 既然客戶軟件知道要連接到哪里,它會(huì)與主機(jī)名為192.168.3.202 的服務(wù)器在端口1521 上打開一條TCP/IP socket 連接。如果服務(wù)器DBA 安裝并配置了Oracle Net,并且有一個(gè)監(jiān)聽器在端口1521上監(jiān)聽連接請(qǐng)求,就會(huì)收到這個(gè)連接。 在網(wǎng)絡(luò)環(huán)境中,我們會(huì)在服務(wù)器上運(yùn)行一個(gè)稱為TNS 監(jiān)聽器的進(jìn)程。就是這個(gè)監(jiān)聽器進(jìn)程能讓我們與數(shù)據(jù)庫(kù)物理連接。當(dāng)它收到入站連接請(qǐng)求時(shí),它會(huì)使用自己的配置文件檢查這個(gè)請(qǐng)求,可能會(huì)拒絕請(qǐng)求(例如,因?yàn)闆]有這樣的數(shù)據(jù)庫(kù),或者可能我們的IP 地址受到限制,不允許連接這個(gè)主機(jī)),也可能會(huì)接受請(qǐng)求,并真正建立連接。

?

????? 如果建立一條專用服務(wù)器連接,監(jiān)聽器進(jìn)程就會(huì)為我們創(chuàng)建一個(gè)專用服務(wù)器。在UNIX上,這是通過fork()和exec()系統(tǒng)調(diào)用做到的(在UNIX 中,要在初始化之后創(chuàng)建新進(jìn)程,惟一的辦法就是通過fork())。????? 這個(gè)新的專用服務(wù)器進(jìn)程繼承了監(jiān)聽器建立的連接,現(xiàn)在就與數(shù)據(jù)庫(kù)物理地連接上了。

?????? 在Windows 上,監(jiān)聽器進(jìn)程請(qǐng)求數(shù)據(jù)庫(kù)進(jìn)程為連接創(chuàng)建一個(gè)新線程。一旦創(chuàng)建了這個(gè)線程,客戶就會(huì)“重定向”到該線程,相應(yīng)地就能建立物理連接。圖2-4 顯示了UNIX 上的監(jiān)聽器進(jìn)程和專用服務(wù)器連接。

?

?

另一方面,如果我們發(fā)出共享服務(wù)器連接請(qǐng)求,監(jiān)聽器的表現(xiàn)則會(huì)有所不同。監(jiān)聽器進(jìn)程知道實(shí)例中運(yùn)行了哪些調(diào)度器。接收到連接請(qǐng)求后,監(jiān)聽器會(huì)從可用的調(diào)度器池中選擇一個(gè)調(diào)度器進(jìn)程。監(jiān)聽器會(huì)向客戶返回連接信息,其中說(shuō)明了客戶如何與調(diào)度器進(jìn)程連接;如果可能的話,還可以把連接“轉(zhuǎn)發(fā)”給調(diào)度器進(jìn)程(這依賴于不同的操作系統(tǒng)和數(shù)據(jù)庫(kù)版本,不過實(shí)際效果是一樣的)。

?????? 監(jiān)聽器發(fā)回連接信息后,它的工作就結(jié)束了,因?yàn)楸O(jiān)聽器一直在特定主機(jī)的特定端口上運(yùn)行(主機(jī)名和端口號(hào)大家都知道),而調(diào)度器會(huì)在服務(wù)器上隨意指派的端口上接受連接。監(jiān)聽器要知道調(diào)度器指定的這些隨機(jī)端口號(hào),并為我們選

擇一個(gè)調(diào)度器。客戶再與監(jiān)聽器斷開連接,并與調(diào)度器直接連接。現(xiàn)在就與數(shù)據(jù)庫(kù)有了一個(gè)物理連接。這個(gè)過程如圖2-5 所示。

?

?

?

?

?

?

?

?

三. 判斷oracle是共享模式還是專用模式的方法

3.1. showparameter shared_server;

?(注:8i應(yīng)為:showparameter mts_servers;)
SQL> show parameter shared_server;

NAME?????????????????? ?TYPE???????VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers?????????? integer???? 20
shared_server_sessions????????integer???? 330
shared_servers???????????????integer???? 1

?

3.2 查看v$session 視圖

SQL> Select username,server,program fromv$session where username is not null;

?

USERNAME????????? SERVER??? PROGRAM

------------------------------ ------------------------------------------------

?

SYS????????????????? DEDICATED rman.exe

RMAN?????????????? ?DEDICATED rman.exe

SYS????????????????? DEDICATED rman.exe

SYS????????????????? DEDICATED sqlplus.exe

SYS????????????????? DEDICATED rman.exe

DAVE??????????????? DEDICATED toad.exe

SYS????????????????? DEDICATED toad.exe

?

3.3 查看監(jiān)聽: lsnrctl service

C:\Users\Administrator.DavidDai>lsnrctlservice

LSNRCTL for 32-bit Windows: Version11.2.0.1.0 - Production on 26-6月 -2010 11:7:40 Copyright (c) 1991, 2010, Oracle.? All rights reserved.

正在連接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

服務(wù)摘要..

服務(wù)"orcl" 包含 1 個(gè)實(shí)例。

? 實(shí)例 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...

??? 處理程序:

???? ?"DEDICATED" 已建立:34 已拒絕:0 狀態(tài):ready

????????LOCAL SERVER

服務(wù)"orclXDB" 包含 1 個(gè)實(shí)例。

? 實(shí)例 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...

??? 處理程序:

?????"D000" 已建立:0 已被拒絕:0 當(dāng)前: 0 最大: 1022 狀態(tài): ready

????????DISPATCHER <machine: DAVIDDAI, pid:10884>

????????(ADDRESS=(PROTOCOL=tcp)(HOST=DavidDai)(PORT=58400))

命令執(zhí)行成功

?

3.4.查看TNSNAMES.ora 文件。如:

ORCL =

?(DESCRIPTION =

???(ADDRESS_LIST =

?????(ADDRESS = (PROTOCOL = TCP)(HOST = DavidDai)(PORT = 1521))

??? )

???(CONNECT_DATA =

??? ??(SERVER = DEDICATED)

?????(SERVICE_NAME = orcl)

??? )

? )

?

?????? 這里是以DEDICATED 專用模式連接 orcl 實(shí)例。寫上 (SERVER = SHARED) 則是使用共享服務(wù)器模式,但是這時(shí)shared_server_process需要打開,要不然會(huì)出錯(cuò)連不上oracle。要是這段放空沒寫,那么系統(tǒng)會(huì)根據(jù)服務(wù)器模式自動(dòng)調(diào)節(jié),不過根據(jù)實(shí)測(cè)結(jié)果,就算服務(wù)器是定義成共享服務(wù)器模式,shared_server_process沒打開的情況下,在v$session中查到的連接依然是SERVER = DEDICATED。

?????? 所以基本上我們這段話我們都是可以放空著不寫的,但是有時(shí)候要連上我們的共享服務(wù)器模式的數(shù)據(jù)庫(kù),放空有可能系統(tǒng)認(rèn)為要用共享服務(wù)器方式去連,那時(shí)就要聲明 SERVER = DEDICATED采用專用服務(wù)器方式去連接。

?????? 在數(shù)據(jù)庫(kù)啟動(dòng)的時(shí)候,如果沒有指定shared_servers,但是設(shè)置了dispatchers,那么ORACLE就認(rèn)為啟動(dòng)了shared server ,并且設(shè)置shared_servers為1. 在數(shù)據(jù)庫(kù)啟動(dòng)的時(shí)候,沒有設(shè)置shared_servers,沒有設(shè)置dispatchers,即使以后修改了dispatchers,也不能啟動(dòng)shared server,必須從新啟動(dòng)數(shù)據(jù)庫(kù)。


?????? 另外,Background process ,以及通過本地連接進(jìn)來(lái)的,只能是DEDICATED .比如說(shuō)sqlplus user/pass形式。如果數(shù)據(jù)庫(kù)沒有配置共享服務(wù)器,那么客戶端只能以DEDICATED方式連接數(shù)據(jù)庫(kù).

轉(zhuǎn)載地址:http://blog.csdn.net/tianlesoftware/article/details/5695784

轉(zhuǎn)載于:https://www.cnblogs.com/uniqueness/archive/2013/04/21/3034430.html

總結(jié)

以上是生活随笔為你收集整理的【网摘】Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。