Overview

This document provides late-breaking information for TimesTen 26.1.1.1.0, as well as information that is not yet part of the formal documentation.

The latest version of this document is the README.html file in your installation directory. Release notes also are updated in the documentation library.

You can find the Oracle TimesTen In-Memory Database documentation set on the TimesTen documentation website.

To install Oracle TimesTen In-Memory Database, unzip the distribution file. See Overview of the Installation Process in TimesTen Classic in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.

Note:

TimesTen release numbers are reflected in items such as TimesTen utility output, file names, and directory names. These are subject to change with every minor or patch release, and the documentation cannot always be up to date. The documentation seeks primarily to show the basic form of output, file names, directory names, and so on. You can confirm the current release number by executing the ttVersion utility.

This document contains the following topics:

New Features

Release 26.1.1.1.0

New Feature Description

JSON support

TimesTen now supports the JSON data type. You can now store, manage, query, and index JSON data in a TimesTen database—including those under cache or replication schemes. To facilitate this, TimesTen introduces the JSON data type constructor plus several new SQL/JSON conditions and functions:

  • JSON constructor: Parses and validates textual JSON data and returns an instance of the JSON data type. TimesTen uses it implicitly on SQL statements that require JSON data type conversion for the used expression.

  • JSON_EQUAL condition: Compares two JSON values and returns true if they are equal.

  • JSON_EXISTS condition: Checks for the existence of a particular value within JSON data.

  • JSON_QUERY function: Selects one or more values from JSON data and returns those values. You can use this function to retrieve fragments of a JSON document.

  • JSON_SCALAR function: Accepts a SQL scalar value as input and returns a corresponding JSON scalar value as a JSON type instance.

  • JSON_SERIALIZE function: Takes JSON data as input and returns a textual representation of it.

  • JSON_TABLE function: Projects specific JSON data to columns of various SQL data types.

  • JSON_VALUE function: Selects a JSON scalar value and returns a SQL scalar value.

Additionally, TimesTen now supports indexes that target:

  • A single scalar JSON value through function-based indexes for the JSON_VALUE function

  • Scalar values as elements of a JSON array through multivalue function-based indexes for the JSON_EXISTS function

See Oracle TimesTen In-Memory Database JSON Developer's Guide.

Encryption at rest

You can now enable and configure encryption at rest for database files, such as checkpoint and transaction-log files. See Encryption at Rest in TimesTen in Oracle TimesTen In-Memory Database Security Guide.

TLS 1.3 support

TimesTen now supports Transport Layer Security (TLS) 1.3 for secure network communication for client/server and replication uses cases. While TLS 1.3 is more secure, faster, and efficient than TLS 1.2, TimesTen still supports cipher suites from TLS 1.2. See Cipher Suites in TimesTen and Transport Layer Security for TimesTen Replication in Oracle TimesTen In-Memory Database Security Guide.

Parallel redo

TimesTen now uses multiple CPU threads to recover a database. As a result, databases recover more quickly from crashes or other disruptions, ensuring higher availability and better overall performance. Parallel redo is enabled by default. See Parallel Redo Recovery in TimesTen Database in Oracle TimesTen In-Memory Database Operations Guide.

Online defragmentation

You can now configure a TimesTen database to continuously scan user tables and defragment row pages. This process helps eliminate fragmentation and frees up memory for future use. See Online Defragmentation of TimesTen Databases in Oracle TimesTen In-Memory Database Operations Guide.

Static and dynamic read-only log-based cache groups support with Oracle GoldenGate

TimesTen now supports log-based read-only cache groups. Log-based read-only cache groups provide an alternative approach to trigger-based read-only cache groups by leveraging redo logs instead of triggers to synchronize data between Oracle Database and TimesTen. This method is ideal for both static and dynamic cache groups, where the data is continuously refreshed and synchronized from Oracle Database. Log-based read-only cache groups enable you to use Oracle GoldenGate to replicate data from Oracle Database into TimesTen. See Configuring GoldenGate for Log-Based Cache Autorefresh on TimesTen in Oracle TimesTen In-Memory Database Cache Guide.

ttIsql utility enhancements

