OCIConnectionPool vs MTS(shared server)

What are the pro's and cons for using OCI connection pooling in the middle tier as opposed to Multi-threaded servers connection pooling on the database tier? Any thoughts or experiences would be appreciated.

What are the pro's and cons for using OCI connection pooling in the middle tier as opposed to Multi-threaded servers connection pooling on the database tier? Any thoughts or experiences would be appreciated. OCI connection pool allows you to manage your connections and sessions programmatically, including provide QoS if required to certain session.
MTS just forces a large number of connections to use a set of server processes. User has no control on the priority of a request, and is dependent on the scheduling in MTS and the server.
If there is sophisticated midtier that knows how to schedule its request, OCI connection pooling is more scaleable and performant solution.

Similar Messages

  • MTS (shared server) problem

    Hi,
    when i use MTS (shared server) architecture, after a while,
    i see 1500 sessions in v$session, but, about 4000 oracle processes in the operating system which hits the os user max process limit and get the following error.
    how can that be? 1500 sessions in v$session, and, 4000 oracle processes in OS.
    i can not reproduce the same case since this is production.
    in test, i tried to reproduce the case but even though, i create mts sessions once in a second, after 1 hour, no problem.
    shared_server=10
    max_shared_server=50
    max_dispatchers=2 (each with 250 connections)
    thanks,
    ORA-27300: OS system dependent operation:fork failed with status: 11
    ORA-27301: OS failure message: Resource temporarily unavailable
    ORA-27302: failure occurred at: skgpspawn3

    Afew things to check, firstly are the connections actually using shared server? check ther server column in v$session session may show as dedicated in which case th eocnnection is requesting a dedicated server and is ignoring the shared server configuration.
    next check v$process have you got 4000 processes listed there? if so you can connect them back to the sessions e.g.
    select vs.sid,vs.serial#,vs.username,vp.SPID,vp.PROGRAM
    from v$session vs,
    v$process vp
    where vs.PADDR=vp.ADDR

  • Is my db using MTS or shared server?

    hi guys,
    (Oracle 9i)
    I read that to specify a database as MTS, you have to set the DISPATCHERS parameter. I do not have this set, yet, I can see values for mts_dispatchers? Why is this?
    SQL> show parameters DISPAT
    NAME TYPE VALUE
    dispatchers string
    max_dispatchers integer 5
    mts_dispatchers string
    mts_max_dispatchers integer 5
    Can I be sure that my DB is in dedicated server mode, as dispatchers is not set?
    thanks

    Hi OracleGuy777,
    In general, OLTP-type applications can be suitable for MTS, while batch, data warehouse, and decision support applications are usually not appropriate for MTS.
    Conclusion: If a system is CPU-bound and that system has enough RAM to fit all of its processes into physical memory, then MTS should probably not be used on that system. (Please see links and notes bellow)
    You can see the number of MTS sessions using:
    SELECT COUNT (*)
    FROM   v$session
    WHERE  server != 'DEDICATED';To see the number of Dedicated ones, just change != for = in the WHERE clause.
    Tom Kyte notes that the MTS should not be used without a "real reason" and he notes that shared server connections are slower than with dedicated database connections (Oracle's default behavior):
    - http://asktom.oracle.com/pls/ask/f?p=4950:...D:5269794407347
    +"Unless you have a real reason to use MTS -- don't."+
    +"a shared server connection is by design "slower" than a dedicated server (more stuff goes on, more complex) it is most likely only getting in the way."+
    +"In the golden age of client server way back when -- you might have 100 users connected to the database from 9-5, but at any point in time, only 5 or 6 of them were actually ACTIVE. In this case, 5 or 6 shared servers would be perfect."+
    +"if you were cpu starved and context switching like mad -- the dedicated server connection could be running at a slow speed itself, slower than the extra work that shared server would impose. therefore, lightening up the load on the server could be beneficial...."+
    Also take a look here: http://www.dba-oracle.com/t_mts_multithreaded_servers_shared.htm
    If you decide to try it, here are the steps:
    - http://download.oracle.com/docs/cd/B10500_01/network.920/a96580/mts.htm#447168
    Cheers,
    Francisco Munoz Alvarez
    http://www.oraclenz.com

  • Port use in Shared Server (MTS)

    Hi,
    Before I start; let me state it clear: If I had a choice to refuse shared server, then I would. But I am under pressure of management and other limitations. Therefore I have no option but to use shared server.
    The current situation is: We use dedicated connections and plan to convert it to shared servers. There is a firewall between application server and database. This firewall only allows to some predetermined ports (such as 1521). We want to learn if we will be affected by firewall if we use shared server structure. When we use "lsnrctl services" we see that dispatcher ports are assigned automatically. (And these port numbers are between 40.000 and 50.000)
    I want to be sure about how listener works. As we think, there can be two scenarios:
    1. When a user connects to database, it only works with listener. Listener is the bridge between user and client. Therefore dynamically assigned port number to dispatcher is not important. And firewall will not be an issue. Because user can access listener and listener is the servant between dispatcher and client. (So no change is needed for firewall.)
    2. Dispatcher's port is very important. Because after user is connected to the listener, user is assigned to a dispatcher and user is connected to database through that dispatcher's port. (Therefore we have to make changes in firewall.)
    Which scenario is true? Do we have to change our firewall configuration?
    Thanks for the all support...
    Cagatay
    BTW, I know it is possible to assign static port numbers to dispatchers. But if it is possible to use shared server without changing dispatcher settings, we would prefer this. (Without changing dynamic port behave of dispatcher.)

    Yes,
    The basic architecture.
    The listener is a broker only. There are no permanent connections between clients and the listener.
    The listener spawns a thread (the dedicated server process), this thread uses a different port.
    This is called 'port redirection'.
    A dispatcher can handle about 35 connections.
    You can fix the port of a dispatcher. but as soon as the number of clients increases, you will be forced to open additional ports.
    Your best bet is to set up Connection Manager to handle traffic between client and server, doing so you only need two ports.
    The server communicates with Connection Manager.
    Connection Manager is not installed by default.
    Sybrand Bakker
    Senior Oracle DBA

  • In FORMS 10G found dead shared server 'S000', pid = (10, 9)

    during a test phase that we are doing before convert to FORMS 10G sometime the form crash (random) and in the same moment we foun the follow message in the log :
    found dead shared server 'S000', pid = (10, 9)
    DO YOU SOMEThING ???

    what is MTS ??
    we have doa standard installation with forms and report as application server and oracle 9i as db.
    we leve the standard configuration for the db.
    I don't Know what is MTS?

  • SAP db upgrade to Oracle 10G 64 bit - Dedicated or Shared Server ?

    We current run 32bit servers ( approx 150 users ) and plan to migrate to ECC 6.0 on 64bit bit server. Question about upgrade <br>from Oracle 9.2.0.8 32bit to 10.2.0.4 64 bit . Database upgrade Oracle 64 bit should be Dedicated or Shared Server? <br><br>
    My understanding ( limited), is Oracle 64bit dedicated server connection has the dedicated resource so whether or not a user is<br> doing work the connection remains allocated to that user. So for example, in our case a small Windows "shop" will needs <br>around 2MB of kernel space. So 150 threads, for 150 dedicated server connections, approx 150 x 2MB RAM.  Correct ? <br><br>
    Whereas Shared server the user connection is shared, that is user is connecting by dispatchers and when a user is idle his <br>resource can be used by other users, thus lessen the load on system. So in this case maybe 5 dispatcher processes and <br>30 shared server processes to service the 150 sessions of the 150 users which seems very effective to me . <br>My main concern however is with some of the Finance people who get problems with huge COPA and SIS reports now which is <br>why we are moving to 64bit OS/DB/SAP<br><br>
    Question is which does SAP ECC 6.0 support ( or recommend ) Oracle 64 bit Dedicated or Shared Server db migration ?

    > Question is which does SAP ECC 6.0 support ( or recommend ) Oracle 64 bit Dedicated or Shared Server db migration ?
    Never heard that anyone uses shared Server Setup with SAP.
    With SAP, it is NOT the user having a DB connection.
    It is the workprocess, and it is keeping it even if all users are idle.
    You allways have dedicated Oracle processes for SAP Workprocesses.
    The rather old note 70197 states, that Oracle MTS (multi threaded server)
    allowed, but you are on your own to configure it and there are some pitfalls.
    Volker

  • Question about Oracle Shared Server Performance

    Is it true that the performance of the Oracle Shared Server on Windows plataformns, like 2003 server is poor. ?
    And so that, I cant see any advantages to change its configuraton, on a 200 users configuration, where I can have at most 2.000 session.
    Tks for help and some tips if you guys have them.
    Fernando

    Hi Fernando,
    Is it true that the performance of the Oracle Shared Server on Windows plataformns, like 2003 server is poor. ? In general (not just Windows), shared servers (the MTS) should only be used if you have an acute RAM shortage.
    Tom Kytes notes:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:5269794407347
    "Unless you have a real reason to use MTS -- don't."
    "a shared server connection is by design "slower" than a dedicated server (more stuff goes on, more complex) it is most likely only getting in the way."
    Also, remember that you can use AWE to take the data buffer above the line and free-up more low-memory RAM for connections. Here are my notes:
    http://www.dba-oracle.com/oracle_tips_ram_waste.htm
    http://www.dba-oracle.com/t_mts_multithreaded_servers_shared.htm
    My experience concurs that Oracle shared servers should not be used without a compelling reasons (i.e. super high connect/disconnect rates on an instance with limited resources) and that the vast majority of Oracle databases will run more efficiently without shared servers.
    Dedicated server connects are far faster than multi-threaded server connections, and 64-bit Oracle combined with the low cost of RAM has driven-down the rare cases where shared servers are justified.
    Hope this helps. . .
    Donald K. Burleson
    Oracle Press author

  • What found dead shared server error mean?

    Please, I found the error found dead shared server in my alert.log file and I need to know what cause this error?
    If it is critical?
    What I should look up?

    There is a known issue with using heterogenous services routine and MTS. Kuljeet is correct. Most probably you are hitting bug 3243584. You may have to check with oracle support on this!
    -Ramesh

  • "found dead shared server" in alert.log

    Hi.
    I am getting the following message in the alert log of 10.2.0.2 database.
    Fri Feb 2 11:13:54 2007
    found dead shared server 'S005', pid = (32, 3)
    Fri Feb 2 11:14:24 2007
    found dead shared server 'S005', pid = (32, 4)
    Fri Feb 2 11:59:48 2007
    found dead shared server 'S001', pid = (11, 1)
    found dead shared server 'S005', pid = (32, 5)
    Fri Feb 2 12:00:04 2007
    found dead shared server 'S001', pid = (80, 165)
    found dead shared server 'S001', pid = (80, 166)
    What does it mean actaully...
    will it affect(what impact) my database.
    Thanks
    JD

    Hi,
    Are you using MTS feature? If yes,
    Then as given in the site:
    http://searchoracle.techtarget.com/tip/0,289483,sid41_gci1018471,00.html
    major issue I have seen with MTS is the dispatcher process getting abruptly killed. For some unknown reason the dispatcher process all of a sudden dies, killing the connected sessions. The following is an extract from the alert.log file for one such error:
    Wed Sep 8 09:07:35 2004
    Errors in file /u01/bdump/abc_d050_521.trc:
    ORA-07445: exception encountered: core dump [00000001026BA2D4] [SIGSEGV] [Address
    not mapped to object] [0x000000018] [] []
    Wed Sep 8 09:07:45 2004
    found dead dispatcher 'D050', pid = (667, 207)
    The dead dispatcher process is restarted once pmon cleans the in-doubt sessions. The workaround for this issue is to turn off the DCD (dead connection detection) feature. Set SQLNET.EXPIRE_TIME = 0 in sqlnet.ora file. This issue occurred in v9.2.0.4 and v9.2.0.5 and Oracle is currently working to resolve the same.
    I think you are not using MTS feature, otherwise you would have received errors
    like above & trace file would have been generated & error.ORA-07445
    If you are not using MTS feature,
    set the initialization parameter shared_servers = 0. also make sure that the parameter dispatcher is not set (it has no default) to anything.
    Message was edited by:
    Seema

  • Shared server/dedicated server process doubt?

    when oracle database is not configured for shared server is it compulsay to include SERVER=DEDICATED clause in the connect descriptor.?
    Thankx.

    Hi,
    is it compulsay to include SERVER=DEDICATED clause in the connect descriptor.?No, the MTS is defined at startup time, via the MTS parms.
    Here is a sample of shared server definition in the init.ora file:
    # Multi-threaded Server parameters
    local_listener="(address_list=
    (address=(protocol=tcp)(host=sting.janet.com)(port=1521))
    MTS_MAX_DISPATCHERS=5
    MTS_MAX_SERVERS=20
    MTS_DISPATCHERS="(ADDRESS=
    (PROTOCOL=tcp)(HOST=sting.janet.com))(DISPATCHERS=3)
    service_names=testb1
    http://www.dba-oracle.com/unix_linux/epc_disabled.htm
    However, be aware that the MTS is not a panacea, especially at times when you want to invoke a dedicated process for your program. For Pro*C programs and I/O-intensive SQL*Forms applications, or any batch processes that have little idle time, you may derive better performance using a dedicated listener process. For shops that segregate task into online and batch modes, the DBA sometimes create separate listeners—one with the MTS and another for dedicated connections.
    Hope this helps. . . .
    Donald K. Burleson
    Oracle Press author

  • How change database from mode MTS (Shared) to mode Dedicated?

    How change database (Oracle 8.1.7) from mode MTS (Shared) to mode Dedicated?

    Did you try it ? Look at this :
    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = test)
          (SERVER=SHARED)
    SQL> show parameter mts
    NAME                                 TYPE    VALUE
    mts_circuits                         integer 170
    mts_dispatchers                      string  (protocol=tcp)(dispatchers=2)(
                                                 connections=500)
    mts_listener_address                 string
    mts_max_dispatchers                  integer 5
    mts_max_servers                      integer 20
    mts_multiple_listeners               boolean FALSE
    mts_servers                          integer 2
    mts_service                          string  test
    mts_sessions                         integer 165
    SQL> conn scott/tiger@test
    Connected.
    SQL> conn / as sysdba
    Connected.
    SQL> alter system set mts_dispatchers='(protocol=tcp)(dispatchers=0)(connections=0)'
    SQL> /
    System altered.
    SQL> alter system set mts_servers=0;
    System altered.
    SQL> conn scott/tiger@test
    ERROR:
    ORA-12520: TNS:listener could not find available handler for requested type of
    server
    Warning: You are no longer connected to ORACLE.
    SQL>                                                                                                                  However, as I said in my previous posting, you should modify initSID.ora too. If not, next time you'll restart your DB, it will run in shared mode again.

  • Shared Server converted to Dedicated (WAIT(RECEIVE))

    Hi,
    I have an Oracle 9.2.0.7 and using MTS. Someone know why when I start my JBoss application 20 shared servers are in statu WAIT(RECEIVE)? I saw in metalink that this status means that my shared servers were converted to dedicated! How can I turn those connection to shared again?
    Thanks in advance,
    Paulo Almeida
    São Paulo/SP- Brazil

    Hi Paulo,
    Do you have a RAM shortage on your server?
    http://www.dba-oracle.com/t_mts_multithreaded_servers_shared.htm
    My experience concurs that Oracle shared servers should not be used without a compelling reasons (i.e. super high connect/disconnect rates on an instance with limited resources) and that the vast majority of Oracle databases will run more efficiently without shared servers. Dedicated server connects are far faster than multi-threaded server connections, and 64-bit Oracle combined with the low cost of RAM has driven-down the rare cases where shared servers are justified.
    Oracle's Tom Kyte notes:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:5269794407347
    - "Unless you have a real reason to use MTS -- don't."
    - "a shared server connection is by design "slower" than a dedicated server (more stuff goes on, more complex) it is most likely only getting in the way."
    Hope this helps. . .
    Don Burleson
    Oracle Press author
    Author of “Oracle Tuning: The Definitive Reference”
    http://www.dba-oracle.com/bp/s_oracle_tuning_book.htm

  • Problem with shared server mode

    Hi,
    I want to run my database in shared server mode.I have configured the fallowing parameters in init.ora
    SHARED_SERVERS=2
    MAX_SHARED_SERVERS=10
    DISPATCHERS="(PROTOCOL=TCP)(DISPATCHERS=2)"
    Then I opened the database.
    In another sql*plus session and logged in as scott.There i ran a script to insert 50,000 record s into a table.When the script was running i opened another session as SYSDBA and queried v$shared_server view.
    It showes.
    NAME PADDR STATUS MESSAGES BYTES BREAKS CIRCUIT IDLE BUSY REQUESTS
    S000 54C964F8 WAIT(COMMON) 0 0 0 00 56761 0 0
    S001 54C968A8 WAIT(COMMON) 0 0 0 00 56758 0 0
    Why it is ahowing status as WAIT and requests 0.
    What is wrong with my init.ora setting.Please help me.

    Hi,
    Shared servers (the MTS) does not use PGA RAM, it gets RAM from the large_pool_size region.
    BTW, I don't recomend using shared servers unless you have an acute RAM problem:
    http://www.dba-oracle.com/t_mts_multithreaded_servers_shared.htm
    Hope this helps . . .
    Donald K. Burleson
    Oracle Press author

  • Configure Shared Server

    Hello All Gurus;
    I m a new bie to oracle 9i working on Windows XP sp1. Where learning Configuring and Tuning Shared Server. I could not found the answer to the question how to configure a shared server or define in a Database that shared server will be used. Where and when it is to be defined on .... session/user/database level ?
    Pl. Guide me
    Thank You

    Hi Ora-boy,
    Where learning Configuring and Tuning Shared Server. First, never use shared servers (MTS) if you have enough RAM:
    http://www.dba-oracle.com/t_mts_multithreaded_servers_shared.htm
    Oracle's Tom Kyte notes that the MTS should not be used without a "real reason" and he notes that shared server connections are slower than with dedicated database connections (Oracle's default behavior):
    "Unless you have a real reason to use MTS -- don't."
    "a shared server connection is by design "slower" than a dedicated server (more stuff goes on, more complex) it is most likely only getting in the way."
    Also, here are my notes on configuring shared servers:
    http://www.dba-oracle.com/concepts/shared_pool_mts.htm
    Hope this helps. . .
    Donald K. Burleson
    Oracle Press author
    Author of "Oracle Tuning: The Definitive Reference":
    http://www.dba-oracle.com/bp/s_oracle_tuning_book.htm

  • How to find documents on Configuring database to work on  Shared server mode?

    Hi,
    Where can I find documents to configure my database (Oracle 9i Release 2) to work on Shared server mode?
    The Aix 4.3.3 platform has 1 CPU and 1G Memory,and can support only less than 20 connectiions while serving a B/S application.So I want to try MTS.

    Hi,
    a good help for me was this
    http://www.oracleadvice.com/Tips/MTS.htm
    Afterwards you are ready to understand the online doc
    and to find the best configuration.
    Regards
    Christoph

