官术网_书友最值得收藏!

3.4 Oracle數(shù)據(jù)庫(kù)服務(wù)器支持的兩種連接方式

Oracle提供了兩種數(shù)據(jù)庫(kù)連接方式,一種是專有連接方式,另一種是共享連接方式,二者的區(qū)別在于對(duì)服務(wù)器進(jìn)程的擁有模式,專有連接方式是一個(gè)用戶連接對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)服務(wù)器進(jìn)程,而共享連接方式中多個(gè)用戶可以使用一個(gè)數(shù)據(jù)庫(kù)服務(wù)器(嚴(yán)格意義上講是分時(shí)復(fù)用),使用共享服務(wù)器模式對(duì)于事務(wù)執(zhí)行時(shí)間短且服務(wù)器資源受限的系統(tǒng)是有利的,但是對(duì)于Oracle依然推薦使用專有連接方式,這種方式會(huì)耗費(fèi)內(nèi)存資源(PGA),但是一個(gè)連接對(duì)應(yīng)一個(gè)服務(wù)器進(jìn)程專有服務(wù),減少競(jìng)爭(zhēng),對(duì)于長(zhǎng)事務(wù)尤其有用。

3.4.1 服務(wù)器進(jìn)程

Oracle提供了兩種網(wǎng)絡(luò)連接方式,一種是專有連接,另一種是共享連接,針對(duì)這兩種連接方式Oracle對(duì)應(yīng)兩種數(shù)據(jù)庫(kù)服務(wù)器:專有服務(wù)器和共享服務(wù)器。無(wú)論是哪種連接方式,都需要服務(wù)器進(jìn)程的參與,服務(wù)器進(jìn)程是代表客戶完成數(shù)據(jù)庫(kù)訪問(wèn)工作的進(jìn)程,客戶端的SQL語(yǔ)句都是通過(guò)這些服務(wù)器進(jìn)程來(lái)接收并執(zhí)行的。

● 專有服務(wù)器:采用專有服務(wù)器時(shí),數(shù)據(jù)庫(kù)服務(wù)器會(huì)針對(duì)每一個(gè)連接產(chǎn)生一個(gè)服務(wù)器進(jìn)程,這個(gè)進(jìn)程就是專屬這個(gè)連接的。數(shù)據(jù)庫(kù)連接與服務(wù)器上的一個(gè)進(jìn)程或線程之間是一一對(duì)應(yīng)的關(guān)系。

● 共享服務(wù)器:采用共享服務(wù)器時(shí),數(shù)據(jù)庫(kù)服務(wù)器的一個(gè)服務(wù)器進(jìn)程服務(wù)于多個(gè)會(huì)話,即使用服務(wù)器進(jìn)程池(有多個(gè)服務(wù)器進(jìn)程)為多個(gè)會(huì)話服務(wù),在建立連接時(shí),客戶端會(huì)首先連接到調(diào)度器,由調(diào)度器協(xié)調(diào)數(shù)據(jù)庫(kù)服務(wù)器的資源。

3.4.2 共享連接

在共享服務(wù)器模式下,用戶進(jìn)程與服務(wù)器進(jìn)程是多對(duì)多的關(guān)系,多個(gè)服務(wù)器進(jìn)程會(huì)處理多個(gè)用戶進(jìn)程。在使用共享服務(wù)器連接時(shí),必須使用Oracle Net協(xié)議軟件,如果不使用Oracle 監(jiān)聽器,則無(wú)法使用共享服務(wù)器。

整個(gè)共享連接的過(guò)程是客戶發(fā)起連接,監(jiān)聽器處理連接并將連接重定向或者轉(zhuǎn)交給一個(gè)調(diào)度器,調(diào)度器再協(xié)調(diào)共享服務(wù)器資源,如圖3-1所示。

圖3-1 共享服務(wù)器連接示意圖

