This preface contains:
Changes in Oracle Database release 18c, version 18.1
Changes in Oracle Database Release 19c Version 19.1
The following are changes in this book for Oracle Database release 19c, version 19.1.
New features for Oracle Database release 19c, version 19.1
See OCI SODA Functions.
Changes in Oracle Database Release 18c Version 18.1
Changes in Oracle Database release 18c, version 18.1.
New features for Oracle Database release 18c, version 18.1
The following features are new in this release:
OCI support for Simple Oracle Document Access (SODA)
SODA for C is a C API that is part of Oracle Call Interface (OCI). It implements Simple Oracle Document Access (SODA). You can use it to perform create, read (retrieve), update, and delete (CRUD) operations on documents of any kind, and you can use it to query JSON documents. You compile programs that use SODA for C the same way you compile other OCI programs. SODA is a set of NoSQL-style APIs that let you create and store collections of documents in Oracle Database, retrieve them, and query them, without needing to know Structured Query Language (SQL) or how the data in the documents is stored in the database. Oracle Database supports storing and querying JSON data. To access this functionality, you need structured query language (SQL) with special JSON SQL operators. SODA for C hides the complexities of SQL/JSON programming.
See the following for more information: SODA for C OverviewOCI SODA Functions, Handles, SODA Collection Handle Attributes , SODA Document Handle Attributes , SODA Operation Options Handle Attributes, and SODA Output Options Handle Attributes.
OCI support for operation level timeout or fine grained timers for operations
New service context attribute
OCI_ATTR_CALL_TIMEOUT— For setting millisecond timeout values using the
OCIAttrSet()function. Allows applications to specify a timeout value for network calls to the database.
See OCI_ATTR_CALL_TIMEOUT for more information.
OCI support for Application Continuity in an HA infrastructure includes:
Support is added for OCI dynamic binds and defines for numeric, character, and date/time types. This means the following OCI APIs are extended to support Application Continuity:
Support is added for binding and defining objects. This means the following OCI APIs are extended to support Application Continuity:
During execution of LOB calls, Application Continuity now supports the handling of connection failure by restarting LOB calls that were interrupted by an outage.
OCI now supports the new Application Continuity
AUTO, which only attempts to fail over if the session state is known to be restorable at the explicit request boundary.
See About Added Support for Application Continuity for more information.
OCI support for collations for bind variables
OCI_ATTR_COLLATION_IDattribute can be set on a bind variable handle to any of the supported collation IDs. The collation set with
OCI_ATTR_COLLATION_IDis used as the derived collation of the corresponding placeholder expression (host variable reference) in the SQL statement.
See OCI_ATTR_COLLATION_ID for more information.
OCI support for Oracle Connection Manager in Traffic Director Mode
Oracle Connection Manager in Traffic Director Mode is a proxy that is placed between the database clients and the database instances. Supported OCI clients from Oracle Database 11g Release 2 (11.2) and later can connect to it. Oracle Connection Manager in Traffic Director Mode provides improved high availability (HA) for planned and unplanned database server outages, connection multiplexing support, and load balancing.
Oracle Connection Manager in Traffic Director Mode can use the OCI client
oraaccess.xmlconfiguration file to configure proxy resident connection pools for one or more services that provide a proxy between the client and database instances. This feature provides improved high availability and performance for both planned and unplanned outages.
See About Using Oracle Connection Manager in Traffic Director Mode and About OCI Session Pool Configuration in oraaccess.xml for more information.
New LOB descriptor attribute:
OCI_ATTR_LOB_TYPE— Used to get the LOB type from the LOB descriptor.
See OCI_ATTR_LOB_TYPE for more information.
New LOB locator attribute:
OCI_ATTR_LOB_REMOTE— Determines whether the LOB locator belongs to a local database table or a remote database table.
See OCI_ATTR_LOB_REMOTE for more information.
OCI_ATTR_STMT_TYPE— has one additional statement attribute types:
OCI_STMT_MERGEis added beginning Oracle Database release 18c, version 18.1.
New user session handle attribute:
OCI_ATTR_AUTOTUNING_ENABLED— checks if the client user session has OCI auto tuning enabled on OCI client statement caching.
See OCI_ATTR_AUTOTUNING_ENABLED for more information.
Instant Client Basic and Basic Light ZIP files on Linux, Unix, and macOS now have the
liboccisymbolic links precreated.
See the Note in Install from ZIP Files, from RPMs, and from Oracle Universal Installer for more information.
Instant Client Basic and Basic Light Zips and RPMs now precreate a
network/admindirectory, where optional files such as,
oraaccess.xmlcan be placed.
See the Note in SDK for Oracle Instant Client for more information.
New session pool handle attribute:
OCI_ATTR_SPOOL_MAX_USE_SESSION— Sets the maximum number of times one session can be checked out of the session pool, after which the session is automatically destroyed.
See OCI_ATTR_SPOOL_MAX_USE_SESSION for more information.
Two new column property flags for the
OCI_ATTR_COL_PROPERTY_IS_LPART— Indicates whether this is an implicitly generated logical partitioning column for
OCI_ATTR_COL_PROPERTY_IS_CONID— Indicates whether this is a
CON_IDcolumn implicitly generated by
CONTAINERS()or is an
ORIGIN_CON_IDcolumn implicitly generated for Extended Data Link.
See Column Attributes for more information.
Changes in server version macros
Because the components of the database version changed beginning with release 18c, version 18.1, there are new client macros provided for extracting each of the components. As a result, the signature for the
OCIClientVersion()call is changed and there is a new
OCIServerRelease2()call. The macros are named according to the new release naming scheme beginning with version 18.1.