General

.NET Metrics

.NET Metrics are application numerical measurements collected at regular time intervals for the purposes of monitoring and alerting about application health. In an ODP.NET setting, metrics can monitor connection statistics, such as number of ODP.NET hard connections to the database, number of active connections, or number of free connections.

ODP.NET Core and managed ODP.NET support .NET Metrics. ODP.NET metrics can be published to and analyzed by the rich and expansive toolsets integrated with OpenTelemetry and .NET Metrics, such as Grafana and Prometheus.

View Documentation

Dynamic Performance Views for Table and Partition Access Tracking

Read access to tables and partitions is tracked with a new dynamic performance view  [G]V$TABLE_ACCESS_STATSand exposed in a user-friendly manner as data dictionary views [DBA | ALL | USER]_TABLE ACCESS_STATS, providing a deeper understanding of the access frequency of tables and individual partitions.

Allowing the user to see how often tables and individual partitions are read enables you to understand the importance and frequency of your data for better assessment of your lifecycle management of your data.

View Documentation

Efficient Table DDL Change Notification

Applications can now be notified when DDLs occur on tables.

Applications that need or want to be aware of table metadata can be notified of DDL changes rather than having to continuously poll for them.

View Documentation

Enhanced Inter-Session Communication with DBMS_PIPE

DBMS_PIPE, an in-database messaging framework for inter-session communication, got enhanced to support a broader set of applications and use cases. DBMS_PIPE now can share messages across multiple database sessions with concurrent reads, provides more flexibility in managing messages overall, and supports persistence and inter-instance and inter-database communication through object store buffering.

Providing a more comprehensive in-database inter-session messaging and communication enables more applications to take advantage of DBMS_PIPE, improving the reliability and scalability of applications. It also increases developer productivity by eliminating the need for more complex application architectures.

View Documentation

GB18030-2022 Support

The implementation of the Oracle client character set ZHS32GB18030 is updated to support the latest GB18030-2022 standard.

This feature enables Oracle Database to conform to the latest edition of the GB18030 standard, which is required for all software products sold in China.

View Documentation

JDBC RSI Support for Data Load Mode

In RSI stream mode, connection and prepared statement instances are created for every batch. With the new data load mode, the instances are created once and saved in the thread's local context.

This feature brings faster data ingestion into the Oracle Database.

View Documentation

ODP.NET: Asynchronous Programming

ODP.NET supports the .NET Task Asynchronous Programming (TAP) model with the core and managed drivers.

With support for TAP and the async and await keywords, ODP.NET data access operations are more responsive and easier to develop for asynchronicity.

View Documentation

ODP.NET: OpenTelemetry

OpenTelemetry is a popular open-source observability framework for instrumenting, generating, collecting, and exporting telemetry data. It provides a common specification and protocol so that multiple services can furnish a unified version of traces, metrics, and logs.

Numerous managed ODP.NET and ODP.NET Core APIs have been instrumented to support OpenTelemetry tracing. Developers can customize the ODP.NET OpenTelemetry trace settings and use manual, dynamic, or automatic instrumentation when needed.

With OpenTelemetry support, monitoring, tracking, and analyzing how ODP.NET operations interact in cloud computing, microservices and distributed systems becomes easier using this industry standard.

View Documentation

Oracle Call Interface (OCI) Support for String Indexed PL/SQL Associative Arrays

PL/SQL string indexed associative arrays are now supported by Oracle Call Interface (OCI). Applications can natively pass these associative arrays between the database and the client application allowing for creating, binding, and manipulating of this collection type.

This feature allows for more straightforward and less error-prone code development.

View Documentation

Result Cache Integrity Mode

Oracle Result Cache allows the caching of query results in memory to improve the performance of frequently executed queries. Queries are cached optimistically based on the setting of result_cache_mode or explicit hinting, which considers objects that are not explicitly declared as deterministic for query caching. 

Controlling the result cache integrity mode enables customers to enforce the requirement of declaring objects as deterministic before being considered for result caching.

Providing the capability to enforce the requirement of explicitly deterministic objects for query caching improves code quality and rules out the chance of accidentally caching objects that should not be cached.

View Documentation

SQL*Plus ARGUMENT Command

A new ARGUMENT command lets users of batch scripts control how SQL*Plus treats script argument variables for which the users have not explicitly set values. With this command, users are now able to control when to prompt for input or use a default value for each unset script argument.

This feature gives SQL script processing more resiliency and flexibility, allowing script actions to be customized by users if they want to alter parameter values.

View Documentation

SQL*Plus CONFIG Command

This command reads the default tnsnames.ora file and generates a JSON file suitable for uploading to a Centralized Configuration Provider.

This command makes it easier to migrate away from tnsnames.ora files and allows connection strings to be stored centrally. 

View Documentation

SQL*Plus OERR Command and Improved HELP Syntax

A new OERR command in SQL*Plus allows users to see Oracle error message Cause and Action text within SQL*Plus for a user-supplied error number. The existing HELP command has also been enhanced to show the same text.

This feature allows developers to immediately get more information about error messages.

View Documentation

SQL*Plus PING Command and Command Line Option

A new SQL*Plus PING command and equivalent command line option can be used to show the round-trip time from SQL*Plus to either the network listener or to the database.

The network listener check is equivalent to the traditional tnsping command line utility that administrators use to check basic network connectivity. The option to check the database round-trip time is commonly used as a liveness check to ensure that the database itself is reachable.

This feature gives users of SQL*Plus power to verify basic connectivity, which is useful in many troubleshooting or post-install scenarios.

View Documentation

SQL*Plus SET ERRORDETAILS Command

A new SET ERRORDETAILS command lets users decide whether additional information should be displayed when Oracle errors are generated in failure scenarios. Additional information that can be displayed is the error help URL and the message Cause and Action text.

This feature improves the developer experience by allowing faster troubleshooting.

View Documentation

SQL*Plus SHOW CONNECTION Command

This command can be used to show details about the current connection, list Oracle Net Service names present in the tnsnames.ora file, and resolve a given net service name to a connection string. 

Knowing more about connection strings enables users to connect to Oracle Database more easily, and aids troubleshooting connection issues.

View Documentation

Session Exit on Invalidation

Set SESSION_EXIT_ON_PACKAGE_STATE_ERROR to true to force a hard session exit when a session's state has been invalidated.

Exiting sessions after state invalidation avoids errors that can occur when applications mishandle invalid state.

View Documentation

Unicode IVS (Ideographic Variation Sequence) Support

The new UCA1210_JAPANESE_IVS collation allows the processing of Unicode Ideographic Variation Sequence (IVS) in Japanese text. The SQL functions LENGTHC(), SUBSTRC(), INSTRC(), and LIKEC() are also enhanced to count IVSs as single complete characters.

This feature enables application developers to build applications supporting Unicode IVS.  It is an important requirement for markets, such as Japan, where processing of data including names such as person names, place names, and historic texts often need to support ideographic characters represented in Unicode IVS.

View Documentation