在上圖中,多個(gè)客戶端通過(guò)網(wǎng)絡(luò)發(fā)起連接,目標(biāo)是連接到Oracle數(shù)據(jù)庫(kù),此時(shí)客戶應(yīng)用程序會(huì)與一個(gè)調(diào)度器DISPATCHER建立物理連接。調(diào)度器可以配置多個(gè),也可以只配置一個(gè),因?yàn)檎{(diào)度器的任務(wù)不是很重,它負(fù)責(zé)接受客戶請(qǐng)求,并將客戶請(qǐng)求放入SGA的請(qǐng)求隊(duì)列,然后調(diào)度器會(huì)不斷地監(jiān)視響應(yīng)隊(duì)列,一旦查詢結(jié)果返回則把結(jié)果傳給用戶。

共享服務(wù)器進(jìn)程一旦空閑,則從請(qǐng)求隊(duì)列獲取用戶請(qǐng)求,處理這個(gè)請(qǐng)求,將數(shù)據(jù)放回響應(yīng)隊(duì)列。而對(duì)于客戶而言,這些操作都是透明的,無(wú)論使用專有服務(wù)器連接還是共享服務(wù)器連接,其實(shí)對(duì)于客戶而言感受不到不同服務(wù)器架構(gòu)的存在,只是在特定的數(shù)據(jù)庫(kù)應(yīng)用環(huán)境下,需要考慮專有服務(wù)器連接和共享服務(wù)器連接的優(yōu)劣,選擇合適的網(wǎng)絡(luò)連接方式。

3.4.3 共享連接涉及初始化參數(shù)

共享服務(wù)器中涉及很多參數(shù)如調(diào)度器、共享服務(wù)器、會(huì)話等,本節(jié)我們討論這些參數(shù)的作用以及含義。

● 調(diào)度器(DISPATCHERS):負(fù)責(zé)將用戶請(qǐng)求傳遞放入SGA,并負(fù)責(zé)監(jiān)控SGA中的響應(yīng)隊(duì)列,如果有返回?cái)?shù)據(jù)則將數(shù)據(jù)返回給用戶。

● 共享服務(wù)器進(jìn)程(Shared_servers):該參數(shù)設(shè)置共亨服務(wù)器進(jìn)程的數(shù)量。

● 最大共享服務(wù)器進(jìn)程(Max_shared_servers):該參數(shù)設(shè)置數(shù)據(jù)庫(kù)服務(wù)器支持的最多的服務(wù)器進(jìn)程數(shù)量。

● 共享服務(wù)器會(huì)話數(shù)(shared_server_sessions):該參數(shù)設(shè)置當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器在共享模式下的最大會(huì)話數(shù)。而專用會(huì)話數(shù)=sessions-共享會(huì)話數(shù)。

3.4.4 共享連接的工作過(guò)程

共享連接模式下,需要配置多個(gè)名為dispatcher的組件,dispatcher作為用戶進(jìn)程和服務(wù)器進(jìn)程之間的協(xié)調(diào)者,負(fù)責(zé)將用戶進(jìn)程的請(qǐng)求傳遞給服務(wù)器進(jìn)程,并將服務(wù)器進(jìn)程得到的結(jié)果返回給用戶。

PMON定期將每個(gè)dispatcher的地址,以及工作負(fù)載注冊(cè)到監(jiān)聽器里面,當(dāng)用戶進(jìn)程連接監(jiān)聽器時(shí),監(jiān)聽器會(huì)選擇一個(gè)負(fù)載最低的dispatcher,并把該dispatcher的地址返回給用戶進(jìn)程,用戶進(jìn)程和dispatcher進(jìn)程建立連接,在session的整個(gè)生命期間,用戶進(jìn)程所連接的dispatcher不會(huì)發(fā)生改變。

整個(gè)連接如圖3-2所示。

圖3-2 共享連接流程圖

01 用戶進(jìn)程連接到監(jiān)聽器。

