What is Port Pool in Oracle Apps?
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 in oracle apps 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
|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|
|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 usage: java oracle.apps.ad.util.PortPool PORT_POOL CONTEXT java oracle.apps.ad.util.PortPool HOST PORT_POOL CONTEXT java oracle.apps.ad.util.PortPool-e CONTEXT [-pool PORT_POOL] [-host HOST] [-log LOGFILE] [-rept REPORTFILE] where: 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
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:
This oversight on an early trial run through this procedure had caused apache to fail to start because:
(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.
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
DB ONS Local Port
DB ONS Remote Port
Oracle Connection Manager Port