Re: Oracle Heap memory usage by listener

From: Hans Forbrich <fuzzy.graybeard_at_gmail.com>
Date: Fri, 12 Feb 2016 07:52:20 -0700
Message-ID: <56BDF1A4.6050402_at_gmail.com>



Of course there are *many* legitimate reasons for having multiple listeners.

However, in this case, a one-to-one relationship between listener and instance sounds suspiciously like a habit more than a reason.

My experience is that DBA habits tend to be less that best practices no over time and versions. If it truly is best practice, Oracle tends to add it to their code.

In my consulting practice before rejoining Oracle, I encountered several customer situations where there was such a 1-1 relationship because the senior DBA had simply set up policies and procedures in Oracle 7 days and everyone simply followed those practices without question. It was definitely time for a review of those P&Ps.

/Hans

On 11/02/2016 7:14 AM, Dimensional DBA wrote:
>
> Besides the application separation you mention and being able to
> shutdown listeners to affect only specific databases you can also have
> multiple listeners per database and perform the same operation on only
> a specific set of applications batch versus users, internal versus web
> facing, etc.
>
> There are also connection limit/firewalling parameters that are
> listener specific only that you may need to use and you want that same
> possibility of separation for applications batch versus users,
> internal versus web facing, etc.
>
> http://www.oracle.com/technetwork/database/enterprise-edition/oraclenetservices-connectionratelim-133050.pdf
>
> By using separate listeners you can also associate specific OS level
> monitoring details to the database/app they belong to for capacity
> planning.
>
> *Matthew Parker*
>
> *Chief Technologist*
>
> *Dimensional DBA*
>
> *425-891-7934 (cell)*
>
> *D&B *047931344**
>
> *CAGE *7J5S7**
>
> *Dimensional.dba_at_comcast.net <mailto:Dimensional.dba_at_comcast.net>*
>
> *View Matthew Parker's profile on LinkedIn*
> <http://www.linkedin.com/pub/matthew-parker/6/51b/944/>
>
> www.dimensionaldba.com <http://www.dimensionaldba.com>
>
> *From:*oracle-l-bounce_at_freelists.org
> [mailto:oracle-l-bounce_at_freelists.org] *On Behalf Of *Mark W. Farnham
> *Sent:* Thursday, February 11, 2016 5:37 AM
> *To:* fuzzy.graybeard_at_gmail.com; oracle-l_at_freelists.org
> *Subject:* RE: Oracle Heap memory usage by listener
>
> I don’t know about them and with the service model this concern is
> answered, but the original reason MOSES and VLDB recommended a
> listener for each instance on a machine was so that remote attempts to
> connect to a given instance could be pre-empted with the minimum
> overhead by shutting off a given listener. Since each instance had its
> own listener, no inconvenience was experienced by users of any other
> instance. I believe the service model was introduced (at least in
> part) to address this concern.
>
> Furthermore, in the multi-threaded server model from before the
> thread, that too could be controlled distinctly for each instance more
> easily.
>
> Machines of the day did not contemplate such large numbers of
> instances running on a single machine. The useful limit there was
> easily less than 2 dozen and probably was closer to 10.
>
> mwf
>
> PS: I think it is a hyperbolic to claim the listener model was
> replaced in 8 and more fair to report the service model was introduced
> in 8 and certainly is very stable now. (If you’re playing with toys it
> doesn’t much matter which you use. Production should be in service
> model by now, and I’m all ears for any exception to that line of
> thinking.)
>
> *From:*oracle-l-bounce_at_freelists.org
> <mailto:oracle-l-bounce_at_freelists.org>
> [mailto:oracle-l-bounce_at_freelists.org] *On Behalf Of *Hans Forbrich
> *Sent:* Wednesday, February 10, 2016 10:43 PM
> *To:* oracle-l_at_freelists.org <mailto:oracle-l_at_freelists.org>
> *Subject:* Re: Oracle Heap memory usage by listener
>
> Just curious: That SID-listener model was used with Oracle 7 and was
> replaced by the Service model with Oracle 8. Aside from increased
> administration at the db, os and network levels (poking more holes
> into the firewall) what benefit to they see to having a listener for
> each instance?
>
> /Hans
>
> On 10/02/2016 8:26 PM, Balwanth Bobilli wrote:
>
> Oracle version : 12.1.0.2.0
>
> Microsoft Windows server 2012
>
> RAM: 1TB (680GB free memory while getting this error)
>
> One of our customer wants to run 80 SIDS and 80 listeners (each
> listener for each database).. After all listeners are running, we
> are seeing TNS-12531: TNS: cannot allocate memory. From Doc ID
> 1384337.1(https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=422793106930444&id=1384337.1&_afrWindowMode=0&_adf.ctrl-state=qi0lglvuc_210)
>
> We got to know that changing third argument of
> \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
> Manager\SubSystems\: will help us, Increasing this third value
> and check whether TNS error disappears. There is no optimum
> value, it depends from one system to another.
>
> However we are planning to increase it, I see that there is no
> optimum value for setting and maximum value is 8192.
>
> Current value is
>
> C:\Windows\system32\csrss.exe ObjectDirectory=\Windows
> SharedSection=1024,20480,2048 Windows=On SubSystemType=Windows
> ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3
> ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16
>
> We are planning to change it to 4096 Before proceeding further we
> want to know
>
> 1)how SharedSection is used for non-interactive processes running
> as Local System? If we keep it 4096 will that impact the performance?
>
> 2)Any tools to monitor heap memory usage (sysads here tried
> installing dheapmon and livekd, which is unable to do so on
> windows sever 2012)
>
> 3)Is there any other solution to work around on this?
>
> Note: No traffic from application, just few connections.
>
> Shared server configuration
>

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Feb 12 2016 - 15:52:20 CET

Original text of this message