02 監(jiān)聽器根據(jù)注冊(cè)的各個(gè)dispatcher的負(fù)載情況,選擇一個(gè)負(fù)載最低的dispatcher,并將其地址返回給用戶進(jìn)程。

03 用戶進(jìn)程根據(jù)監(jiān)聽器返回的dispatcher地址,連接到該dispatcher。

04 dispatcher接收到用戶進(jìn)程發(fā)出的請(qǐng)求以后,會(huì)將該請(qǐng)求放入請(qǐng)求隊(duì)列,請(qǐng)求隊(duì)列位于SGA中,被所有的dispatcher共有。

05 在服務(wù)器進(jìn)程中,最空閑的服務(wù)器進(jìn)程會(huì)從請(qǐng)求隊(duì)列中按照先進(jìn)先出的原則,挑選一個(gè)請(qǐng)求進(jìn)行處理。

06 服務(wù)器進(jìn)程處理請(qǐng)求后,得到的結(jié)果放入響應(yīng)隊(duì)列,Oracle為每個(gè)dispatcher分配一個(gè)對(duì)應(yīng)的響應(yīng)隊(duì)列。

07 dispatcher到相應(yīng)的隊(duì)列中取出結(jié)果,返回給用戶進(jìn)程。

共享連接中,多個(gè)服務(wù)器進(jìn)程會(huì)處理多個(gè)用戶請(qǐng)求,用戶的PGA就需要在不同的服務(wù)器進(jìn)程之間共享,PGA中的UGA部分就會(huì)被放入到SGA中,如果配置了large pool,則UGA會(huì)在large pool里分配,沒有配置large pool,那么UGA就放在shared pool里面分配。

3.4.5 共享連接的配置

共享連接設(shè)計(jì)的組件有DISPATCHERS、shared_servers、max_shared_servers、shared_server_sessions。

1.配置DISPATCHER進(jìn)程的數(shù)量

DISPATCHERS初始化參數(shù)是用來(lái)配置DISPATCHERS進(jìn)程信息的,如連接使用協(xié)議、DISPATCHERS進(jìn)程數(shù)量、使用端口等。下面是典型的DISPATCHERS配置例子。

例子3-24 配置DISPATCHERS

    SQL> alter system set dispatchers='(protocol=tcp)(dispatchers=3)';
    
    System altered.

對(duì)于DISPATCHERS進(jìn)程有三類屬性設(shè)置需要考慮(有的是可選的)。

(1)協(xié)議地址,該屬性有三個(gè)參數(shù)設(shè)置。

● ADDRESS:DISPATCHERS監(jiān)聽所在網(wǎng)絡(luò)地址。

● DESCRIPTION:DISPATCHERS監(jiān)聽所在網(wǎng)絡(luò)地址描述,包括網(wǎng)絡(luò)協(xié)議地址。

● PROTOCOL:指明DISPATCHERS使用的網(wǎng)絡(luò)協(xié)議。

(2)指定DISPATCHERS的數(shù)量。使用DISPATCHERS參數(shù)。

在設(shè)置DISPATCHERS進(jìn)程信息時(shí),也可以指定在哪個(gè)地址上創(chuàng)建監(jiān)聽,如下所示。

    DISPATCHERS=’(ADDRESS=(PROTOCOL=TCP)(HOST=144.25.16.201))(DISPATCHERS=2)’

在設(shè)置該參數(shù)時(shí),需要考慮max_dispatchers參數(shù),這個(gè)參數(shù)限制了DISPATCHERS的最大數(shù)量。如下例所示,我們限制這個(gè)最大數(shù)值為5。

例子3-25 設(shè)置參數(shù)最大值

    SQL> alter system set max_dispatchers=5;
    
    System altered.

2.共享服務(wù)器進(jìn)程的數(shù)量

