1 Oracle REST Data Services Installation Checklist

This chapter provides information about supported platforms, system requirements, and Database privileges required for using ORDS .

1.1 System Requirements

Oracle REST Data Services system requirements are as follows:

  • A currently supported version of Oracle Database as specified in the Oracle Lifetime Support Policy

  • Use one of the following:
    • Oracle Java version 11, 17, or 21
    • Oracle GraalVM Enterprise Edition for Java version 11, 17, or 21

    Note:

    On Linux system, if the Oracle Java version is lower than 11, then the installation fails with an error message. For example:
    Error: ORDS requires Java 11 and above to run.
           Found Java version 1.
           Please set JAVA_HOME to appropriate version and update PATH if necessary.

    So, you must set JAVA_HOME to the appropriate version and update the PATH if required.

    On Windows system, the user is re-directed to the Java download page.
  • Web browser requirements: Refer to Oracle Software Web Browser Support Policy for more information.

Note:

Oracle APEX is not a prerequisite for using Oracle REST Data Services.

If Oracle APEX is installed and if RESTful services have been configured during the installation (see the step Configuring Oracle REST Data Services in Oracle Application Express Installation Guide), then Oracle REST Data Services supports it.

Platforms Available

ORDS is distributed and available in the following platforms:

1.1.1 GraalVM Configuration

To operate, Oracle REST Data Services requires a Java Runtime Environment. Customers can choose to use a supported Oracle GraalVM for improved performance in their runtime environment. It is not mandatory.

However, certain features in ORDS require the Java Runtime Environment to be a GraalVM with specific Graal components installed. The dependent Graal component for such features is mentioned in the documentation section. The most common dependency is on the Graal.js component for JavaScript support.

Use gu list command to determine the components available:

gu list 
ComponentId              Version             Component name                Stability   
----------------------------------------------------------------------------------------
graalvm                  23.0.1              GraalVM Core                  Supported   
icu4j                    23.0.1              ICU4J                         Supported   
js                       23.0.1              Graal.js                      Supported   
regex                    23.0.1              TRegex                        Supported

If the JavaScript component is not listed as an available component, then install it using the gu install js command. Refer to GraalVM documentation for more information on the Graal Updater command utility and the capabilities of the various Graal components.

Note:

The ORDS image located at ORDS Docker Image Repository is based on GraalVM with the Graal.js component.

Note:

The GraalVM Updater was removed in GraalVM for JDK version 21. It is not planned to embed the JavaScript component in ORDS. However, it is possible to use the plugin framework to embed Graal JS component.

1.2 Supported Java EE Application Servers

Oracle REST Data Services supports the following Java EE application servers:

Application Server Supported Release

Oracle WebLogic Server

14c Release and later

Apache Tomcat

Release 9.0.x

1.3 Supported Oracle APEX Versions

Oracle REST Data Services supports the currently supported versions of APEX.

See Also:

The Oracle APEX (Formerly HTML DB) table in the ORACLE INFORMATION-DRIVEN SUPPORT document for supported versions of APEX.

1.4 ORDS Installer Privileges Script

This section describes about the script file that provides privileges to the user to install, upgrade, repair, and uninstall ORDS.

Note:

This script is used when you do not want to use SYS AS SYSDBA to install, upgrade, repair, and uninstall ORDS for Oracle PDB or Oracle 11g.

The Oracle REST Data Services contains a script, ords_installer_privileges.sql which is located in the scripts/installer folder. The script provides the assigned database user the privileges to install, upgrade, repair, and uninstall ORDS in Oracle Database.

Perform the following steps:
  1. Using SQLcl or SQL*Plus, connect to the Oracle Database instance. You must have a Database account with appropriate privileges for installing ORDS.
  2. Execute the following script providing the database user:
    SQL> @/path/to/scripts/installer/ords_installer_privileges.sql exampleuser
    SQL> exit

You must use the specified database user to install, upgrade, repair, and uninstall ORDS.

1.5 Privileges Granted to the Oracle REST Data Services Users

