Skip to main content
All CollectionsKnowledge BaseEnterprise WorkloadsTroubleshooting - Enterprise Workloads
Oracle backup or restore fails to find an available port to start IOServer
Oracle backup or restore fails to find an available port to start IOServer
Updated over a week ago

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:.

  1. Stop the PhoenixOracle service

    service PhoenixOracle stop
  2. Edit the following file:

    vi /etc/PhoenixOracle/Phoenix.yml
  3. Update the following entries with an available port range of atleast 50 ports:

    IOSERVER_START_PORT: 20000
        IOSERVER_END_PORT: 20050
  4. Start the PhoenixOracle service

    service PhoenixOracle start

See also

Did this answer your question?