參數(shù)shared_servers設(shè)置當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器啟動(dòng)的共享服務(wù)器數(shù)量,而參數(shù)max_shared_servers設(shè)置當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器支持的最大共享服務(wù)器數(shù)量。下面我們修改這個(gè)兩個(gè)值。

例子3-26 修改參數(shù)

    SQL> alter system set shared_servers=5;
    
    System altered.
    
    SQL> alter system set max_shared_servers=20;
    
    System altered.
    
    Shared_servers ,max_shared_servers。

我們?cè)O(shè)置當(dāng)前共享數(shù)據(jù)庫(kù)服務(wù)器進(jìn)程數(shù)量為5,而最大共享服務(wù)器數(shù)量為20;

服務(wù)器進(jìn)程動(dòng)態(tài)調(diào)整,首先是分配默認(rèn)的數(shù)量,根據(jù)負(fù)載適當(dāng)?shù)卦黾樱?dāng)負(fù)載下降的時(shí)候,適當(dāng)減少服務(wù)器進(jìn)程的數(shù)量。但是增加和減少的數(shù)量控制在上面的兩個(gè)參數(shù)之間。

3.配置共享會(huì)話數(shù)

我們需要設(shè)置Oracle分配給共享會(huì)話的連接數(shù)量,設(shè)置shared_server_sessions參數(shù),該參數(shù)的設(shè)置與SESSIONS參數(shù)有關(guān),SESSIONS參數(shù)指定了數(shù)據(jù)庫(kù)最大的會(huì)話數(shù),那么共享會(huì)話就不能超過(guò)SESSIONS參數(shù)指定的值,而“專有連接數(shù)量=SESSIOS-共享連接數(shù)”。

例子3-27 設(shè)置數(shù)據(jù)庫(kù)的共享會(huì)話數(shù)為100

    SQL> alter system set shared_servers_sessions=100;
    
    System altered.

例子3-28 查看當(dāng)前的最大會(huì)話數(shù)是多少

    SQL> show parameter sessions;
    
    NAME                                 TYPE                 VALUE
    ------------------------------------ ------------------------------------------ ------------------------------
    java_max_sessionspace_size          integer             0
    java_soft_sessionspace_limit       integer              0
    license_max_sessions                integer             0
    license_sessions_warning            integer             0
    logmnr_max_persistent_sessions     integer              1
    sessions                               integer          225
    shared_server_sessions              integer             100;
        
    System altered.

此時(shí)顯示當(dāng)前的最大會(huì)話數(shù)是225,那么專有連接數(shù)就是125。

那么如何設(shè)置SESSIONS呢,該參數(shù)又與參數(shù)PROCESSES優(yōu)化,默認(rèn)情況下按照如下的計(jì)算方式計(jì)算。

    SESSIONS=(1.1*PROCESSES)+5

如果設(shè)置的SESSIONS值大于按照上述公式計(jì)算的值,則取前者,即取二者中的較大值;如果設(shè)置的SESSIONS值小于按照上述公式計(jì)算的值則取后者,同樣取二者中的大值,比如下例。

例子3-29 查看當(dāng)前的PROCESSES的值

    SQL> show parameter processes;
    
    NAME                                 TYPE            VALUE
    ------------------------------------ -------------------------------- ------------------------------
    aq_tm_processes                    integer        0
    db_writer_processes               integer         1
    gcs_server_processes              integer         0
    job_queue_processes               integer         10
    log_archive_max_processes        integer          2
    processes                           integer       200

當(dāng)前process的值為200,我們按照公式sessions=1.1*200+5=225進(jìn)行計(jì)算,發(fā)現(xiàn)同我們查詢的結(jié)果是一致的。

4.修改tnsnames.ora文件

tnsnames.ora文件具體修改過(guò)程,如下例所示。

例子3-30 修改tnsnames.ora文件

    PROD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ocm1.oracle)(PORT = 1522))
        )
        (CONNECT_DATA =
          (SERVER = SHARED)
          (SERVICE_NAME = PROD)
        )
      )

