-  April 22, 2025

by Akshay Bedre - Oracle DBA

Introduction

An effective solution for exposing your Oracle Database data as RESTful web services is Oracle REST Data Services (ORDS). By serving as a link between your Oracle database and the modern web, it enables developers to use common HTTP methods, such as GET, POST, PUT, and DELETE, to communicate with the database.

Developing RESTful endpoints without writing complex backend code is easy with ORDS, whether you're building a web app, mobile app, or just need lightweight API access to your data. DBAs, full-stack groups, and APEX developers who want to modernize legacy systems might find it extremely useful.
We will walk through each step of ORDS installation in this blog so you can implement RESTful services in your Oracle environment immediately.

1. Prerequisites

  1. Oracle database: An Oracle Database instance (11 gR2 or later recommended). You should have SYS or DBA privileges for configuration.
  1. Java Development Kit (JDK): ORDS requires Java 17 or later. Make sure java is in your system's PATH.

  2. ORDS Software : Download the latest ORDS .zip from Oracle’s official site Unzip to your desired location.
  1. Web Server (Optional): You can run ORDS in standalone mode, or deploy it using:Apache Tomcat (common in production) Oracle WebLogic (optional, enterprise use)

  2. Network and Port Access : Default ports 8080 for standalone 8443 for HTTPS (if enabled). Ensure your firewall allows traffic on these ports.

  3. Create ORDS Configuration Directory and home (Optional but Recommended)
    Create a separate configuration directory to manage ORDS files cleanly:


