New Features
ORDS
ORDS_EXPORT_ADMIN
PL/SQL Package. Users with the
ORDS_ADMINISTRATOR_ROLE
can now export REST-enabled objects
from another REST-enabled schema.
- ORDS JWT Profiles now support claims-based and roles-based access
control.
SQL Developer Web
- REST Workshop Security and OAUTH2 UI now defaults to ORDS_SECURITY. Client Secrets are now only visible once at client creation time. Users can migrate their ORDS_OAUTH clients to the new ORDS_SECURITY package as well as rotate client secrets.
- Dark Mode is now available in SQL Developer Web.
Data Studio
- The Autonomous Serverless Federated Database Catalog is now
available.
- AI Table Assistant improvements such as:
- editing and auto-saving of recipes
- showing new columns in italics
- Using the existing SMTP, Livefeeds now can send an email when it
runs and:
- loads rows into your table
- rejects rows under certain conditions (e.g., loading the value
“
BLUE
” into a NUMBER(10)
column)
- throws an error (i.e., for instance, your files were deleted from a
bucket, or your credentials for that bucket have been dropped)
Deprecation Notice
The RESTful Services area of the SQL Workshop for building and managing ORDS REST APIs in APEX has been deprecated. The recommended web interface for managing your ORDS REST APIs is Database Actions, also known as, SQL Developer Web.
Bug Fixes
ORDS
- 36741940 The _/db-api/stable/database/security/users/ endpoint would not retrieve results greater than 10,000 (schemas/users).
- 37388583 The /ords/_/db-api/stable/apex/workspaces/{workspace_id} endpoint shall now use the workspace_id instead of workspace_name (a mutable field). The endpoint returns the same properties as the /ords/_/db-api/stable/apex/workspaces/ endpoint.
- 37614207 Users received a 503 HTTP Response Status code incorrectly, while a 571 should have been displayed instead.
- 37582763 The DBA_ORDS_SCHEMAS view now includes the ords_url_mappings.type and ords_url_mappings pattern columns.
- 37149842 Invalid Logon Triggers resulted in a 503 Response Status Code instead of a 555 Response Status Code while trying to get a connection to the database.
- OCI Console non-Admin users could view (read-only access) to specific sections of the Monitoring category.
- 37277933 The JDBC.MAXCONNECTIONREUSETIME setting not recognized by the ORDS CLI.
- 37372374 JDBC bug to fix an incomplete error stack (failed to display the PL/SQL backend code).
- 37532384 ORDS installation fails due to the ORDS_METADATA schema missing execution privileges on SYS.DBMS_RANDOM.
- 37551223 Customer-managed ORDS install in Autonomous databases fails when the customer-managed ORDS runtime user name (e.g., ORDS_PUBLIC_USER_xx) is lowercase.
- 37625059 ORDS 24.4 failed to deploy in Weblogic Server when deployed as part of Fusion Middleware 14c (FMW 14c) Infrastructure. See the documentation for the most current configuration recommendations for deploying ORDS on WebLogic server.
- 37625076 ORDS fails when deployed on Weblogic Server 14.1.2 with the mod_wl_ohs plugin. The documentation provides the most current configuration recommendations for deploying ORDS on a WebLogic server.
- 37520077 Performing an ORDS install with the --db-only option would create a new password for the ORDS_PUBLIC_USER, leading to connectivity errors for ORDS instances.
SQL Developer Web
- 37242535 APEX_PUBLIC_USER locked account prevents access to the SQL Developer Web landing page.
- 37414833 Auto-REST-enabled packages with overloaded PL/SQL procedures fail to generate complete OpenAPI specification documents.
- 37327321 Chart toolbars of a user-created dashboard failed to adhere to spacing styling.
- 37190461 Clicking on the “Show Table” icon of JSON Collection fails to display the table.
- 32885377 Creating a JSON Collection named “DUAL” forces the session to end, preventing the user from signing back into SQL Developer Web.
- 37229551 Data columns failed to display in the object inspect slider when the table contains columns of type JSON.
- 37399440 Datapump Import Slider crashes after selecting an invalid credential name.
- 36706823 The way dates are displayed in the SQL Worksheet varied between ORDS versions; users can now choose a date (TIMESTAMP) formatting between Zulu and local language formats.
- 32850821 Error messages displayed in the JSON workshop failed to inherit global NLS preferences.
- 37587486 Executing a “SELECT *FROM ords_metadata.dba_ords_privilege_roles;” query displays duplicate Privileges for a user.
- 34011247 Incorrect preview URLs for Auto-REST-enabled objects led to 401 Unauthorized errors when attempting to sign in to view resources.
- 36218791 JSON Collections in the JSON workshop did not accept the .geojson file type.
- 37169687 SQL Worksheet failed to execute SQL statement where an equals sign was surrounded by whitespace (e.g. “… WHERE = XXX;).
- 37238662 Once closed, the Create Job slider failed to reopen. The Jobs/History(Gantt Chart) Zoom input options were incorrectly displayed.
- 37405015 The import slider in the Data pump fails when searching for a non-existent Object Bucket.
- 37327266 The JSON collection view slider fails to load for an empty collection where no JSON document exists.
- 37492494 The OpenAPI Viewer and OpenAPI Spec Export function did not correctly handle “TIMESTAMP” parameters, resulting in errors.
- 35994840 The SQL Worksheet Navigator tab supports search for >10,000 schemas.
- 37346792 Users were unable to disable Auto-REST-enabled objects when in the SQL Worksheet.
- 37373520 SQL Worksheet prevented users from creating schemas beginning with “UTL_”.
- 37054530 Users would receive an “invalid or incorrect client_id” error when attempting to sign in to an OAuth2.0 client of the Authorization Code or Implicit Grant type.
- 34352918 When editing a cell of INTERVAL_DAY_TO_SECOND type, the editor omitted the input for days.
- The Create OAuth Client slider utilizes the updated ORDS_SECURITY PL/SQL Package. Client Secrets will now only be displayed once, upon creation time. Client Secrets will no longer be displayed/provided in the UI.
- When generating an OpenAPI v3 specification document, the server URL would incorrectly include a trailing slash (“/”).
Documentation updates
- New Chapter 11
ORDS_EXPORT_ADMIN
PL/SQL API
reference
- Updated guidelines for deploying ORDS 24.4 or later on WebLogic
server 14.1.2
- Updated the “Drop a Pluggable database” db-api
(
/database/pdbs/{pdb_name}
) query parameter to include the
correct syntax for the following:
including_datafiles: boolean
.
Library updates
- Oracle MongoDB Listener 250124.1
- Oracle JDBC & UCP 23.7.0.25.01
Supported Java Versions
Oracle REST Data Services requires Java 17, or 21. The supported Java Runtime Environments are:
- Oracle Java 17
- Oracle Java 21
- Oracle GraalVM Enterprise Edition for Java 17
- Oracle GraalVM Enterprise Edition for Java 21
Note that GraphQL support requires GraalVM Enterprise Edition for Java 17 or later.
Please consult the documentation for the minimum supported Application Server versions for ORDS.
Support
- Supported by Oracle Support under your current Oracle Database Support license for Oracle REST Data Services
production releases.
-
Log Oracle REST Data Services bugs and issues using
My Oracle Support.
- For problems specific to SODA for REST, file a service request using
"Oracle XML Developers Kit" as the product.
- For
all other problems, use
"Oracle REST Data Services" as the product.
Note - Autonomous Database Shared Subscribers
If you are running a customer-managed ORDS for your Autonomous Transaction Processing, Autonomous Data Warehouse, or Autonomous JSON Database, you must upgrade your customer-managed ORDS to the version used in your Autonomous Database Shared environment. Failure to do so could lead to service disruptions.
To determine the version of ORDS in your Autonomous Database Shared database run this query:
select ords.installed_version from dual;
Documentation
General
- Documentation for this release is provided on the oracle.com web site. Click
here
to view the documentation and related information.
- Documentation on using SODA for REST is provided on the oracle.com web site. Click
here, navigate to the documentation section and access the book titled 'SODA for REST'.
Getting Started
- A tutorial on getting started with developing RESTful Services is included in the
ORDS
product documentation, in the book titled 'Oracle REST Data Services Quick Start Guide'.
Known Issues
ORDS version 24.4, when in Standalone mode, enforces stricter URL redirection.
URIs with and without trailing slashes are considered distinct. Previously, where a 302 Temporarily Moved redirect was permitted, users may instead receive a 301 Moved Permanently response status code. ORDS 24.4 Standalone conforms to the HTTP specification found in RFC7230. ORDS customer-managed users and OCI users that consume ORDS resources should plan accordingly for this new behavior. You may review the specification here.
Oracle Database may report 'ORA-01031: insufficient privileges' for queries that involve CURSOR expressions
In a number of cases, ORDS executes queries which include a CURSOR expression. An issue has been found executing these queries for
some schemas in Oracle 18c and Oracle 19c databases. Depending on the roles and privileges involved, the issue does not occur for all
schemas, which can give the impression that the issue is intermittent. Refer to RDBMS bug 29049673 for more information. The issue
is manifest as follows in the exception returned:
ORA-00604: error occurred at recursive SQL level 1
ORA-01031: insufficient privileges
This is a problem with view-merging of nested cursors introduced in Oracle 18.1 database. Please use the following as a workaround:
alter system set "_fix_control"='20648883:OFF';
Oracle Database DATE and TIMESTAMP values
ORDS interprets Oracle Database DATE and TIMESTAMP values (which do not possess a time zone) into the time zone of ORDS.
These values are then represented in the RFC3339 UTC format.
In a future release Oracle Database DATE and TIMESTAMP values will not by default be interpreted into any time zone.
These values will be represented in the ISO 8601 "yyyy-mm-ddThh:mm:ss[.sss]" format.
Oracle Database TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE values will remain represented in the RFC3339 UTC format.
SQL Developer Web
- DATE, TIMESTAMP, TIMESTAMP WITH TIMEZONE values downloaded from the Worksheet Query Result in the JSON format are not presented in the Internet Datetime format.
JDBC Array values
ORDS passes array values to the Oracle Database in a number of cases, for example arrays are used to pass the request headers and form fields during PL/SQL Gateway calls.
Oracle JDBC Driver 18.3 and later supports an improved mechanism for passing array values, however this feature is only supported on Oracle Database 12c and later. Thus
ORDS uses existing deprecated and less efficient APIs for passing array values when connecting to 11G databases, and the improved mechanism when connected to 12c and later. Customers
experiencing problems with passing large array sets (for example OutOfMemory exceptions) are encouraged to upgrade from 11G to a newer database version to mitigate
these issues.
Autogenerated REST Endpoints
- AutoRest resources support the OAuth 2.0 Client Credentials flow only.
RESTful Services
- Application Express workspaces do not support first party authentication, and therefore do not support the
/sign-in/
interactive sign in form. Accessing
/sign-in/
in APEX workspaces will produce a 404 status.
Support For mod_plsql logmeoff
- The mod_plsql logmeoff mechanism is not supported reliably by modern browsers and it is not provided by ORDS.
The only way to end a HTTP Basic Authentication session is to close the Browser.
Feedback
- At Oracle REST Data Services on oracle.com you will find links to forums and social media channels where you can discuss topics with the ORDS community around the world and leave feedback for the development team.
- In the forums, be sure to use clear subject lines to initiate a thread. Provide a complete and clear description of the issue, including
steps to reproduce the issue.
- Try to avoid using old, unrelated threads for a new issue.
Important Concepts to Keep In Mind
Revised Command Line Interface and Configuration Directory Structure
Command Line Interface
The java commands serviced from the WAR file are no longer supported. Attempting to run the following:
java -jar ords.war standalone
Will result in an error message, referring you to the docs. Instead you would run:
ords --config /path/to/config serve
Installation & Configuration
The ORDS program or script in the bin directory can be used to perform installs, changes to your configuration, changing the database passwords for your connection pools, and for creating ORDS users. To see a list of commands:
ords --help
Configuration Files Directory Layout
If upgrading from a previous version of ORDS, your existing configuration directory for ORDS and the files contained therein will be migrated to a new layout for versions 22.1 and higher.
You may migrate your settings using the ORDS migrate command, or you may perform a 22.1 install which will prompt ORDS to migrate your existing ORDS configuration to the new mapping for you.
ORDS standalone and default pool configuration settings are in a settings.xml file in a global subdirectory.
Connection pools are in a databases subdirectory. The intital database pool is named 'default' and has a '/' mapping pattern.
Subsequent pools will created such that the name of the pool also defines the mapping pattern.
SQL Developer Web
SQL Developer Web (SDW) is an ORDS hosted web application giving Oracle Database users the SQL Developer desktop experience in their browser.
SQL Developer Web provides a development interface for building and maintaining your ORDS based REST APIs, AUTOREST Enabled database objects, OAuth3 Clients, ORDS Privileges and Roles, as well as a SODA for REST graphical interface.
For the best possible experience developer REST APIs for ORDS, we recommend you use SQL Developer Web.
For consistent representation of date values in SQL Developer Web, ORDS should be run in the UTC timezone. This is set automatically when using the ords command line interface. When deploying ORDS to Apache Tomcat or WebLogic Server the user.timezone may have to be set explicitly before starting the container.
-Duser.timezone=UTC
SQL Developer Web requires the Database API be enabled.
SQL Developer Web's DBMS_SCHEDULER interface requires database version 12.2 or higher.
Upgrading ORDS in the database
If you have previously executed script, ords_installer_privileges.sql, to grant your administrator user privileges to perform the install or upgrade,
then you must execute the script again on that same user that you provided because additional grants have been added to this script.
Note: This script does not apply to the SYS user account.
Earlier Release Versions
For information on Issues Fixed and New Features introduced for earlier versions please refer to the release notes for those versions.