The ttIsql utility includes new functionalities:

  • Support for file names and relative paths as parameters. The contents of the file is used as value for the parameter. See Parameters in Oracle TimesTen In-Memory Database ttIsql User's Guide and Reference.

  • Ability to define an alias for a variable value and vice versa (define2var and var2define, respectively). See Declaring and Setting Bind Variables in Oracle TimesTen In-Memory Database ttIsql User's Guide and Reference.

Restrict mode for select utilities

The ttBulkCp, ttIsql, and ttMigrate utilities now support a restrict mode (-restrict option) that enhances security by preventing operations that might overwrite files or expose the system to vulnerabilities. See Use Restrict Mode to Secure TimesTen Utilities in Oracle TimesTen In-Memory Database Security Guide.

SELECT statements without an explicit FROM clause

The FROM dual clause in SELECT statements is now optional. For example, these two queries are now equivalent:

SELECT sysdate FROM dual;

SELECT sysdate;

Also, the USING dual clause in MERGE statements is now optional.

Enhanced password security

On Linux and UNIX platforms, this release strengthens password security by adopting a stronger hashing algorithm.

System catalog memory usage

Internal metadata enhancements in this release have increased the size of the system catalog compared to release 22.1. The impact varies by schema and is proportional to the number of database objects, including:

  • Tables

  • Columns

  • Indexes

  • PL/SQL procedures

As a result, databases with larger schemas may observe increased catalog memory usage.

Database size reduction

Overall product memory consumption has been reduced in this release. Total memory requirements for installation and operation are lower than in previous releases, despite the modest increase in system catalog size. See Estimating and Modifying the Memory Region Sizes for the Database in Oracle TimesTen In-Memory Database Operations Guide.

Parallel connections to a database

To improve connection performance under concurrent connection loads, processes now can connect in parallel to a database when using the EnableParallelConnect connection attribute set to 1 (default value). See EnableParallelConnect in Oracle TimesTen In-Memory Database Reference.

Behavior Changes

Release 26.1.1.1.0

  • These are no longer reserved words for use in SQL statements:

    • CONNECTION

    • CURSOR

    • DESTROY

    • FIRST

  • The SYS.V$REPSTATS view now includes a column for the host name of the subscriber.

  • The default for the DDLReplicationLevel connection attribute is now 3 instead of 2.

  • The default for the CacheAdminWallet connection attribute is now 1 instead of 0.

  • The CkptReadThreads connection attribute now supports integer values from 0 to 64.

  • The TimesTen Transaction Log API (XLA) is now in a separate library, libttxla.so. Existing XLA applications must be recompiled and linked to include this new library (-lttxla) after upgrading to this release.

Bug Fixes

