cancel
Showing results for 
Search instead for 
Did you mean: 

Listener Service ORA-12518 & SAP Zero Memory Management

Former Member
0 Kudos

Dear All Experts,

Our SAP Hardware Configuration:

(SAP ECC 6.0 with Oracle 10.2.0.4 on Windows Server 2003)

XEON E5450 @ 3GHz (Total 8 Cores)

RAM: 20 GB

FOR ORACLE ERROR (ORA-12518: TNS:listener could not hand off client connection)

We have deployed a new Application server in the landscape and when we increase our Work Processes, we get the above error (ORA-12518).

As per SAP note #830576, we have calculated the SAP Work Processes to total 80 on Production Landscape:

----


*Formula: PARALLEL_MAX_SERVERS = #DB-CPU-Cores * 10*

---

Our hardware has 8 CPU Cores

*Calculation: PARALLEL_MAX_SERVERS = 8 * 10 = 80*

========

*Formula: PROCESSES = ABAP work processes * 2 +#J2EE server processes <max-connections> +PARALLEL_MAX_SERVERS + 40

---

We Require 80 Work Processes

Calculation: PRCOESSES = (80 x 2) + (0 x 0) + 80 + 40 = 280

----


Is our Above Calculation Correct?

it was the First Question, 2nd Question is: We Want to Configure Zero Memory Management on our New Application Server. As per SAP Note 88416 and Hardware ( total 11 GB Memory):

9600 MB considered to be PM because remaining 1.5 GB for OS (IS IT OK OR NOT?)

Load of 100 Users on this Application Server, Therefore [BE]=100

Profile parameter

Standard 32-bit

Standard 64-bit

Unit




em/initial_size_MB


[PM]


[9600]

Mbyte

--- em/max_size_MB

--- 20000

--- 100000 (MAX. 64000 Acceptable??)

Mbyte

em/address_space_MB


512


4096

Mbyte


ztta/roll_first


1


1

Byte

--- ztta/roll_area

--- 2000000

--- 3000000

Byte

ztta/roll_extension

2000000000

2000000000

Byte

abap/heap_area_dia

2000000000

2000000000

Byte

abap/heap_area_nondia

2000000000

0

Byte

abap/heap_area_total

2000000000

9600 x 1048576=10,066,329,600

Byte

- rdisp/ROLL_MAXFS

[BE] * 100

100 x 100 = 10000

8KB Block

--- rdisp/ROLL_SHM

[BE] * 100

100 x 100 = 10000

8KB Block

--- rdisp/PG_MAXFS

--- 32768

--- 32768

8KB Block


rdisp/PG_SHM

[BE] * 50

100 x 50 = 5000

8KB Block

-


Please Suggest me if ABOVE Calculations are Correct,

Thanks in Advance,

Regards,

ZAMAN.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Zaman,

>> FOR ORACLE ERROR (ORA-12518: TNS:listener could not hand off client connection)

This error happens, because of network problem or no longer enough memory can be allocated by Oracle

1) Firstly, check event log on your OS, related by the error.

2) You can set DIRECT_HANDOFF_TTC_LISTENER=OFF parameter, in the listener.ora. But this is a workaround...

3) You can add more dispatchers to the system, but I am not sure about it.

>> Calculation: PRCOESSES = (80 x 2) + (0 x 0) + 80 + 40 = 280

It is correct

The other calculations are looking correct, but may need to configure these parameters, when you face with the memory problem, again.

Best regards,

Orkun Gedik

sunny_pahuja2
Active Contributor
0 Kudos

Hi,

Sometime this error also occurs because of insufficient number of processes parameter in database.

You can test it. When you will get this error. Try to logon on oracle. There it will give you message related to your problem.

Thanks

Sunny

Former Member
0 Kudos

Thank you Orkun adn Sunny for your replies,

This happened only when we added another Application Server into the landscape and I am considering INSUFFICIENT PARAMETER problem.

Below is the Current Value of the Processes Parameter in ORA file:

*.processes=80

Total Number of SAP Work Processes in our landscape including all Application Servers are 62 and if we decrease them to 58, we dont get Error in TMS, otherwise with 62, we cant run a Transport request.

Anyone else for suggestions?

Thanks in Advance,

Best Regards,

ZAMAN.

Former Member
0 Kudos

>> We Require 80 Work Processes

>> Calculation: PRCOESSES = (80 x 2) + (0 x 0) + 80 + 40 = 280

You calculated and found out "280". So, why you set it to 80?

configure it as you calculated *.processes=280

Best regards,

Orkun Gedik

sunny_pahuja2
Active Contributor
0 Kudos

Hi,

This value is default value which is very less as per number of work process you have. Please increase it.

Thanks

Sunny

Former Member
0 Kudos

Hi Orkun,

Thank you for your reply,

These are the old parameters configured before deploying new application server. I have just tested it and confirmed now. Error is occurring due to the processes value. I will increase it to get more juice out of it.

Thank you All,

Regards,

ZAMAN.

Former Member
0 Kudos

Another Question in my mind,

Wht if i give full Physical Memory aka 11000 MB in PM instead of 9600 MB, how will it effect the system?

And in the Zero Memory Note, it is mentioned to set em/max_size_MB to 100000 MB but i cant configure it more than 64000. Any Suggestions?

Regards,

ZAMAN.

Former Member
0 Kudos

Due to changing the PROCESSES Parameter, I think i need to change other dependent parameters aswell, If anyone would review and suggest me if my calculations for the parameters below are OK:

Global DB Parameters including DB, APP & APP2:

==================

==================

-


PARALLEL_MAX_SERVERS = #DB-CPU-Cores x 10

---

Our hardware has 8 CPU Cores

Calculation: PARALLEL_MAX_SERVERS = 8 x 10 = 80

-


PROCESSES = ABAP work processes * 2 +#J2EE server processes <max-connections> +PARALLEL_MAX_SERVERS + 40

===

Currently, we have (DB)21 + (APP) 31 + (APP2) 6 = 58

We Require 80 Work Processes for all Application Servers

Calculation:

-


PROCESSES = (80 x 2) + (0 x 0) + 80 + 40 = 280

-


session = (1.1*processes) + 5

===

session = (1.1 x 280) + 5 = 313

-


transactions = 1.1 x sessions

===

transactions = 1.1 x 313 = 344

-


enqueue_resources = ((sessions - 10) x 2) + 55

===

enqueue_resources = ((313 - 10) x 2) + 55 = 661

-


dml_locks = 4 x transactions

===

dml_locks = 4 x 344 = 1376

-


PARALLEL_MAX_SERVERS = CPU_COUNT x PARALLEL_THREADS_PER_CPU x (2 if PGA_AGGREGATE_TARGET > 0; otherwise 1) x 5

===

PARALLEL_MAX_SERVERS = 8 x 2 x 2 x 5 = 160

-


As per default value for PARALLEL_THREADS_PER_CPU = 2

========================

========================

db_cache_advice = ready, to get approx. value for the parameter.

###########################

If any other parameter is required to change? Please Suggest me with your best solutions, Thank you.

Regards,

ZAMAN.

Answers (0)