此時(shí),可以使用本地連接方式,將數(shù)據(jù)庫(kù)的動(dòng)態(tài)注冊(cè)到監(jiān)聽器LISTENER1。我們需要啟動(dòng)LISTENER1,然后查看該監(jiān)聽支持的服務(wù),如下例所示。

例子3-31 查看監(jiān)聽支持的服務(wù)

    [Oracle@ocm1 admin]$ lsnrctl service listener1
    
    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-OCT-2011 21:59:21
    
    Copyright (c) 1991, 2005, Oracle.  All rights reserved.
    
    Connecting to 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ocm1.oracle)(PORT=1522)))
    Services Summary...
    Service "PROD" has 1 instance(s).
      Instance "PROD", status READY, has 4 handler(s) for this service...
        Handler(s):
          "D002" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11868>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32873))
          "D001" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11866>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32867))
          "D000" established:1 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11864>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32872))
          "DEDICATED" established:0 refused:0 state:ready
             LOCAL SERVER
    Service "PROD_XPT" has 1 instance(s).
      Instance "PROD", status READY, has 4 handler(s) for this service...
        Handler(s):
          "D002" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11868>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32873))
          "D001" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11866>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32867))
          "D000" established:1 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11864>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32872))
          "DEDICATED" established:0 refused:0 state:ready
             LOCAL SERVER
    The command completed successfully

可見,啟動(dòng)了三個(gè)DISPATCHERS,但是沒有一個(gè)連接建立。下面我們產(chǎn)生一個(gè)連接和一個(gè)會(huì)話,看此時(shí)的DISPATCHERS信息。

例子3-32 產(chǎn)生一個(gè)連接和一個(gè)會(huì)話

    [Oracle@ocm1 admin]$ sqlplus sys/Oracle@prod as sysdba
    
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Oct 26 22:00:46 2011
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining options
    
    SQL>

此時(shí),通過(guò)本地連接方式連接到數(shù)據(jù)庫(kù)服務(wù)器,使用的是共享連接。接下來(lái)繼續(xù)查看監(jiān)聽器LISTENER1的服務(wù)信息。

例子3-33 繼續(xù)查看監(jiān)聽器的服務(wù)信息

    [Oracle@ocm1 admin]$ lsnrctl service listener1;
    
    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-OCT-2011 22:02:10
    
    Copyright (c) 1991, 2005, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ocm1.oracle)(PORT=1522)))
    Services Summary...
    Service "PROD" has 1 instance(s).
      Instance "PROD", status READY, has 4 handler(s) for this service...
        Handler(s):
          "D002" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11868>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32873))
          "D001" established:1 refused:0 current:1 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11866>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32867))
          "D000" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11864>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32872))
          "DEDICATED" established:0 refused:0 state:ready
             LOCAL SERVER
    Service "PROD_XPT" has 1 instance(s).
      Instance "PROD", status READY, has 4 handler(s) for this service...
        Handler(s):
          "D002" established:0 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11868>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32873))
          "D001" established:1 refused:0 current:1 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11866>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32867))
          "D000" established:1 refused:0 current:0 max:1022 state:ready
             DISPATCHER <machine: ocm1.oracle, pid: 11864>
             (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.oracle)(PORT=32872))
          "DEDICATED" established:0 refused:0 state:ready
             LOCAL SERVER
    The command completed successfully

上例黑體部分就是使用該DISPATCHERS建立的共享連接。

3.4.6 共享連接的一些問(wèn)題

1.有些操作不能使用共享連接

● 啟動(dòng)關(guān)閉數(shù)據(jù)庫(kù)實(shí)例。

● 創(chuàng)建表空間和數(shù)據(jù)文件。

● 維護(hù)表和索引等數(shù)據(jù)庫(kù)的管理工作。

2.有些操作不適合共享服務(wù)器連接

