Problem description
Oracle backup or restore fails with Oracle_DTC 17, and the detailed logs will contain the error “Failed to find an available port to start IOServer”
Cause
The Oracle DTC agent is unable to start the IOServer process due to a port conflict on the Oracle database server. The IOServer process will use a dynamic port range of 20000-20050 by default.
Traceback
level=info ts=2023-09-18T13:36:25.933427377-04:00 filename=backup.go:2042 message="Starting PhoenixIOServer" level=error ts=2023-09-18T13:36:25.941451785-04:00 stack="No port is available in the given range : from 20000 to 20050\\ngoroutine 67 [running]:\nruntime/debug.Stack()\n\t/usr/local/go/src/runtime/debug/stack.go:24 \n\t/bld/src/phoenix/oraclesbt/client/agent/backup/backup.go:2538level=info ts=2023-09-18T13:36:25.941598151-04:00 filename=backup.go:1684 message="Finishing backup operation with error status" ErrorCode=4295819281 Message="Failed to find an available port to start IOServer"
Resolution
Verify what process or application is using the ports by running one of the following commands below. These are only examples, and please feel free to use any command familiar to you, or available on the Oracle database server.
netstat -lntup | grep ":200[0-9][0-9]"
ss -lntu | grep ":200[0-9][0-9]"
The port range can be moved following the process below:.
Stop the PhoenixOracle service
service PhoenixOracle stop
Edit the following file:
vi /etc/PhoenixOracle/Phoenix.yml
Update the following entries with an available port range of atleast 50 ports:
IOSERVER_START_PORT: 20000 IOSERVER_END_PORT: 20050
Start the PhoenixOracle service
service PhoenixOracle start