How to check if Port pool is free in Oracle applications R12

Last updated on March 30th, 2019 at 12:35 pm

What is Port Pool?

Oracle Applications 11i/R12.0/R12.1/R12.2 uses the concept of a port pool. A port pool is a preconfigured set of unique port assignments for every E-Business Suite technology stack component that requires network connectivity.

So multiple Release 12 environments can coexists on the same machine,provided  you have  configured each of them to use a different port pool.

Default Port pool is 0  and we can choose from available option of  0 to 100

How are Port Pools Created?

Port Pool are created based on below mechanism
1. we have a default base value for each type of port
2. Handling formatted values, which often contain multiple ports or a range of ports
3.Determining a unique value for each pool

Here is the Ports for Default port pool 0 and port pool 9

Type of Port Default port (Port Pool 0)  New port value with Port Pool=9


Database port 1521 1530
RPC Port 1626 1635
Web SSL Port 4443 4452
ONS Local Port 6100 6109
ONS Remote Port 6200 6209
ONS Request Port 6500 6509
Web Listener Port 8000 8009
Active Port 8000 8009
Forms Port 9000 9009
Metrics Server Port 9100 9109
Metrics Server Request Port 9200 9209
JTF Fulfillment Port 9300 9309
MCSA Server Port 10200-10205 10254-10259
MCSA Telnet Server Port 10200,10202,10204


MCSA Dispatcher Port 10800 10827
Java Object Cache Port 12345 12354
OC4J JMS Port Range for Oacore 23000-23004 23045-23049
OC4J JMS Port Range for Forms 23500-23504 23545-23549
OC4J JMS Port Range for Home 24000-24004 24045-24049
OC4J JMS Port Range for OAFM 24500-24505 24545-24549
DB ONS Local Port 6300 6309
DB ONS Remote Port 6400 6409

Following java command can be used to check if the port pool is free 

java oracle/apps/ad/util/PortPool -e -pool



-e CONTEXT [-pool PORT_POOL] [-host HOST]


CONTEXT = Applications context file name
PORT_POOL = Port Pool to use for selecting Ports
PORT_POOL must be between 0 to 99
LOGFILE = log file for output
REPORTFILE = report file for port details
HOST = Host on which to check ports


java oracle/apps/ad/util/PortPool -e /demo/VI12_internal.xml -pool 10
Log file located at PortPool_03301218.log

PORT POOL 10 is in use

$ vi PortPool_03301218.log
"PortPool_03301218.log" 188 lines, 12360 characters
Started testing the availability of ports in port pool 10

 Checking  RPC Port on null:  Port Value = 1636
RC-50204: Error: - RPC Port in use: Port Value = 1636
 Checking  Web SSL Port on null:  Port Value = 4453
RC-50204: Error: - Web SSL Port in use: Port Value = 4453
 Checking  ONS Local Port on null:  Port Value = 6110
RC-50204: Error: - ONS Local Port in use: Port Value = 6110
 Checking  ONS Remote Port on null:  Port Value = 6210
   ONS Remote Port available:  Port Value = 6210
 Checking  ONS Request Port on null:  Port Value = 6510
RC-50204: Error: - ONS Request Port in use: Port Value = 6510

This comes very handy

Important Note

If a port number is called out as busy, the Port Pool program will only call out the first entry in the context file that uses that port. There may be other entries also using that port such as in one case where “Web SSL Port” was called out, but the following parameter ALSO had to be changed:
<httpslistenparameter oa_var=”s_https_listen_parameter”>4443</httpslistenparameter>

This oversight on an early trial run through this procedure had caused apache to fail to start because:

[crit] (98)Address already in use: make_sock: could not bind to port 4443

Re-running PortPool to check your work even after your changes DOES find problems like this.

For R12.2 Oracle Apps

In case of R12.0/R12.2, we just need to choose one port pool for the application to run. But in case of R12.2, We have choose two port pool as we have two application filesystem fs1 and fs2.

There are certain ports that are common between fs1 and fs2. Here is the list:

Oracle HTTP Server Port

Active Web Port

Java Object Cache Port

Database Port

DB ONS Local Port

DB ONS Remote Port

Oracle Connection Manager Port

Leave a Reply