Release 26.1.1.1.0

  • This release includes all new features and bug and security fixes from release 22.1.1.37.0 or earlier. See Changes for Release 22.1.1.37.0 from Release 22.1.1.36.0 in Oracle TimesTen In-Memory Database Release Notes.

  • A problem is fixed where a core dump could be generated if the allocated permanent memory region was not large enough during a database recovery operation. (BugDB #36336007)

Deprecated Features

Release 26.1.1.1.0

  • The following features are deprecated:

    • Java Message Service API is deprecated as JMS provider.

    • The compact command in the ttIsql utility is deprecated.

    • The CacheAdminWallet connection attribute set to 0 is deprecated.

    • The PWDCrypt connection attribute is deprecated.

    • The return receipt service in replication is deprecated.

  • The following features are desupported:

    • Oracle TimesTen In-Memory Database in grid mode (TimesTen Scaleout) is desupported.

    • Oracle TimesTen In-Memory Database Express Edition (TimesTen XE) is desupported.

    • Shared memory IPC for client/server connections is desupported.

    • Java Development Kit (JDK) 8 is desupported.

    • The ReplicationApplyOrdering connection attribute set to 1 is desupported.

    • The TimesTen debug drivers are desupported. For a TimesTen release that includes these drivers, contact Oracle Support.

Platforms and Compilers

Platform or Operating System C/C++ Compiler Support JDK Support(1)

Linux x86-64:

  • Oracle Linux 8.4 or later and 9.2 or later

  • Red Hat Enterprise 8.4 or later and 9.2 or later

  • SUSE Enterprise Server 15

  • Ubuntu 22.04

Intel C++ Compiler (icc) 2021.10.1

GCC 8.5.0 or later

Oracle JDK 11, 17, 21, and 25

OpenJDK 11, 17, 21, and 25

Footnote 1 TimesTen ttjdbcn.jar files generally include the JDBC driver for use with the JRE version that corresponds to the number in the file name. In the current release, ttjdbc17.jar and ttjdbc21.jar are copies of ttjdbc11.jar, implementing JDBC 4.3 (Java 11) only.

TimesTen is supported in virtual machines provided by Oracle VM.

Cache

Cache in TimesTen enables you to query and update data retrieved from an Oracle database into a TimesTen database. The TimesTen installation includes Oracle Instant Client.

The following Oracle Database releases are supported for cache in TimesTen:

  • Oracle AI Database Release 26ai

  • Oracle Database Release 19c

Client/Server Configurations

A TimesTen client on any supported platform can connect to a TimesTen server on any platform where TimesTen is supported.

See Configuring TimesTen Client and Server in Oracle TimesTen In-Memory Database Operations Guide.

Kubernetes Operator

TimesTen and the TimesTen Kubernetes Operator are supported on Kubernetes 1.32, 1.33, and 1.34.

TimesTen and the TimesTen Kubernetes Operator have been tested in AWS EKS and OCI OKE.

Other Kubernetes environments are supported if they meet the requirements listed in Before You Begin in Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.

Open Source Languages

TimesTen support of open source languages is through the Oracle Database Programming Interface for C (ODPI-C). The open source languages supported are Python and Node.js through their respective drivers. The drivers versions supported are:
  • python-oracledb 2.4.1

  • node-oracledb 6.6.0

See ODPI-C and Language-Specific Packages in Oracle TimesTen In-Memory Database Open Source Languages Support Guide.

Oracle Database

TimesTen ships the Oracle AI Database 26ai version of Instant Client. In addition, TimesTen PL/SQL, OCI, Pro*C/C++, and other internal components are based on Oracle AI Database 26ai.

Oracle GoldenGate

TimesTen is supported as a delivery target with GoldenGate 21.3 or later. GoldenGate parallel Replicat is supported for increased apply performance.

See Using GoldenGate as an Alternative to Native Read-Only Cache Groups in Oracle TimesTen In-Memory Database Cache Guide.

Replication Configurations

TimesTen only supports replication between identical platforms.

Active standby pair replication is supported with Oracle Clusterware 19c.

See Overview of TimesTen Replication in Oracle TimesTen In-Memory Database Replication Guide.

TimesTen Driver Manager

TTDM is supported on all platforms with TimesTen server support.

See Introduction to the TimesTen Driver Manager in Oracle TimesTen In-Memory Database C Developer's Guide.

Software Requirements

For software requirements, refer to Overview of the Installation Process in TimesTen Classic in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.

Known Problems and Limitations

This topic contains known problems and limitations in these categories:

Cache

  • TimesTen does not support cache operations with Oracle Clusterware.

Client/Server

  • Applications using a lite client generated by the ttmkLiteClient script do not support TLS encrypted client/server connections.

Installation

  • On Oracle Linux 8 and 9 systems, TimesTen requires the libaio library. To install this library, run:

    sudo yum install libaio
  • On Oracle Linux 8 and Red Hat Enterprise Linux 8 systems, TimesTen requires the ncurses-compat-libs package. To install this package, run:

    sudo yum install ncurses-compat-libs
  • On Oracle Linux 8 and 9 and Red Hat Enterprise Linux 8 and 9 systems, TimesTen requires the /usr/lib64/libnsl.so.1 library. To install this library, run:

    sudo yum install libnsl
  • On Ubuntu, TimesTen requires the libaio library. To install this library, run:

    sudo apt-get install libaio1
  • On SUSE Linux Enterprise Server 15.6, TimesTen requires the libaio and libnsl-devel libraries. To install these libraries, run:

    zypper install -y libaio
    zypper install -y libnsl1

JDBC

  • TimesTen does not support Positioned Updates and Deletes. Calls to setCursorName and getCursorName methods are ignored.

  • If a JDBC application running in a time zone that has Daylight Savings Time selects a nonexistent time using ResultSet.getTimestamp(), it gets a time that is an hour behind. For example, in Pacific Standard Time, on the day when the time changes from Standard to Daylight Savings Time, the time between 2:00 a.m. and 2:59 a.m. does not exist. So, if a JDBC application running in Standard Time selects a value of '2002-04-07 02:00:00' using getTimestamp() it gets '2002-04-07 01:00:00'.

  • SQL statements in JDBC applications should contain only characters from the database character set. Unicode characters not in the database character set are converted to replacement characters during parsing of the query. Potential workarounds include:

    • Using AL32UTF8 as the database character set.

    • Parameterizing the statement to avoid characters that are not in the database character set in the query text.

  • JDBC applications that use both direct and client/server connections simultaneously from the same process are not supported in FIPS mode. If your application requires FIPS compliance, avoid combining these connection types within the same process to ensure proper operation.

Oracle Call Interface

  • If NLS_LANG is set to a value that is not supported by TimesTen, spurious errors such as "Cannot connect" may result.

  • Due to the TimesTen upgrade to the Oracle AI Database 26ai version of Instant Client, customers using Pro*C or Oracle Call Interface (OCI) and APIs based on OCI will need to relink their applications with the new OCI library due to a name change. You may also need to update your Makefiles accordingly.

PL/SQL

  • Using q' (quoting syntax) is not supported.

  • This sequence of operations involving PL/SQL and CLOBs or NCLOBs does not work correctly.

    1. Create a temporary CLOB.

    2. Set the temporary CLOB value.

    3. Assign the value of the temporary CLOB to another CLOB variable.

    4. Free the temporary CLOB.

    5. Try to use the temporary CLOB.

    At step 5, an error ORA-22275 is supposed to be generated, and an exception is supposed to be raised. In TimesTen 22.1.1, the correct error is generated, but no exception is raised.

SQL*Plus

  • TimesTen does not support SQL*Plus connections to TimesTen databases. Use ttIsql.

SQL, Utilities and Procedures

  • When SQL query timeouts are used (SQLQueryTimeout or SQLQueryTimeoutMsec), TimesTen behavior is on a best-effort basis. It is not possible to guarantee that the timeout will actually occur within the specified time. (BugDB #29671762)

  • TimesTen BINARY_DOUBLE and BINARY_FLOAT are approximate data types. When storing and retrieving data of these types, the least significant digits may be rounded or truncated. You should avoid using columns of these types in primary keys, unique keys and foreign keys.

  • When the same column alias name is used in a view definition and a query that references the view, TimesTen might incorrectly issue the TT2210: Column reference of XXX is ambiguous error. The workaround is to explicitly assign a different column alias name to the column.

  • The maximum sum of the total number of tables specified in a query and all temporary aggregates needed to handle the query is 32. A temporary aggregate is needed to handle scalar or aggregate subqueries. A query fails with the message Statement that needs more than 31 nesting levels has not been implemented when the sum of tables and temporary aggregates in a query is greater than 32.

  • COUNT DISTINCT with CHAR type uses binary sorting order and binary comparison semantics even when the NLSSORT attribute was set to a value different than binary.

  • When the NLS_SORT session parameter is set to a multilingual sort (for example, FRENCH_M), the LIKE operator may produce incorrect results when the pattern match wild-card symbols are applied to the space character.

  • If you execute an ALTER SESSION statement anytime after the initial connection, you must re-execute the statement after a failover. (BugDB #29444131)

ttIsql Utility

  • The ncurses-compat-libs package is no longer available for Oracle Linux 9 or Red Hat Enterprise Linux 9. As a consequence, the editline feature in the ttIsql utility will not work. Other features of the ttIsql utility will work as normal.

Upgrade

  • If you are on 22.1.1, you must first upgrade to 22.1.1.37.0 or later before upgrading to this release. See Upgrades in TimesTen Classic in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.

  • If you are on 18.1.4, you must first upgrade to 18.1.4.54.0 or later before upgrading to this release. See Upgrades in TimesTen Classic in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.