共享服務(wù)器適合單純的OLTP,對(duì)于需要掃描大量數(shù)據(jù)、運(yùn)行時(shí)間較長(zhǎng)的操作,不適合采用共享連接,例如備份恢復(fù)。

3.4.7 專有連接

在專有服務(wù)器模式下,客戶連接與數(shù)據(jù)庫(kù)服務(wù)進(jìn)程之間是一對(duì)一的關(guān)系,一個(gè)客戶連接對(duì)應(yīng)一個(gè)服務(wù)器進(jìn)程。

專有連接中,用戶進(jìn)程沒有發(fā)出命令,服務(wù)器進(jìn)程處于空閑狀態(tài),資源一直占用,共享模式中,只要是服務(wù)器進(jìn)程空閑,就可以處理其他用戶發(fā)出的命令,因此服務(wù)器進(jìn)程的數(shù)量減少,對(duì)資源的利用更加高效,占用的PGA減少,可以支持更多的用戶。這是共享服務(wù)器的優(yōu)勢(shì),相反就是專有服務(wù)器的劣勢(shì)了。

專有連接其實(shí)就是一個(gè)典型的客戶-服務(wù)器2層架構(gòu)。在應(yīng)用程序中,客戶應(yīng)用程序通過(guò)API連接到數(shù)據(jù)庫(kù),而這些API知道如何將SQL查詢傳遞給數(shù)據(jù)庫(kù),并處理返回的數(shù)據(jù)。這些API知道如何將數(shù)據(jù)庫(kù)請(qǐng)求打包為網(wǎng)絡(luò)調(diào)用,而專有服務(wù)器進(jìn)程則知道如何解包這些網(wǎng)絡(luò)應(yīng)用。整個(gè)過(guò)程由一個(gè)被稱為網(wǎng)絡(luò)協(xié)議的軟件或Oracle Net來(lái)支持。

圖3-3是典型的專有服務(wù)器連接示意圖。

圖3-3 專有服務(wù)器連接示意圖

在使用本地命名連接數(shù)據(jù)庫(kù)時(shí),默認(rèn)使用專有連接,也可以顯示設(shè)置的專有連接參數(shù),如下例所示為TNSNAMES.ORA文件的內(nèi)容。

例子3-34 TNSNAMES.ORA文件的內(nèi)容

    PROD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ocm1.oracle)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)       //DEDICATED說(shuō)明是專有連接
          (SERVICE_NAME = PROD)
        )
      )

我們查看這個(gè)專有連接建立后,監(jiān)聽器記錄的信息。

例子3-35 查看專有連接建立后,監(jiān)聽器記錄的信息

    [Oracle@ocm1 admin]$ lsnrctl service listener;
    
    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 26-OCT-2011 22:12:08
    
    Copyright (c) 1991, 2005, Oracle.  All rights reserved.
    
    Connecting to 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ocm1.oracle)(PORT=1521)))
    Services Summary...
    Service "EMREP" has 1 instance(s).
      Instance "EMREP", status UNKNOWN, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0
             LOCAL SERVER
    Service "PROD" has 1 instance(s).
      Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...//說(shuō)明是靜態(tài)注冊(cè)
        Handler(s):
          "DEDICATED" established:1 refused:0   //建立一個(gè)專有連接
             LOCAL SERVER
    The command completed successfully
主站蜘蛛池模板: 万安县| 平湖市| 普定县| 酒泉市| 洛隆县| 五家渠市| 大足县| 宜昌市| 仙游县| 揭西县| 扎赉特旗| 灵寿县| 佛山市| 安西县| 克什克腾旗| 八宿县| 青河县| 林西县| 平江县| 民丰县| 兴和县| 晋江市| 禹州市| 黑龙江省| 灌阳县| 石河子市| 保定市| 嘉义县| 遵义县| 垫江县| 当阳市| 永修县| 利辛县| 姜堰市| 耿马| 伊川县| 南皮县| 潼关县| 关岭| 鹿邑县| 通化县|