Maybe you are looking for

  • Asynchronous visual webpart for SharePoint 2013

    HI, How to create asynchronous visual webparts in SharePoint 2013 (VS 2012) . I can see lot of examples for 2010 version, but not for SP 2013. I have 2 visual webparts, which I want to make it as a asynchronous webpart. One webpart has the code writt

  • How to pass price list of a minisite dynamically in istore

    Hi All, I am trying to diplay limited UOM in drop down box based on price list. I have hard coded the price list in the jsp page "ibeCCtdLeafSctSsI.jsp" and on the basis of it getting the price and unit of measure in drop down box. What are the UOM i

  • IPod nano gen 6 is not recognized in my computer nor iTunes, but it is recognized in other computers and iTunes

    Neither my computer nor iTunes recognize my new nano. I've tried the troubleshooting suggestions on this site. I've reinstalled iTunes many times. Every now and then I could reset the nano and iTunes would state it needs to "prepare to restore" it. I

  • PDF's sent from Reader to Outlook won't send as e-mail

    I came across a problem where only certain e-mails were "sitting" in an Outlook Outbox and not sending. After investigation, it turned out to be e-mails that were attached with pdf's directly through Reader (Send Files function). I had her save these

  • How to do an INNER JOIN sub-query?

    Can't seem to find anything that would help me out with this. My prototype query goes like this but its giving me a ORA-00905: missing keyword SELECT Poker_Site.site_name, bonus.sign_up_bonus      FROM poker_site      INNER JOIN bonus      WHERE Poke