As part of the Oracle REST Data Services installation, privileges are granted to several users and roles:

  • ORDS_RUNTIME_ROLE role
    • ORDS_RUNTIME_ROLE is granted EXECUTE on the following packages if these packages are not granted EXECUTE to PUBLIC:
      • SYS.DBMS_LOB
      • SYS.DBMS_SESSION
      • SYS.DBMS_UTILITY
      • SYS.WPIUTL
    • ORDS_RUNTIME_ROLE is granted the necessary ORDS_METADATA object privileges to determine the repository version and to access the connection pool configurations.
  • ORDS_PUBLIC_USER user
    • ORDS_PUBLIC_USER is granted connect to allow connection to the database.
    • ORDS_PUBLIC_USER is granted role, ORDS_RUNTIME_ROLE to allow the user to act as an ORDS runtime user
  • ORDS_ADMINISTRATOR_ROLE role
    • ORDS_ADMINISTRATOR_ROLE is granted EXECUTE on ORDS_METADATA.ORDS_ADMIN PL/SQL package.
  • PUBLIC
    • PUBLIC is granted EXECUTE on ORDS_METADATA.ORDS_REPVERSION view to allow the repository version to be queried by anyone.
    • PUBLIC is granted SELECT on many ORDS_METADATA views.
    • PUBLIC is granted EXECUTE on ORDS_METADATA PL/SQL packages that are available for developer users.
  • ORDS_METADATA schema
    • ORDS_METADATA schema is granted on the following packages if these packages are not granted EXECUTE on PUBLIC:
      • SYS.DBMS_ASSERT
      • SYS.DBMS_LOB
      • SYS.DBMS_OUTPUT
      • SYS.DBMS_SCHEDULER
      • SYS.DBMS_SESSION
      • SYS.DBMS_UTILITY
      • SYS.DEFAULT_JOB_CLASS
      • SYS.HTP
      • SYS.OWA
      • SYS.WPG_DOCLOAD
    • ORDS_METADATA is granted SELECT (11g) or READ (12c or later) on the following view if it is not granted SELECT or READ to PUBLIC:
      • SYS.SESSION_PRIVS
    • ORDS_METADATA schema is granted EXECUTE on the following packages:
      • SYS.DBMS_CRYPTO
      • SYS.DBMS_METADATA
    • ORDS_METADATA schema is granted SELECT (11g) or READ (12c or later) on the following views:
      • SYS.DBA_OBJECTS
      • SYS.DBA_ROLE_PRIVS
      • SYS.DBA_TAB_COLUMNS
    • ORDS_METADATA schema is granted SELECT including WITH GRANT OPTION on the following views:
      • SYS.USER_CONS_COLUMNS
      • SYS.USER_CONSTRAINTS
      • SYS.USER_OBJECTS
      • SYS.USER_PROCEDURES
      • SYS.USER_TAB_COLUMNS
      • SYS.USER_TABLES
      • SYS.USER_VIEWS
    • ORDS_METADATA schema is granted the following system privileges:
      • ALTER USER
      • CREATE ANY TRIGGER
      • CREATE JOB
      • CREATE VIEW
      • CREATE PUBLIC SYNONYM
      • DROP PUBLIC SYNONYM
    • ORDS_METADATA schema is granted the necessary object privileges to migrate Application Express REST data to ORDS_METADATA tables.
    • ORDS_METADATA schema is granted ORDS_ADMINISTRATOR_ROLE, ORDS_RUNTIME_ROLE roles with administrator option.
  • PUBLIC is granted SELECT on many ORDS_METADATA tables and views.

  • PUBLIC is granted EXECUTE on PL/SQL packages that are available for users to invoke.

  • ORDS_METADATA is granted EXECUTE on the following packages if these packages are not granted EXECUTE to PUBLIC:

    • SYS.DBMS_ASSERT
    • SYS.DBMS_LOB
    • SYS.DBMS_OUTPUT
    • SYS.DBMS_SCHEDULER
    • SYS.DBMS_SESSION
    • SYS.DBMS_UTILITY
    • SYS.DEFAULT_JOB_CLASS
    • SYS.HTP
    • SYS.OWA
    • SYS.WPG_DOCLOAD
  • ORDS_METADATA is granted the necessary object privileges to migrate Application Express REST data to ORDS_METADATA tables.

1.6 About the Database Users Used by Oracle REST Data Services

Oracle REST Data Services uses the following database users:

User Name Required Description

ORDS_METADATA

Yes

Owner of the PL/SQL packages used for implementing many Oracle REST Data Services capabilities. ORDS_METADATA is where the metadata about Oracle REST Data Services-enabled schemas is stored.

It is not accessed directly by Oracle REST Data Services; the Oracle REST Data Services application never creates a connection to the ORDS_METADATA schema.

ORDS_PUBLIC_USER

Yes

User for Oracle REST Data Services to make an initial database connection for handling requests. Depending on the request, the user will proxy to the relevant Oracle REST Data Services-enabled schema or PL/SQL Gateway user to complete the requested action in the database.

1.7 About Command-Line Interface

ORDS release 22.1.0 introduces the ORDS Command-Line Interface that provides the following benefits:
  • Create, update, and list your ORDS configuration
  • Add additional database pools to your configuration Install/upgrade
  • Repair, or uninstall ORDS in the database
  • Run ORDS in standalone mode
The preceding functions can be accomplished interactively through prompts, or run silently (non-interactively) using the ORDS commands.

1.8 About Online Help

The online help provides information about the commands along with the available options and arguments. To show the list of ORDS commands, execute the following command:
ords --help
To show the details of an ORDS command, specify the ORDS command followed by --help. If you want additional details for a sub-command, then specify the --help after the sub-command.
Syntax:
ords <command> --help

ords <command> <sub-command> --help
Examples:
  • ords install --help
  • ords config --help


ords config set --help