2. Steps for installing

  1. Download and Extract ORDS:
    Go to the Oracle website:  ORDS Downloads



  2. Extract the file:

    Unzip the package in the ORDS_HOME directory:



    You will see files like



  3. Export path:



  4. Start Installation:

    You will need the following information regarding the database

     



    Once all the details are entered, the output looks like this :

     




    [oracle@prod config]$ ords --config /u01/ords/config/ install

    ORDS: Release 24.4 Production on Sun Apr 06 21:02:38 2025

    Copyright (c) 2010, 2025, Oracle.


    Configuration:
      /u01/ords/config

    The configuration folder /u01/ords/config does not contain any configuration files.

    Oracle REST Data Services - Interactive Install

      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]: 1
      Enter the database host name [localhost]: prod.database.com
      Enter the database listen port [1521]:
      Enter the database service name [orcl]: PROD
      Provide database user name with administrator privileges.
      Enter the administrator username: SYS
      Enter the database password for SYS AS SYSDBA:

    Retrieving information.
    ORDS is not installed in the database. ORDS installation is required.

      Enter a number to update the value or select option A to Accept and Continue
        [1] Connection Type: Basic
        [2] Basic Connection: HOST=prod.database.com PORT=1521  SERVICE_NAME=PROD
               Administrator User: SYS AS SYSDBA
        [3] Database password for ORDS runtime user (ORDS_PUBLIC_USER):
        [4] ORDS runtime user and schema tablespaces:  Default: SYSAUX Temporary TEMP
        [5] Additional Feature: Database Actions
        [6] Configure and start ORDS in Standalone Mode: Yes
        [7]    Protocol: HTTP
        [8]       HTTP Port: 8080
        [9]   APEX static resources location:
        [A] Accept and Continue - Create configuration and Install ORDS in the database
        [Q] Quit - Do not proceed. No changes
      Choose [A]: A
    The setting named: db.connectionType was set to: basic in configuration: default
    The setting named: db.hostname was set to: prod.database.com in configuration: default
    The setting named: db.port was set to: 1521 in configuration: default
    The setting named: db.servicename was set to: PROD 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 global setting named: standalone.http.port was set to: 8080
    The global setting named: standalone.doc.root was set to: /u01/ords/config/global/doc_root


    The setting named: security.requestValidationFunction was set to: ords_util.authorize_plsql_gateway in configuration: default
    2025-04-06T21:04:03.566Z INFO        Created folder /u01/ords/config/logs
    2025-04-06T21:04:03.581Z INFO        The log file is defaulted to the current working directory located at /u01/ords/config/logs
    2025-04-06T21:04:04.724Z INFO        Installing Oracle REST Data Services version 24.4.0.r3451601 in NON_CDB
    2025-04-06T21:04:12.745Z INFO        ... Verified database prerequisites
    2025-04-06T21:04:16.465Z INFO        ... Created Oracle REST Data Services proxy user
    2025-04-06T21:04:20.469Z INFO        ... Created Oracle REST Data Services schema
    2025-04-06T21:04:27.075Z INFO        ... Granted privileges to Oracle REST Data Services
    2025-04-06T21:05:14.024Z INFO        ... Created Oracle REST Data Services database objects
    2025-04-06T21:07:28.497Z INFO        Completed installation for Oracle REST Data Services version 24.4.0.r3451601. Elapsed time: 00:03:23.357

    2025-04-06T21:07:28.782Z INFO        Completed configuring PL/SQL gateway user for Oracle REST Data Services version 24.4.0.r3451601. Elapsed time: 00:00:00.272

    2025-04-06T21:07:28.818Z INFO        Log file written to /u01/ords/config/logs/ords_install_2025-04-06_210403_58574.log
    2025-04-06T21:07:30.824Z INFO        HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
    2025-04-06T21:07:30.988Z INFO        Disabling document root because the specified folder does not exist: /u01/ords/config/global/doc_root
    2025-04-06T21:07:30.990Z INFO        Default forwarding from / to contextRoot configured.
    2025-04-06T21:08:00.573Z INFO        Configuration properties for: |default|lo|
    db.servicename=PROD
    db.hostname=prod.database.com
    db.password=******
    conf.use.wallet=true
    security.requestValidationFunction=ords_util.authorize_plsql_gateway
    database.api.enabled=true
    db.username=ORDS_PUBLIC_USER
    standalone.http.port=8080
    restEnabledSql.active=true
    resource.templates.enabled=false
    plsql.gateway.mode=proxied
    db.port=1521
    feature.sdw=true
    config.required=true
    db.connectionType=basic
    standalone.doc.root=/u01/ords/config/global/doc_root

    2025-04-06T21:08:00.606Z WARNING     *** jdbc.MaxLimit in configuration |default|lo| is using a value of 10, this setting may not be sized adequately for a production environment ***
    2025-04-06T21:08:04.801Z INFO


    Mapped local pools from /u01/ords/config/databases:
      /ords/                              => default                        => VALID


    2025-04-06T21:08:05.274Z INFO        Oracle REST Data Services initialized
    Oracle REST Data Services version : 24.4.0.r3451601
    Oracle REST Data Services server info: jetty/12.0.13
    Oracle REST Data Services java info: Java HotSpot(TM) 64-Bit Server VM  (build: 17.0.12+8-LTS-286 mixed mode, sharing)

  5. Verify:



    Conclusion:

    Oracle REST Data Services (ORDS) simplifies exposing your Oracle Database objects as RESTful web services, facilitating modern, API-based access to your data.
    In this blog, we ran through the simple steps to have ORDS running:

    • Downloading and unpacking the ORDS package
    • Configuring ORDS against your database with the advanced install option

    With this configuration in place, you're now positioned to proceed—whether you elect to operate ORDS in standalone mode, run it on a web server, or integrate with Oracle APEX.

     

Tell us how we can help!

Recent Posts

April 22, 2025

Step-by-Step Guide to Installing Oracle REST Data Services (ORDS)

March 18, 2025

The Reasons to Upgrade to the Latest Versions of IBM Db2


Contact Us

Data Patrol Technologies Pvt. Ltd.,
Plot no. 10, Swajay Bungalow,
Sagar Co-operative Society,
Bavdhan, Pune India – 411021

Call+91 9970177046

Attach Email info@datapatroltech.com