Link to home
Create AccountLog in
Oracle Database

Oracle Database

--

Questions

--

Followers

Top Experts

Avatar of mtakasaki
mtakasaki

ORA-12500 TNS:listener failed to start a dedicated server process.
I have a application (Windows service) that runs Oracle updates using SQL Loader. During periods of peak activity, some of the processes are unable to connect:
ORA-12500 TNS:listener failed to start a dedicated server process.

I believe this is is due to either connection and/or memory limitions of Oracle. We are currently running Oracle 8.1.7.3 on Windows 2000 server with about 3 GB memory. From what I understand 8i can only utilize up to 1.8 GB of memory.

Question:
1. Are my assumptions correct regarding the reasons for the connection failures... will upgrading to Oracle 10 and Windows 2003 help?

2. I'm putting in a fix to the application to try to reconnect after a ORA-12500 error. Is there any way to manually reproduce this error.

Thanks.

Zero AI Policy

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of slightwv (䄆 Netminder)slightwv (䄆 Netminder)

I also received 12500 errors a lot on 817 and Windows NT (4 Gig of RAM).  I helped minimize this by actually reducing the amount of memory Oracle can have.  When the Oracle.exe process starts getting close to 800M, I start seeing this.

All the research I did on the issue pointed to a Windows resource limitation not to Oracle.  I was never able to find out exactly what Windows resource Oracle was taking up.

Answers to the questions:
1. Since 8i is desupported, the upgrade couldn't hurt.

2. From my past experience, once I started getting 12500s they would continue and only a server reboot would clear them up.  Therefore, I'm not sure a connect loop will help.  Also, I don't know of a quick way to force this scenerio.

ASKER CERTIFIED SOLUTION
Avatar of Mark GeerlingsMark Geerlings🇺🇸

Link to home
membership
Log in or create a free account to see answer.
Signing up is free and takes 30 seconds. No credit card required.
Create Account

This is the perfect example why people would use MTS (multi threaded server) with Oracle 8i, to have a lot of connections and at the same time reducing the memory usage.

Configure the "mts..." parameters in your init.ora file to use this feature.

You will configure the shared server to handle the connection by dispaching them.

To peterside7:
Have you done this with Oracle8i or9i on Windows and not had a problem?  If so, how many concurrent sessions did you get to?

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


Avatar of sujit_kumarsujit_kumar🇺🇸

TNS-12500 TNS:listener failed to start a dedicated server process

Cause: The process of starting up a dedicated server process failed. The executable could not be found or the environment may be set up incorrectly.

Action: Turn on tracing at the ADMIN level and re-execute the operation. Verify that the Oracle Server executable is present and has execute permissions enabled. Ensure that the Oracle environment is specified correctly in LISTENER.ORA. The Oracle Protocol Adapter that is being called may not be installed on the local hard drive. Check that the correct Protocol Adapter are successfully linked. If the error persists, contact Oracle Support Services.



Also check the Memory usage of server. Check your SGA size (multilied by the no. of concurrent sessions) with that of the Server's Main memory. Decrease the DB_BLOCK_SIZE, DB_BLOCK_BUFFER, SHARED_POOL_SIZE, JAVA_POOL_SIZE (if you find SGA is more than the server's main memory.

Sujit

Avatar of schwertnerschwertner🇦🇶

In dedicated Oracle server environment you have to calculate about 5MB for every server process. Normaly Oracle (see init<SID>.ora for details) uses 150 processes. This needs (if there are really so much connected users) 300-750 MB RAM.
The problem is that some of them are death (the aplication turns off without clossing the session). They will stay forever on the server. I was hit by this phenomena. The fix is to set in SQLNET.ORA (on the server of course) the line:
SQLNET.EXPIRE_TIME= 30
This will kill every 30 minutes the dead sessions, i.e. these that do not answer to the probes sent to their IP.
After doing this I was able using 300 allowed session to keep my server in good standing.
Of course you have to see if some user has too many opened session taht are inactive for a long time. Ask them why they have so much sessions and if they really need. them.
Oracle Database

Oracle Database

--

Questions

--

Followers

Top Experts

Oracle is an object-relational database management system. It supports a large number of languages and application development frameworks. Its primary languages are SQL, PL/SQL and Java, but it also includes support for C and C++. Oracle also has its own enterprise modules and application server software.