Monday, June 3, 2024

The listen port 8080 is already in use by another process using ORDS

I have come across below error when installing ORDS for APEX using 23.x+ version. When you try to bring up the ORDS you may receive the same warning message

/oracle:DBA>ords --config /oracle/ords_conf install

ORDS: Release 23.4 Production on Tue Feb 27 05:42:02 2024
Copyright (c) 2010, 2024, Oracle.
Configuration:
/oracle/ords_conf/

The configuration folder /oracle/ords_conf does not contain any configuration files.

Oracle REST Data Services - Interactive Install

Enter a number to select the type of installation
[1] Install or upgrade ORDS in the database only
[2] Create or update a database pool and install/upgrade ORDS in the database
[3] Create or update a database pool only
Choose [2]:
Enter a number to select the database connection type to use
[1] Basic (host name, port, service name)
[2] TNS (TNS alias, TNS directory)
[3] Custom database URL
Choose [1]:
Enter the database host name [localhost]: orasrv1
Enter the database listen port [1521]:
Enter the database service name [DBA]: ADB
Provide database user name with administrator privileges.
Enter the administrator username: SYS
Enter the database password for SYS AS SYSDBA:
Connecting to database user: SYS AS SYSDBA url: jdbc:oracle:thin:@//orasrv1:1521/ADB

Retrieving information.
Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]: ORDS_DATA

Enter the temporary tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [TEMP]: TEMP

Enter a number to select additional feature(s) to enable:

[1] Database Actions (Enables all features)
[2] REST Enabled SQL and Database API
[3] REST Enabled SQL
[4] Database API
[5] None
Choose [1]:

Enter a number to configure and start ORDS in standalone mode
[1] Configure and start ORDS in standalone mode
[2] Skip
Choose [1]:

Enter a number to select the protocol
[1] HTTP
[2] HTTPS
Choose [1]: 2
Enter the HTTPS port [8443]:
Enter a number to select the certificate type
[1] Use self-signed certificate (generates automatically)
[2] Use my SSL certificate (requires SSL certificate and SSL certificate private key)
Choose [1]:
Enter the SSL hostname: orasrv1
Enter the APEX static resources location: /oracle/apex/images
The setting named: db.connectionType was set to: basic in configuration: default
The setting named: db.hostname was set to: orasrv1 in configuration: default
The setting named: db.port was set to: 1521 in configuration: default
The setting named: db.servicename was set to: ADB in configuration: default
The setting named: plsql.gateway.mode was set to: proxied in configuration: default
The setting named: db.username was set to: ORDS_PUBLIC_USER in configuration: default
The setting named: db.password was set to: ****** in configuration: default
The setting named: feature.sdw was set to: true in configuration: default
The global setting named: database.api.enabled was set to: true
The setting named: restEnabledSql.active was set to: true in configuration: default
The setting named: security.requestValidationFunction was set to: ords_util.authorize_plsql_gateway in onfiguration: default
The global setting named: standalone.https.port was set to: 8443
The global setting named: standalone.https.host was set to: orasrv1
The global setting named: standalone.static.path was set to: /oracle/apex/images/
The global setting named: standalone.static.context.path was set to: /i
The global setting named: standalone.context.path was set to: /ords
The global setting named: standalone.doc.root was set to: /oracle/ords_conf/global/doc_root
2024-02-22T03:00:32.213Z INFO Created folder /oracle/ords/logs
2024-02-22T03:00:32.214Z INFO The log file is defaulted to the current working directory located at /oracle/ords/logs
2024-02-22T03:00:32.432Z INFO Installing Oracle REST Data Services version 23.4.0.r3461619 in NON_CDB
2024-02-22T03:00:33.913Z INFO ... Verified database prerequisites
2024-02-22T03:00:34.311Z INFO ... Created Oracle REST Data Services proxy user
2024-02-22T03:00:34.912Z INFO ... Created Oracle REST Data Services schema
2024-02-22T03:00:35.474Z INFO ... Granted privileges to Oracle REST Data Services
2024-02-22T03:00:39.099Z INFO ... Created Oracle REST Data Services database objects
2024-02-22T03:00:50.174Z INFO Completed installation for Oracle REST Data Services version 23.4.0.r3461619. Elapsed time: 00:00:17.662
2024-02-22T03:00:50.244Z INFO Completed configuring PL/SQL gateway user for Oracle REST Data Services version 23.4.0.r3461619. Elapsed time: 00:00:00.66
2024-02-22T03:00:50.245Z INFO Log file written to /oracle/ords/logs/ords_install_2024-02-22_060032_21483.log
2024-02-22T03:00:50.725Z INFO HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
2024-02-22T03:00:50.726Z INFO HTTPS and HTTPS/2 listening on host: 0.0.0.0 port: 8443
2024-02-22T03:00:50.746Z INFO Disabling document root because the specified folder does not exist: /oracle/ords_conf/global/doc_root
2024-02-22T03:00:50.746Z INFO Default forwarding from / to contextRoot configured.
2024-02-22T03:00:50.803Z SEVERE Could not start Standalone Mode because the listen port: 8080 is already in use by another process. Check if another instance of ords is already running/oracle:DBA>
When
2024-02-22T03:00:50.245Z INFO Log file written to /oracle/ords/logs/ords_install_2024-02-22_060032_21483.log
2024-02-22T03:00:50.725Z INFO HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
2024-02-22T03:00:50.726Z INFO HTTPS and HTTPS/2 listening on host: 0.0.0.0 port: 8443
2024-02-22T03:00:50.746Z INFO Disabling document root because the specified folder does not exist: /oracle/ords_conf/global/doc_root
2024-02-22T03:00:50.746Z INFO Default forwarding from / to contextRoot configured.
2024-02-22T03:00:50.803Z SEVERE Could not start Standalone Mode because the listen port: 8080 is already in use by another process. Check if another instance of ords is already running

/oracle:DBA>ords --config /oracle/ords_conf serve

The main reason for the error is the port 8080 already in use by another processes.

The ports 80 and 8080 are common ports for Web servers (HTTP) to use. First check is ORDS is already running by checking the processes.

$ps -ef |grep ords

If you don’t see any processes, then there might be another processes using the 8080 port and run below command to check the process

$ netstat -lnptu |grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN

If you see any processes, you have few options,

1. Check is it safe to kill the application that is using port 8080, unless you know that is this application or processes I don’t recommend this
2. Change the ORDS port to any another port such as 8088

First run the below command to check any value set for

$ords config get standalone.http.port

Cannot get setting standalone.http.port because the setting is not found in database pool default located at /oracle/ords_conf/databases/default

As you see ORDS setting “standalone.http.port” doesn’t have any value set in the config. So we are safe to assign another port

$ords config set standalone.http.port 8081

Now you can try to bring up the ORDS using below command

ords --config /oracle/ords_conf serve

When ORDS processes comes online you should see below message

apped local pools from /oracle/ords_conf/databases:
/ords/ => default => VALID
2024-02-22T07:04:22.648Z INFO Oracle REST Data Services initialized

No comments:

Post a Comment