Overview

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

On TimesTen Classic, if you are currently using an 18.1.2.x release, you must first upgrade to 18.1.2.5.0 or greater before upgrading to this release. If you are currently using an 18.1.3.x release, you must first upgrade to 18.1.3.5.0 or greater before upgrading to this release.

On TimesTen Scaleout, if you upgrade to this release, you must create a new database using this release.

If you are upgrading to this release from 18.1.1.1.0, please contact Oracle Support.

The latest version of this document is the README.html file in your installation directory. Release notes also may be updated from time to time in the documentation library.

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

To install the 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 or Prerequisites and Installation of TimesTen Scaleout in Oracle TimesTen In-Memory Database Scaleout User's 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:

Changes in This Release

This topic lists changes between releases:

Changes for Release 18.1.4.42.0 from Release 18.1.4.41.1

New Features

  • TimesTen adds an entry to the daemon log when there are changes to the settings for tracing. (BugDB #36365711 - Backport of BugDB #36089935)

  • Tracing is turned off after loading a database into memory. (BugDB #36365723 - Backport of BugDB #36090914)

  • The replication agent now periodically logs statistical information to the daemon log. By default, a log record occurs for each thread every five minutes. To increase or reduce the frequency of these log records, use the ttDbConfig built-in procedure:

    CALL ttDbConfig('ReplAgentStatSampleFreq', 'seconds');

    Where seconds is the frequency in which the log record occurs. To fully disable this new behavior, set ReplAgentStatSampleFreq to 0. (BugDB #36365728 - Backport of BugDB #36032654)

Bug Fixes

  • A problem is fixed where tracing, under certain circumstances, could write files larger than the specified file size limits. (BugDB #36275352 - Backport of BugDB #36101809)

  • A problem is fixed where if the system time was modified to a backward time, the aging feature would wait until the system time reached its original time to continue. (BugDB #36303952 - Backport of BugDB #33689937)

  • A problem is fixed where error 15009 'user requires password' was reported in the user error log even when the connection attempt to the database was successful. (BugDB #36348559 - Backport of BugDB #36317365)

  • A problem is fixed where the ttInstanceCreate utility failed to create an instance in Ubuntu. (BugDB #36348695 - Backport of BugDB #36333932)

  • A problem is fixed where, in some cases where the receiver threads of the replication agent needed to restart, the error log did not contain details on the reason for the restart. (BugDB #36365638 - Backport of BugDB #17217819)

  • A problem is fixed where creating a materialized view on the subscriber of a replication scheme would return an error if there was an ongoing workload operating on the subscriber and a table in the materialized view was not already a base table for a materialized view. (BugDB #36365679 - Backport of BugDB #35668824)

  • A problem is fixed where the TimesTen subdaemon could receive a SIGSEGV error during process recovery. (BugDB #36423830 - Backport of BugDB #35819072)

  • In previous releases, the System V init scripts—which start or stop the TimesTen daemon when the system boots or shuts down, respectively—contained an incorrect value for the environment variable ODBCINI. This issue is fixed.

    On systems where the TimesTen System V init scripts are already installed, rerun the setuproot -install script to apply the fix. (BugDB #36440678 - Backport of BugDB #36440583)

  • A problem is fixed where the field awtBehindMb was not properly reported in TimesTenClassicStatus. (BugDB #36483835 - Backport of BugDB #36298633)

  • A problem is fixed where, occasionally, the ttStats utility failed to populate the Cmd Text or Source fields in the report for the statements executed. (BugDB #36484430 - Backport of BugDB #35939042)

  • A problem is fixed where the TimesTen Operator did not consider a Pod as unreachable if the status of the Pod was reported as Unknown. (BugDB #36488009 - Backport of BugDB #36304794)

  • A problem is fixed where, in Ubuntu, init containers were failing due to the use of dash as shell. (BugDB #36488026 - Backport of BugDB #36319717)

  • A problem is fixed where attempting to connect to a subscriber database with a FAILED replication state due to the replication log threshold being reached did not return error 8025. (BugDB #36488043 - Backport of BugDB #36378797)

  • A problem is fixed where, in an active standby pair replication scheme, the state of the recovered subscriber was not reset in the active database after the subscriber was duplicated from the standby database. (BugDB #36504724 - Backport of BugDB #36122887)

Changes for Release 18.1.4.41.1 from Release 18.1.4.41.0

  • A problem is fixed where ERROR 48141 INITIALIZING PLSQL_MEMORY was returned when an external user other than the instance administrator attempted to establish a direct connection to the database. (BugDB #36458419)

Changes for Release 18.1.4.41.0 from Release 18.1.4.40.0

  • A problem is fixed where a timing issue on highly concurrent workloads that consist of join queries and update or delete operations on the tables involved in the join queries could cause the queries to fail and return Assert and Tpg sane messages in the daemon log. (BugDB #36054949)

Changes for Release 18.1.4.40.0 from Release 18.1.4.39.0

  • A problem is fixed where the socket routine in the handler for the daemon would wait forever if there were many socket connections that were not sending proper messages to the daemon. (BugDB #36164672)

Changes for Release 18.1.4.39.0 from Release 18.1.4.38.0

New Features

  • This release includes a new version of the TimesTen Kubernetes Operator. The TimesTen Kubernetes Operator provides the following new features:

    • Helm charts supporting the provisioning and upgrade of the TimesTen Operator and TimesTen Classic by using Helm.

    • The TimesTen Kubernetes Operator now publishes metrics to Prometheus.

    • If the Prometheus Operator is deployed in your cluster, the TimesTen Kubernetes Operator can automatically add TimesTen databases and the TimesTen Operator to your Prometheus configuration.

  • This release includes Apache ZooKeeper 3.8.3. It is strongly recommended that you upgrade your ZooKeeper servers used for TimesTen Scaleout to this new version.

Bug Fixes

  • A problem is fixed where heap corruption due to stale out-of-line columns resulted in assertion failure. (BugDB #35381093)

  • A problem is fixed where the ttRepAdmin -duplicate command failed if TLS was only enabled as optional on the receiver. (BugDB #35783877 - Backport of BugDB #35728217)

  • A race condition between a log inserter and the log flusher that could cause an assertion failure is fixed. (BugDB #35890807)

  • This release no longer prints an error in the daemon log for CTN wrap-around operations. (BugDB #35896092)

  • A problem is fixed where, on a duplicated database, tables with XLA subscriptions on the original database could not be dropped even when the -delXla option of the ttRepAdmin -duplicate command was used to duplicate the database. (BugDB #35898259 - Backport of BugDB #35895266)

Changes for Release 18.1.4.38.0 from Release 18.1.4.37.0

  • A problem is fixed where the replication log cursor could not progress. This caused the log files to accumulate in the active database and later an error when the log failure threshold was exceeded. (BugDB #35647789)

  • A problem is fixed where replication log holds could not progress due to a missing rollback log record. (BugDB #35774580)

  • A problem is fixed where replication log holds would not resume after being halted due to lack of disk space and more disk space was made available. (BugDB #35775001)

Changes for Release 18.1.4.37.0 from Release 18.1.4.36.0

  • TimesTen is now certified to support Oracle Linux 9.

Changes for Release 18.1.4.36.0 from Release 18.1.4.35.0

  • A problem is fixed where a Commit Ticket Number (CTN) wraparound could invalidate the database or cause restart issues with the replication agent. The fix in this release corrects a problem with an earlier fix for this issue. (BugDB #34237513, BugDB #34265447, BugDB #35239124, BugDB #35523432, BugDB #35560190, and BugDB #35775194)

Changes for Release 18.1.4.35.0 from Release 18.1.4.34.0

  • A problem is fixed where the database hanged due to a latch deadlock between the log flusher and the log buffer inserters. (BugDB #35449647)

  • A problem is fixed where a temporary index was created with materialized results every time. This fix is a behavior change from a previous release and can be controlled using the TmpIdxForMatRes optimizer flag or TT_TmpIdxForMatRes statement level hint. The default value for TmpIdxForMatRes is 0. (BugDB #35464815 - Backport of BugDB #35464766)

Changes for Release 18.1.4.34.0 from Release 18.1.4.33.0

New Features

  • This release now supports Oracle Database Release 21c for cache operations.

  • This release includes Apache ZooKeeper 3.8.1. It is strongly recommended that you upgrade your ZooKeeper servers used for TimesTen Scaleout to this new version.

Bug Fixes

  • In previous releases, in TimesTen Classic, tables with foreign key dependencies needed to be restored together for the restore operation to succeed. The issue is fixed. (BugDB #35315322 - Backport of BugDB #35242158)

  • A problem is fixed where unnecessary permision checks on connects could sometimes result in spurious errors: User username does not have group permision to connect to the database. (BugDB #35338341 - Backport of BugDB #34747548)

  • A problem is fixed that caused the ttMigrate -r -numthreads utility to fail while restoring a foreign key relationship. (BugDB #35374717 - Backport of BugDB #35374194)

Changes for Release 18.1.4.33.0 from Release 18.1.4.32.0

  • A problem is fixed where repeatedly inserting or deleting rows containing an out-of-line column or updating an out-of-line column caused the in-use size of the database to grow. (BugDB #35189587 - Forward port of BugDB #35189403)

  • A problem is fixed where a SQL exception, such as a constraint violation, could invalidate the database if the database was operating under heavy DML workload. (BugDB #35245636)

Changes for Release 18.1.4.32.0 from Release 18.1.4.31.0

  • A problem is fixed where unattached memory segments were not removed when the main daemon restarted if it was previously terminated before it could finish touching memory pages. (BugDB #34905803)

  • A problem is fixed where replication of transactions with a large amount of out-of-line data could lead to error TT16031 on the receiving database. (BugDB #35005765 - Backport of BugDB #34747475)

    To enable this fix, set the value of the ReplReceiverMultVCBuffers parameter to 1 on the receiving database:

    CALL ttDBConfig('ReplReceiverMultVCBuffers','1');
  • This release enhances the trace messages to capture the state of the replication log cursor. It also enhances the ttRepAdmin utility to print current log record information. A log trace level greater than or equal to 20 is required to enable the new trace messages. (BugDB #35018563)

Changes for Release 18.1.4.31.0 from Release 18.1.4.30.0

  • A problem with excessive and misleading daemon log messages relating to aging is fixed. (BugDB #34784255 - Backport of BugDB #34777457)

  • A problem is fixed where XLA applications were able to read two-safe transactions before other database connections. (BugDB #34887700 - Backport of BugDB #34761059)

    To enable this fix, set the value of the XlaReaderWaitTxnVisible parameter to 1:

    CALL ttDBConfig('XlaReaderWaitTxnVisible','1');
  • This release improves the handling of replicated VARCHAR2 out-of-line data in the receiving replication agent. (BugDB #34948343 - Backport of BugDB #34773132)

Changes for Release 18.1.4.30.0 from Release 18.1.4.29.0

  • A problem is fixed where a CREATE CACHE GROUP statement would lock some Oracle objects to create the metadata objects even if the objects already existed. (BugDB #34695254 - Forward port of BugDB #34641177)

  • A problem is fixed with the ZooKeeper client for TimesTen Scaleout where frequent DNS calls to resolve hostnames could overload DNS servers with requests. (BugDB #34729349 - Backport of BugDB #34716434)

Changes for Release 18.1.4.29.0 from Release 18.1.4.28.0

  • A problem with memory allocation for insert or update operations is fixed. (BugDB #34676797)

Changes for Release 18.1.4.28.0 from Release 18.1.4.27.0

  • In previous releases, when a classic replication scheme included multiple masters, the replication agent while trying to apply transactions from different databases could run into improperly handled deadlocks. The replication operation would hang as a result. This issue is fixed. (BugDB #34577070)

  • When running Java 8 after Oracle JDK 8u301 (JDK-8153005), the creation of certificates failed with a "Could not derive key" error. This release updates the version of the cryptoj.jar file to fix the issue. (BugDB #34630420 - Backport of BugDB #34630389)

Changes for Release 18.1.4.27.0 from Release 18.1.4.26.0

  • A problem is fixed that caused replication to an Oracle database (AWT cache groups) to hang after recreating the standby database in a two-safe active standby pair. (BugDB #34097271)

  • The TimesTen Kubernetes Operator is now deployed using a security context which drops all OS privileges. (BugDB #34195376)

  • A problem is fixed where the failure of a direct mode application container could result in a failover of TimesTen to the standby database. (BugDB #34405985)

  • A problem is fixed where a failed transmitter thread start or restart could cause a memory leak. (BugDB #34419898 - Backport of BugDB #34352769)

  • A problem is fixed where, under certain scenarios, a receiver thread restart could cause a memory leak. (BugDB #34447175)

  • A problem is fixed where a SQL statement used to retrieve or update metadata could cause a memory leak. (BugDB #34475860 - Backport of BugDB #34457914)

  • Security context settings specified in TimesTenClassic and TimesTenScaleout objects are now properly passed on to Kubernetes. (BugDB #34505871)

  • A memory leak that could occur along error paths during a ttRepAdmin -duplicate operation is fixed. (BugDB #34515877)

Changes for Release 18.1.4.26.0 from Release 18.1.4.25.0

New Features

  • This release includes Apache ZooKeeper 3.8.0. It is strongly recommended that you upgrade your ZooKeeper servers used for TimesTen Scaleout to this new version.

  • This release contains updates to the TimesTen Kubernetes Operator. The Operator includes significant new functionalities, including:

    • The TimesTenScaleout object type, which enables the Operator to easily deploy grids from TimesTen Scaleout.

    • Support for the TimesTen Prometheus Exporter.

    • Simplified installation process. Only one container image is required both to run the Operator and to run TimesTen itself.

    • Ability to work with Oracle-supplied container images. Container images of TimesTen and all its prerequisites are available at https://container-registry.oracle.com. The Operator can directly be executed using these images.

    • Ability to change the user and group used to run TimesTen.

    These new functionalities resulted in a number of changes to the way that the Operator is packaged, and in the image formats that it supports.

    • By default, TimesTen and Operator now run as the timesten user.

    • The directory locations of various items are changed.

    The Operator can automatically upgrade TimesTen Classic databases associated with TimesTenClassic objects from one patch release of TimesTen to another. However, because of the changes described above, it is not possible to automatically upgrade a deployed active/standby pair of TimesTen Classic databases from a release previous to this one. Similarly, downgrades from this release to previous releases are not supported. TimesTen deployments created by the Operator in this release can be upgraded to subsequent TimesTen patch releases without issue.

    See Overview of the Oracle TimesTen Kubernetes Operator in Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.

Bug Fixes

  • This release adds new rows in the v$repstats view to track the read position in the transaction log of the transmitter thread for replication. (BugDB #34119452 - Forward port of BugDB #32989457)

  • A problem is fixed where daemon log files would either not be rotated and a single file would grow beyond the maximum specified size or the files would stop being written. (BugDB #34177506 - Backport of BugDB #34032225)

  • A problem is fixed where, under certain circumstances, updating the replication statistics caused an assertion failure. (BugDB #34224575 - Forward port of BugDB #31382397)

  • A problem is fixed where the information gathered by interval statistics was incorrect, which changed the query optimizer plan. (BugDB #34311152 - Backport of BugDB #34285000)

  • A problem with interval statistics on columns without range index was fixed. (BugDB #34465746 - Backport of BugDB #34311169)

Changes for Release 18.1.4.25.0 from Release 18.1.4.24.0

  • A problem is fixed where the ttRepAdmin -duplicate command (and other replication operations) failed due to the name of the replication host appearing in multiple lines in the /etc/hosts file. (BugDB #34013364 - Forward port of BugDB #31857874)

  • A problem is fixed where SQL queries with a NULL value for a ? parameter failed. (BugDB #34106789 - Backport of BugDB #34075277)

  • In previous releases, a heap assertion due to not switching to system transaction for the permanent heap invalidated the database during reclaim phase of recovery. The problem is fixed. (BugDB #34121026 - Backport of BugDB #33828964)

Changes for Release 18.1.4.24.0 from Release 18.1.4.23.0

  • A problem is fixed where a B-tree index cursor operation could invalidate the database. (BugDB #33847074 - Backport of BugDB #33767655)

Changes for Release 18.1.4.23.0 from Release 18.1.4.22.0

  • In this release, the TimesTen client on Linux x86-32 systems now supports client/server connections over Transport Layer Security (TLS) to provide encrypted network communication. (BugDB #30435732)

  • A problem is fixed where SSL/TLS connection errors with expired certificates were handled incorrectly. (BugDB #33789220 - Backport of BugDB #33771090)

Changes for Release 18.1.4.22.0 from Release 18.1.4.21.0

New Features

  • This release includes a TTClasses library linked against TimesTen driver manager, libttclassesTTDM.so. (BugDB #33756674 - Backport of BugDB #33668736)

Bug Fixes

  • A problem is fixed where certain SQL queries containing a WITH clause and a UNION operator could return the wrong result. (BugDB #33590462 - Backport of BugDB #33486276)

  • A problem is fixed where small memory segments used for client/server connections where only destroyed once the connection was terminated instead of as soon as the segments were out of use. (BugDB #33631635 - Backport of BugDB #31460919)

  • A problem is fixed where the activePermInUse and standbyPermInUse metrics reported incorrect values. (BugDB #33680271 - Backport of BugDB #33652345)

Changes for Release 18.1.4.21.0 from Release 18.1.4.20.0

  • This release now reports activePermInUse and standbyPermInUse metrics in TimesTen Kubernetes Operator log. (BugDB #33308656)

  • In this release, the ttLoadFromOracle utility and read-only cache groups are enhanced to work with NCHAR or NVARCHAR2 columns on Oracle database when the national character set is UTF8. The data type set for the columns in the TimesTen tables must be CHAR or VARCHAR2, respectively. (BugDB #33386289)

  • A problem is fixed where the TimesTen Kubernetes Operator log reported incorrect values for the awtBehindMb metric. (BugDB #33386532)

  • A problem is fixed where, under certain circumstances, the TimesTen Kubernetes Operator failed to react if the active database failed. (BugDB #33435160)

Changes for Release 18.1.4.20.0 from Release 18.1.4.19.0

  • In this release, XLA bookmark information is reported in the TimesTen Kubernetes Operator log. (BugDB #33185439)

  • For the TimesTen Kubernetes Operator, the default for agentPostTimeout was incorrectly set to 6000. It is now 600 as documented. (BugDB #33313576)

  • When using the TimesTen Kubernetes Operator, if the active database failed while a newly-created standby database was catching up both databases were left in an inoperable state. The TimesTenClassic object associated with the databases is now placed into the ManualInterventionRequired state. Human intervention is required to correct the situation.(BugDB #33336786)

  • Additional diagnostics are reported in the TimesTen Kubernetes Operator log when the operator creates its TimesTen instance. (BugDB #33347034)

  • In previous releases, a rare edge case when multiple databases were caching the same tables with different cache admin users could lead to the wrong bookmarks being used. This problem is fixed. (BugDB #33369086 - Backport of BugDB #33360774)

Changes for Release 18.1.4.19.0 from Release 18.1.4.18.0

  • TimesTen now references every page of a shared memory segment immediately after the segment has been created. This avoids a specific class of memory errors that could otherwise arise due to the default memory management policy of the Linux kernel. As a result of this change, loading the database into memory may take a slightly longer time.

  • TimesTen now supports PermSize settings larger than 256 GB without the use of huge pages on Linux systems.

  • In this release, the daemon log message that indicates that the new deadlock-breaking mechanism has been started is Info type. The new message is of the format: XXXXX Info: XXXXX Log: Log: logMgrUnpublishedLWNInsert: XXXXX due to log flusher contention. Will retry the log insert. XXXXX indicates a variable length string that may change form message to message. (BugDB #33277162 - Backport of BugDB #33246081)

  • In this release, a possible deadlock condition in the TimesTen log manager is fixed. The symptoms were that the user DML operations appeared to hang, there was high CPU utilization from the TimesTen subdaemon process due to waiting and warning messages were printed in the TimesTen message log containing the content [...waiting for latch "Log Strand Insertion[1]"...] and [...waiting for latch "Log Flusher LWNHdrLSNTbl"...]. (BugDB #35819691 - Backport of BugDB #33208905)

Changes for Release 18.1.4.18.0 from Release 18.1.4.17.0

  • A problem is fixed where backup operations might stall for a long time on systems with constant background checkpoint operations running. (BugDB #33175574)

  • A problem is fixed that caused an error to be sent to the message log when MemoryLock was set to 4. (BugDB #33176102 - Backport of BugDB #33097190)

Changes for Release 18.1.4.17.0 from Release 18.1.4.16.0

  • The ttSchema utility no longer contains the -includePassword option. Also, in this release, the CREATE USER statement printed by ttSchema includes a random string so that the disabled password is not predictable. (BugDB #33143330 - Backport of BugDB #32918773)

  • A problem with concurrent materialized view updates of a row is fixed. (BugDB #33156491 - Backport of BugDB #32118671)

  • In this release, TimesTen reports the value of the PermSize attribute in the Kubernetes operator log. (BugDB #33165777)

  • A problem is fixed that prevents random crashes for multi-terabyte databases. (BugDB #33199190)

Changes for Release 18.1.4.16.0 from Release 18.1.4.15.0

  • This release includes ZooKeeper 3.6.3. Customers are advised to upgrade their ZooKeeper servers used for TimesTen Scaleout to this new version.

  • A problem that causes the ttMigrate utility to return error code TT2231 when migrating from 11.2.2.x to later major releases is fixed. (BugDB #33066918 - Backport of BugDB #32128770)

  • When using the TimesTen Kubernetes Operator and when recovering from the failure of both databases in an active standby pair, under some circumstances it could take longer than necessary to bring up the active database. This problem is fixed. (BugDB #33074719)

  • In previous releases, if you installed TimesTen in a location that TimesTen could not access, the error message that TimesTen returned was not helpful. In this release, the error message is improved. (BugDB #33075300 - Backport of BugDB #32956797)

  • A problem is fixed where terminated cache groups with fractional second intervals could not be recovered. (BugDB #33111568 - Forward port of BugDB #32945636)

  • If a cache group was autorefreshed due to a transient condition, it was possible for the full autorefresh to fail and an incremental autorefresh to resume if the transient condition was gone. This could result in a partially unloaded cache group. In this release, the autorefresh continues until a full autorefresh has been completed. (BugDB #33121644 - Forward port of BugDB #33043967)

  • In TimesTen Scaleout, when an element recovers through duplication, transient conditions can result in duplicated checkpoint/log files being persisted in the file system. In previous releases, integrity checks at the beginning of database duplication aggressively checked for the existence of these files that could cause the database recovery to fail repeatedly. In this release, these unnecessary checks have been removed. (BugDB #33131286)

Changes for Release 18.1.4.15.0 from Release 18.1.4.14.0

  • In the previous release, direct mode connections made by users other than the instance administrator would fail. This problem is fixed. (BugDB #33055853)

Changes for Release 18.1.4.14.0 from Release 18.1.4.13.0

  • When using the TimesTen Kubernetes Operator, the awtBehindMb field in TimesTenClassicStatus output reports how many megabytes of transaction log are present in TimesTen that have not yet been pushed to the Oracle database. In previous releases, this number could be incorrectly calculated in some circumstances. The calculation is corrected in this release. (BugDB #32698380 and BugDB #32805059)

  • When using the TimesTen Kubernetes Operator, a JSON representation of TimesTenClassicStatus is periodically written to the Operator's log for customer monitoring purposes. In previous releases, this was not done. (BugDB #32884459)

  • In previous releases, when using the TimesTen Kubernetes Operator, if both the active and standby databases in an active standby pair failed, the Operator might not recover the databases correctly if one instance entered the Unknown state. In this release, the Operator handles this sequence of events correctly. (BugDB #32925588)

  • In previous releases, if the environment variable ORACLE_BASE pointed to a read-only directory, then creation or loading of a TimesTen database would fail with error 8502: Error 48189 initializing PLSQL_MEMORY. This is fixed. (BugDB #32945853 - Backport of BugDB #32216156)

  • When using the TimesTen Kubernetes Operator, if both the active and standby databases in an active standby pair fail simultaneously there are cases when the Operator cannot determine which database is ahead. In such cases the Operator no longer attempts to automatically recover the databases. In previous releases the Operator could attempt to do so, unsuccessfully. (BugDB #32956707)

  • When using the TimesTen Kubernetes Operator, if the standby database in an active standby pair fails, and while the Operator is restoring the standby the Active then fails, in previous releases TimesTen would never be able to recover the active standby pair. This problem is fixed. (BugDB #32987853)

  • In previous releases, certain SQL queries that contained a WITH clause could return the wrong result. This is fixed. (BugDB #32989462 - Backport of BugDB #32928200)

  • In previous releases, when using the TimesTen Kubernetes Operator, if the active and standby databases failed simultaneously after the Operator recovers them, attempts to modify the active database could fail with error 8112. In this release, while recovering from such a failure, the Operator can drop any cache groups in the active database and can re-run the user's cachegroups.sql file, in some circumstances. (BugDB #32993130)

Changes for Release 18.1.4.13.0 from Release 18.1.4.12.0

  • In TimesTen Scaleout, certain error conditions during a ttLoadFromOracle operation could lead to a SEGV. This problem is fixed. (BugDB #32920937)

  • Log read stability is improved in this release. (BugDB #32764274 - Backport of BugDB #32699204)

Changes for Release 18.1.4.12.0 from Release 18.1.4.11.0

  • A problem is fixed where an error condition while loading Oracle data on TimesTen Scaleout using the ttLoadFromOracle utility could cause an assertion. (BugDB #32864255)

Changes for Release 18.1.4.11.0 from Release 18.1.4.9.0

  • This release contains new features for the TimesTen Kubernetes Operator. The new features include:

    • Support for automated upgrades of TimesTen

    • Ability to recover TimesTen if both databases in an active standby pair fail

    • Ability to suspend the management of a TimesTenClassic object

    • Support for direct mode applications

    • Support for additional CRD syntax elements

    • Enhancements to TimesTenClassicStatus

    • Support for running containers as non-root

  • A problem is fixed that prevented using HugePages with the connection attribute MemoryLock set to 4. (BugDB #30760775)

  • A problem is fixed where TimesTen client connections would fail after 30 seconds. (BugDB #32746952 - Forward port of BugDB #32740629)

  • An issue has been fixed that caused an overflow when creating a unique index on a large table. (BugDB #32817772)

  • In previous releases, a batch update on a dynamic cache group could lead to a crash. This problem is fixed. (BugDB #32864746)

Changes for Release 18.1.4.9.0 from Release 18.1.4.8.0

  • This release contains two new options for the ttLoadFromOracle utility. These options speed up loading large data sets into non-readonly cache groups.

    The SkipCacheChecks option allows data to be loaded into non-readonly cache group tables with ttLoadFromOracle utility. This option is not used by default. Valid values are Y and N.

    The DryRun option checks if reading data on the Oracle database can be parallelized across multiple fetchers and stops before loading any rows. If parallelizing the reads is possible, ttLoadFromOracle returns success. Otherwise it returns an error. This option is not used by default. Valid values are Y and N.

  • An issue that might cause an assertion during checkpointing has been fixed. (BugDB #32449495 - Backport of BugDB #32498023)

  • In previous releases, if a large number of connections simultaneously connected to elements on a large grid, queries could fail due to an inability to create communication channels between the elements. This problem is fixed. (BugDB #32654342 - Backport of BugDB #32651929)

  • In previous releases, running the ttOptEstimatesStats built-in procedure on a standby database could cause a buffer over run assertion. This problem is fixed. (BugDB #32670979 - Backport of BugDB #32307505)

Changes for Release 18.1.4.8.0 from Release 18.1.4.7.0

  • Improved log manager diagnostics. (BugDB #32449495 and BugDB #32449521 - Backport of BugDB #32225061 and BugDB #32420187)

  • In previous releases, if there were multiple failed connection attempts in a short period of time, defunct child servers would accumulate, resulting in an error indicating that no more processes were available. This problem is fixed. (BugDB #32560604 - Backport of BugDB #29747131)

Changes for Release 18.1.4.7.0 from Release 18.1.4.6.0

  • A problem is fixed where rare error conditions could lead to a parallel LOAD CACHE GROUP operation using the wrong credentials to select on the Oracle database. (BugDB #32202049 - Backport of BugDB #32480322)

Changes for Release 18.1.4.6.0 from Release 18.1.4.5.0

  • An optimizer hint has been added to have the COUNT function return a TT_INTEGER instead of a TT_BIGINT. (BugDB #32466032 - Backport of BugDB #32466016)

Changes for Release 18.1.4.5.0 from Release 18.1.4.4.0

  • A problem is fixed where a connection storm could cause new connection requests to be rejected. (BugDB #32214368 - Backport of BugDB #32198508)

  • In previous releases client connections could fail if an inconsistent value for the ForceDisconnectEnabled connection attribute was supplied in the connection string. This is fixed. (BugDB #32243854 - Backport of BugDB #32228891)

  • A rare deadlock between dynamic load and autorefresh could occur and result in an error message in the daemon log. (BugDB #32244827 - Backport of BugDB #32224367)

  • In previous releases when a client with many open connections was forced to shut down, many error messages would fill both the daemon and support logs. In this release, the messages now appear as INFO and are only sent to the support log. (BugDB #32281255- Backport of BugDB #32228936)

  • A problem is fixed where a ttIsql command would try to open a mesg file that did not exist. (BugDB #32297690 - Backport of BugDB #32188026)

Changes for Release 18.1.4.4.0 from Release 18.1.4.3.0

  • For TimesTen Classic, this release contains several new features for the Oracle TimesTen Kubernetes Operator (TimesTen Operator). See Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.

  • TimesTen supports password management functionality by using profiles. A profile consists of a set of limits on the database password parameters. A profile can be assigned to one or more users. A user who is not assigned a profile is subject to the limits of the DEFAULT profile. See Oracle TimesTen In-Memory Database SQL Reference.

  • For use with Transport Layer Security (TLS), new options for the ttCreateCerts utility allow you to specify the elliptical curve signing algorithm, size of the elliptical curve, and duration for which the certificates are valid. See Oracle TimesTen In-Memory Database Security Guide.

  • When a SELECT is done in the TimesTen client/server driver, a set of SQLFetch operations is performed. Each time the buffer is exhausted, another set of rows is requested until all rows have been fetched and returned to the client. Previously, the maximum size of the returned buffer was hard-coded to 256 KB or 200 rows, whichever is reached first. In this release, the user can set custom limits using one of the following operations:

    • TimesTen connection attributes for the client connection string or client DSN definition:

      TTC_NetMsgMaxRows

      TTC_NetMsgMaxBytes

    • ODBC attributes that you can set and get with SQLSetStmtAttr and SQLGetStmtAttr:

      TT_NET_MSG_MAX_ROWS

      TT_NET_MSG_MAX_BYTES

      These can also be set with SQLSetConnectAttr, which provides initial default values for statement objects created from the connection.

    • JDBC Statement object methods to set or get the attributes:

      void setTtNetMsgMaxRows(int rows)

      int getTtNetMsgMaxRows()

      void setTtNetMsgMaxBytes(int bytes)

      int getTtNetMsgMaxBytes()

      You can also call the set methods from a Connection object, which provides initial default values for statement objects created from the connection.

    • The JDBC statement getFetchSize() and setFetchSize() methods are mapped to getTtNetMsgMaxRows() and setTtNetMsgMaxRows() respectively.

Changes for Release 18.1.4.3.0 from Release 18.1.4.2.0

  • In this release, a problem is fixed where TimesTen replication could loop while reading log records. The problem would resolve when the user restarted replication. This problem impacted some, but not all subscribers. (BugDB #31939615 and BugDB #31963773 - Backport of BugDB #31931953)

  • This release contains improved assertion diagnostics for latch stability. (BugDB #31963787 - Backport of BugDB #31963612)

Changes for Release 18.1.4.2.0 from Release 18.1.4.1.0

  • A problem is fixed where an assertion could occur during a dynamic load of a cache group with hash indexes. (BugDB #31806677 - Backport of BugDB #31765975)

  • A problem is fixed where checkpoints could fail or take a long time to complete. (BugDB #31849763 and #31902277 - Backport of BugDB #31707345 and #31740312)

  • A problem is fixed where parallel load cache group could fail with lock timeouts. (BugDB #31860854 - Backport of BugDB #31805396)

Changes for Release 18.1.4.1.0 from Release 18.1.3.1.0

New Features

  • For TimesTen Classic, this release contains the Oracle TimesTen Kubernetes Operator (TimesTen Operator). The TimesTen Operator provides the ability to create and deploy highly available replicated pairs of TimesTen databases to a Kubernetes cluster with minimal effort. In addition, the TimesTen Operator provides the ability to automate failure detection and recovery. See Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.

  • For TimesTen Classic, this release has been certified to run in containers managed by Kubernetes. The following environment was used for the certification:

    • Kubernetes v1.13.5 in Oracle Kubernetes Environment (OKE).

    • A container on Oracle Linux 7 or a container based on a base SUSE Enterprise Server 15 image.

  • You can enable Transport Layer Security (TLS) to provide encrypted network communication for replication agent communication and client/server communication. Client/server over TLS is not supported on Linux32 in this release. See Oracle TimesTen In-Memory Database Security Guide.

  • When using Oracle TimesTen In-Memory Database Cache, you can now set a time interval for calculating the fragmentation percentage of the change log tables on the Oracle database. Use the ttCacheConfig built-in procedure providing the AutorefreshLogMonitorInterval as the value parameter.

  • In TimesTen Classic, automatic client failover no longer is limited to scenarios that include an active standby pair replication scheme. The client can automatically fail over from one database to another using generic automatic client failover. This is especially useful if you are using read-only cache groups. See Using automatic client failover in Oracle TimesTen In-Memory Database Operations Guide

  • This release contains support for the VSIZE SQL function, a scalar function that returns the number of bytes in the internal representation of an expression.

  • This release of TimesTen Scaleout has a new type of backup: staged backups. This type of backup eliminates the overhead of creating local copies of the checkpoint and log files and reduces the network traffic of creating a remote copy in the repository. Staged backups are ideal for when you want to make regular backups on a second site that is independent to your main site.

  • To increase the performance of database import operations, the ttGridAdmin dbImport command now enables you to use multiple threads to import database objects with the use of the -numThreads option.

  • This release allows you to set a timeout (in milliseconds) for channel create requests to a remote element with the ChannelCreateTimeout general connection attribute. This timeout avoids potential channel create hangs due to software issues or network failures. In this release, the default value is 0. (The documentation incorrectly states the default value as 30,000.)

  • The CURRENT_SCHEMA parameter has been added to the SYS_CONTEXT function.

  • This release contains support for the TO_TIMESTAMP SQL function. TO_TIMESTAMP is a datetime function that converts a CHAR or VARCHAR2 data type to a value of TIMESTAMP data type.

  • This release contains support for the ACCESSIBLE BY clause. You can use the ACCESSIBLE BY clause in the CREATE FUNCTION, CREATE PROCEDURE, and CREATE PACKAGE statements.

Bug Fixes

  • In previous releases, queries on the SYS.USER_USERS or SYS.DBA_USERS views could fail with an error indicating an incorrect resource limit value instead of UNLIMITED. In this release, the max value for UNLIMITED in both of these views is TT_BIGINT. (BugDB #28349381 and BugDB #30794417)

  • In previous releases, when using TimesTen Scaleout, materialized views that have different distribution schemas than the base tables contain inaccurate information after evict operations. This problem is fixed. (BugDB #30175635)

  • A memory leak in the TimesTen server has been fixed. (BugDB #30376195)

  • In previous releases, the command to force a connection to disconnect could be ignored by the system. This issue is fixed. (BugDB #30407097)

  • An issue is fixed in this release where, under certain system configurations, the CkptRate attribute setting was not being honored properly by TimesTen. (BugDB #30533832)

  • In previous releases, when a user started the TimesTen daemon without executing the ttenv.sh or ttenv.csh script, the cache agent would not start. This problem is fixed. (BugDB #30616019)

  • In previous releases a heap buffer corruption during SQL compilation could invalidate the database. TimesTen now returns a runtime error if this problem is detected. (BugDB #30602916 and BugDB #30700586)

  • A problem is fixed where a SEGV error would occur when a view that did not contain certain columns was part of a join operation inside of a PL/SQL block. (BugDB #30714068)

  • In this release, a performance regression is fixed. In previous releases, some operations could take an extra long time to complete when the database was under a high workload. (BugDB #30752313)

  • A problem is fixed where some TimesTen diagnostics files used large amounts of disk space. (BugDB #30762459)

  • In this release, TimesTen uses less temp space during recovery. (BugDB #30814797)

  • A problem is fixed where a specific Oracle error caused by running Database Replay on the Oracle database could lead the autorefresh cycle to be a full autorefresh for incremental autorefresh cache groups when autorefresh select limit is used. (BugDB #30870273)

  • A problem is fixed where replica sets could fail to recover during LBCU recovery, when using TimesTen Scaleout. (BugDB #30880449)

  • A problem is fixed where a SEGV error would occur when processing ref cursors in a C function in a Pro*C or OCI program. (BugDB # 30998539)

  • An overflow issue with a large number of IN list values is fixed in this release. (BugDB #31020480)

  • This release contains a fix for a performance degradation that caused TimesTen to read more often from persistent storage. (BugDB #31147999)

  • On NUMA machines with a large number of CPUs TimesTen could crash while loading a database into RAM. This problem is fixed. (BugDB #31295922)

Changes for Release 18.1.3.1.0 from Release 18.1.2.2.0

New Features

  • TimesTen is now certified to support these additional platforms:

    • Solaris 11.3 and 11.4 on Intel and Sparc 64-bit

    • Linux SUSE Enterprise Server 15

    • IBM AIX 7.2

    • macOS 10.9.2, 10.11, 10.13.6 and 10.14.6

    • Linux 32-bit client only

  • In this release, TimesTen adds support of Python and Node.js through the Oracle Database Programming Interface for C (ODPI-C). For each language, there is an open source package, or driver, available through GitHub and maintained by Oracle. See Oracle TimesTen In-Memory Database Open Source Languages Support Guide.

  • The ACTION, CLIENT_INFO, and MODULE parameters have been added to the SYS_CONTEXT function. See Oracle TimesTen In-Memory Database SQL Reference.

  • TimesTen now supports these scalar functions: ACOS, ASIN, ATAN, ATAN2, COS, COSH, EXP, LN, LOG, SIN, SINH, TAN, TANH. See Oracle TimesTen In-Memory Database SQL Reference.

  • Cache group autorefresh interval set to 0 milliseconds enables continuous autorefresh, where the next autorefresh cycle is scheduled immediately after the last autorefresh cycle has ended.

  • The syntax for table name in the SELECT statement allows optional parenthesis. This is also true for the SELECT clause of the INSERT...SELECT and CREATE TABLE AS SELECT statements. See Oracle TimesTen In-Memory Database SQL Reference.

  • Setting the CacheCommitDurable cache configuration parameter to 0 with the ttCacheConfig built-in procedure reduces the occurrence of lock contention between autorefresh and dynamic load requests in the same application. See Oracle TimesTen Application-Tier Database Cache User's Guide.

  • This release adds support in TimesTen Classic for the -open and -close options for the ttAdmin utility. You open and close a database in order to direct whether users can connect to that database. If a database is closed, user connection attempts are refused. When a database is closed only the instance administrator can connect to it. In TimesTen Classic, databases are open by default. See Oracle TimesTen In-Memory Database Operations Guide.

  • The SYS.V$SESSION view contains data for each current connection in TimesTen Classic. See Oracle TimesTen In-Memory Database System Tables and Views Reference.

  • SNMP traps were not shipped in previous 18.1 releases. Support for SNMP is included in this release of 18.1. See Oracle TimesTen In-Memory Database Error Messages and SNMP Traps.

Bug Fixes

  • Cache agent thread contentions are reduced in this release. (BugDB #27446726)

  • This release contains a feature to support Oracle connection pooling for client/server cache connections. By configuring the pool appropriately, applications can limit the number of open Oracle connections. (BugDB #28503586 - Forward port of BugDB #27453129)

  • In previous releases, the SELECT privilege on the Oracle database ARDL_CG_COUNTER prevented dynamic load with the reduced contention feature enabled. This problem is fixed. (BugDB# 29809872 - Backport of BugDB #29809244)

  • Column types returned by TimesTen to JDBC applications are different than the ones returned by the Oracle database in a TimesTen cache. This release contains the Java property timesten.oracle.type.mapping that returns the expected column types. (BugDB #30160298)

    To enable the fixed mapping, run your applications with:

    java -Dtimesten.oracle.type.mapping=true myJavaProgram myParams
  • In previous releases, in the event of a critical event (such as database invalidation) the TimesTen daemon log messages might be lost. In this release, to help diagnose the cause of the critical event, TimesTen collects a copy of a few minutes of daemon log entries at the time that a critical event occurs. (BugDB #30206361)

  • A problem has been fixed where a query with nested aggregates could cause an assertion. (BugDB #30258456)

  • A memory leak in the main TimesTen daemon has been fixed. (BugDB #30385213)

  • In previous releases, when trying to delete an instance, TimesTen deleted the current working directory instead. This problem is fixed. (BugDB #30399673)

  • A memory leak in the TimesTen server has been fixed. (BugDB #30580882 - Backport BugDB #30376195)

Changes for Release 18.1.2.2.0 from Release 18.1.2.1.0

New Features

  • You can use the SQLQueryTimeoutMsec connection attribute to specify the time limit in milliseconds within which the database should execute SQL statements. The value of SQLQueryTimeoutMsec can be any integer equal to or greater than 0. The default value is 0. A value of 0 indicates that the query does not time out. This attribute does not affect TimesTen Cache operations that are being processed on an Oracle database. This includes passthrough statements, flushing, manual loading, manual refreshing, synchronous writethrough, and propagating. Both SQLQueryTimeout and SQLQueryTimeoutMsec attributes are internally mapped to one timeout value in milliseconds. If different values are specified for these attributes, TimesTen retains the value specified by the SQLQueryTimeoutMsec connection attribute.

  • TimesTen active standby pair replication is supported with Oracle Clusterware 18c.

Behavior Changes

  • Users should no longer issue the ttGridAdmin dbDistribute -evict command with the -add or -remove options.

Bug Fixes

  • A problem is fixed where a segmentation fault could occur when TypeMode=1 and a query tries to convert an empty string to a number type. (BugDB #25501615)

  • A problem that caused timeouts of materialized views that had self joins of inner tables is fixed in this release. (BugDB #29014221)

  • In previous releases, the ttRestore utility did not respect the value of the Preallocate connection attribute when the value was 1. This problem impacted databases created by using the ttRepAdmin -duplicate command or the ttRestore utility. This problem is fixed. (BugDB #29214692)

  • A problem is fixed where an ALTER STANDBY PAIR...DROP SUBSCRIBER or an ALTER REPLICATION...DROP SUBSCRIBER statement is given priority over user workloads to avoid deadlocks when dropping a subscriber. (BugDB # 29278422)

  • A problem is fixed where the output of columns in a Replication Conflict Resolution report were truncated (which were not previously truncated) resulting in the generation of invalid XML in the report. (BugDB #29359698)

  • A compilation heap corruption could invalidate the database if the compilation heap header was corrupted. This problem is fixed. (BugDB #29371488)

  • A problem has been fixed where replication between hosts that have TimesTen 18.x releases and pre-18.x releases installed could break due to incorrect table aging comparison errors. (BugDB #29456369)

  • In previous releases, it was possible for the ttGridAdmin modelApply command to delete the current version of the model if the current version of the model was older than the Retain Days value. This problem is fixed. (BugDB #29642503)

    Before upgrading a grid to the 18.1.2.2.0 release, ensure that you perform these steps:

    1. Take note of the current values for Retain Days and Retain Versions in your grid.

      % ttGridAdmin gridDisplay
      ...
      Retain Days:                30
      Retain Versions:            10
      ...
    2. Set the values for Retain Days and Retain Versions to 0.

      ttGridAdmin gridModify -retainDays 0 -retainVersions 0
    3. After the upgrade, restore the values for Retain Days and Retain Versions in your grid.

      ttGridAdmin gridModify -retainDays 30 -retainVersions 10
  • A performance issue related to B-tree latch contention has been fixed. (BugDB #29664356)

  • A problem is fixed where a complex query returned TimesTen error 4053: Internal error: Failed to get offset. The command failed. (BugDB #29718157)

  • In previous releases, running an anonymous block could result in an internal error. In this release the ttTraceMon utility is enhanced to include new traces for PL/SQL compilation. Trace level 1 is for PL/SQL compilation and Trace level 2 is for PL/SQL execution. (BugDB #29863040 - Forward port of BugDB #20625183)

  • In previous releases, when recovering from a fuzzy checkpoint after activating replication for the first time, an assertion could occur. This problem is fixed. (BugDB #30025064)

  • An assertion failure in the function sbTupRefcountDecMacro is fixed in this release. (BugDB #3008138 - Forward port of BugDB #29916932)

  • In a previous release, an assertion failure could happen without printing a message to indicate the SQL statement in which the error occurred. In this release, TimesTen prints out the failing SQL statement. (BugDB #30179366 - Backport of BugDB #30119077)

Changes for Release 18.1.2.1.0 from Release 18.1.1.3.0

New Features

  • This release supports TimesTen Classic In-Memory Database, in addition to TimesTen Scaleout.

  • This release includes the Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide. The procedures for completing an installation have changed since the TimesTen 11.2.2 release.

  • You can attempt a re-synchronization of your data if the data distribution process is interrupted or fails to complete. Re-synchronization involves executing the ttGridAdmin dbDistribute -resync operation. See Recovering from a data distribution error in Oracle TimesTen In-Memory Database Scaleout User's Guide.

  • The TimesTen JDBC driver implements the JDBC 4.2 API (Java 8) and is certified to work with Java 8, 9, and 10 runtime environments (JRE). This includes support for standard REF CURSORs, large update counts, SQLType, and DatabaseMetaData enhancements.

  • You can gracefully shut down the database by disconnecting applications in an orderly fashion. The new forced disconnect option asynchronously disconnects all connected applications from the database, including those that are idle or unresponsive. See Disconnecting from a database in Oracle TimesTen In-Memory Database Operations Guide, ForceDisconnectEnabled, Force disconnect for Classic, and Force all connections to disconnect (dbDisconnect) for TimesTen Scaleout in Oracle TimesTen In-Memory Database Reference.

  • The ttCkptHistory built-in procedure was updated to add information about the number of actual transaction log files purged by a checkpoint and the reason for a transaction log hold. See Displaying checkpoint history and status in Oracle TimesTen In-Memory Database Operations Guide.

  • Some applications choose incremental autorefresh instead of full autorefresh mode for performance reasons. However, a full autorefresh could still be requested in some situations. You can set the DisableFullAutorefresh cache configuration parameter to 1 to disallow any full autorefresh requests for all cache groups defined with incremental autorefresh. See Disabling full autorefresh for cache groups in Oracle TimesTen Application-Tier Database Cache User's Guide.

  • The PLSQL_SESSION_CACHED_CURSORS connection attribute specifies the number of session cursors to cache. The default value is 50 and the range is 1-65535. See PLSQL_SESSION_CACHED_CURSORS in Oracle TimesTen In-Memory Database Reference.

  • PLSQL_OPEN_CURSORS is a ttDBConfig parameter that specifies the maximum number of PL/SQL cursors that can be open in a session at one time. The default value is 50 and the range is 1-65535. See ttDBConfig in Oracle TimesTen In-Memory Database Reference.

  • For TimesTen Scaleout, you can find proxy connection information by specifying the command ttGridAdmin dbStatus -proxies.

Behavior Changes

  • In previous releases, a call to the ODBC 2.5 SQLColAttribute function returned a blank field. In this release, a call to SQLColAttribute returns the owner name. This is a behavior change.

Bug Fixes

  • In previous releases, when dropping a table and creating a new table during a replication backlog, the replication agent could transmit work for a table that had been dropped. This problem is fixed. (BugDB #6053644)

  • When using asynchronous writethrough under no workload, the AWT sorter thread could consume 100% of the CPU. This problem is fixed. (BugDB #21556263 - Forward port of BugDB #21452176)

  • A deadlock could occur when trying to add a subscriber to a replication scheme. This problem is fixed. (BugDB #26546964 and BugDB #27433418- Forward port of BugDB #26383257)

  • A problem has been fixed where TimesTen would return Error 8110: Connection not permitted. This store may require master catchup, when an active store had closed abruptly and the standby was marked failed. (BugDB #27433402 - Forward port of BugDB #24007219)

  • A problem has been fixed where slow performance occurred because the cache agent executed PL/SQL using literal SQL strings instead of bind variables. (BugDB #27444093 - Forward port of BugDB #25906163)

  • This release contains a new built-in procedure for changing the frequency at which Waiting for latch... messages are printed. The built-in procedure is ttLatchWaitMsgTimeout. (BugDB #27692915 - Forward port of BugDB #27388330)

  • A problem is fixed where multiple dynamic load executions from the same TimesTen connection could lead to a memory corruption. (BugDB #27840782 - Forward port of BugDB #27753072)

  • A problem is fixed where connection errors could occur when trying to create many simultaneous client/server connections. (BugDB #28084560)

  • A problem is fixed where a full autorefresh could be triggered after manually loading a cache group. (BugDB #28130065 - Forward port of BugDB #27953067)

  • A problem related to reuse of constant expressions in NVL and CAST clauses of a SELECT operation is fixed in this release. (BugDB #28361914 - Forward port of BugDB #28325161)

  • An assertion could occur when a CREATE VIEW operation returned long view query results. This problem is fixed. (BugDB #28640816 - Forward port of BugDB #28618970)

  • A problem is fixed where memory from one shared cursor could consume most of the memory specified by the PLSQL_MEMORY_SIZE connection attribute and TimesTen would return error 4030. (BugDB #28715222 - Forward port of BugDB #18829074)

  • A problem is fixed where the ttRepAdmin -showstatus -detail command could show multiple entries for the same peer relationship and return confusing output. (BugDB #28716671)

  • An assertion failure that could occur at SQL parsing and at heap compilation when querying system tables now returns an error instead of asserting. (BugDB #28717010 and #27976616- Forward port of BugDB #27928747)

  • In previous releases, a compilation heap assertion failure could invalidate the database. This problem is fixed. (BugDB #28717013 - Forward port of BugDB #26535068)

  • Performance for certain SELECT queries was slower than in an older release of TimesTen. This problem is fixed. (BugDB #28717014 - Forward port of BugDB #)

  • A problem is fixed where a segmentation fault could occur during a query that contained a CASE statement and a GROUPBY clause. (BugDB #28448399)

  • A problem that caused a delay in a log-based catchup (LBCU) operation is fixed. (BugDB #28852175)

  • For TimesTen Scaleout, when upgrading from an 18.1.1.x release to this release, there was a problem that would prevent the creation of a duplicate grid management store from the previous release or duplicating a grid management store to the previous release. This problem was fixed. (BugDB #28890812)

  • An assertion failure during latch handling that caused database invalidation is fixed in this release. (BugDB #28902021)

  • A problem that caused a loop of disconnect failure for log-based catchup (LBCU) operation is fixed in this release. (BugDB #28920075)

  • In previous releases, a background checkpoint could fail if the system was waiting on an epoch. This would cause excess log records to accumulate. In this release, TimesTen retries the background checkpoint as soon as possible. (BugDB #28931970 - Forward port of BugDB #29039498)

  • An application using a mini-client produced by ttmkLiteClient could core dump when trying to connect. This problem is fixed. (BugDB #29286011)

Changes for Release 18.1.1.3.0 from Release 18.1.1.2.1

  • This release contains new options to the ttGridAdmin dbStatus command that provide information about connections. See Oracle TimesTen In-Memory Database Reference.

  • A problem is fixed where a query could return different results depending on the position of the optimizer hint. (BugDB #27424470 - Forward port of BugDB #27237541)

  • A problem is fixed where TimesTen could return a wrong result for a query with an aggregate push down when concurrent update operations involved tables used in the query. (BugDB #27444108 - Forward port of BugDB #25647667)

  • A problem is fixed where an assertion failure could happen during an update operation. (BugDB #28390068 - Forward port of BugDB #28289058)

  • In previous releases, if the ttGridAdmin modelApply command executed numerous times with a database created, eventually subsequent executions of ttGridAdmin modelApply failed. This is fixed. (BugDB #28425254)

  • A problem with batch insert with duplicate key is fixed. (BugDB #28522995)

Changes for Release 18.1.1.2.1 from Release 18.1.1.2.0

  • This release contains changes to the client-server driver, that can be used to configure the Oracle connection pool for IMDB Cache, which was added in TimesTen 11.2.2.8.33.

  • In previous releases, an import operation (ttGridAdmin dbImport) would fail on a grid with multiple instances that had the same instance name. This problem is fixed. (BugDB #28489389 - Backport of BugDB #28488704)

Changes for Release 18.1.1.2.0 from Release 18.1.1.1.0

New Features

  • TimesTen Scaleout now contains the TT_CommitDMLOnSuccess optimizer option that forces simple DML transactions to commit automatically on both elements of the replica set.

  • TimesTen Scaleout includes a new client routing API that enables C and Java client applications to route connections to an element based on the key value for a hash distribution key. This feature enables the client application to connect to the element that stores the row with the specified key value, avoiding unnecessary communication between the element storing the row and the one connected to your application. See Oracle TimesTen In-Memory Database C Developer's Guide and Oracle TimesTen In-Memory Database Java Developer's Guide.

  • This release contains system table and system view changes that are not documented. These changes are reserved for a future release.

Bug Fixes

  • A problem is fixed where TimesTen returned errors 1699 and 907 on the standby, when there were unique hash indexes on a replicated table. (BugDB #27086859)

  • A problem is fixed where the status of the standby database in an active standby pair replication scheme changed to IDLE after migration using the ttMigrate utility. (BugDB #27433379 - Forward port of BugDB #21124942)

  • A problem has been fixed where a deadlock could occur during an ALTER REPLICATION operation. (BugDB #27433413 - Forward port BugDB #26050592)

  • A problem is fixed where an assertion failure and database invalidation could happen during an update operation. (BugDB #27445399 - Forward port BugDB #27210882)

  • A problem is fixed where calling to a particular PL/SQL procedure when the database is empty would throw error TimesTen: ORA-06508: PL/SQL: Could not find program unit being called. (BugDB #27509032 - Forward port BugDB #27503945)

  • With very large group entries, the daemon startup could fail with a message like "{groupname}" is not a valid value for the -group option. This problem is fixed. (BugDB #28025300)

  • A problem is fixed where a final checkpoint could fail with a negative reference count on a slot inside a tuple page. (BugDB #28094755)

  • A problem is fixed where an INSERT SELECT operation with a UNION would fail to insert some rows. (BugDB #28188267)

  • Space allocation latch contention related to point queries such as SELECT 1 FROM A_TABLE WHERE PK=? has been fixed. (BugDB #28336156)

Changes for Release 18.1.1.1.0 from Release 11.2.2.8.29

New Features

Behavior Changes

  • Cache Advisor is removed from TimesTen in this release.

  • Cache grid and all its components are removed in this release.

  • Asynchronous WriteThrough cache groups are only supported with active standby pair replication schemes in this release.

  • The default value for the Preallocate connection attribute is 1.

  • The RangeIndexType connection attribute is removed in this release. By default, TimesTen uses B-tree indexes.

  • The default value for the CkptFrequency connection attribute is 0.

  • The default value for the CkptLogVolume connection attribute is now the value of the LogFileSize connection attribute.

  • The default value for the Connections attribute is the minimum of 2000 or the value of the kernel setting SEMMNS-15.

  • The values returned by some attributes to the ODBC call SQLGetInfo are changed. This affects both ODBC and JDBC.

    These are the changes to SQLGetInfo output:

    SQL_IBLE_PROCEDURES  "N" ==> "Y" 
    SQL_PROCEDURES             "N" ==> "Y" 
    SQL_FETCH_DIRECTION        [Not Supported]  ==> SQL_FD_FETCH_NEXT 
    SQL_TXN_CAPABLE            [SQL_TC_ALL] ==> [SQL_TC_DDL_COMMIT] 
    SQL_MAX_BINARY_LITERAL_LEN [0] ==> [16384] 
    SQL_MAX_CURSOR_NAME_LEN    [0] ==> [18] 
    SQL_MAX_INDEX_SIZE         [0] ==> [4194304] 
    SQL_MAX_ROW_SIZE           [0] ==> [4194304] 
    SQL_TIMEDATE_FUNCTIONS     Added SQL_FN_TD_NOW to bitmask. 
    SQL_OWNER_USAGE,           Added SQL_OU_PROCEDURE_INVOCATION  + 
    SQL_OU_PRIVILEGE_DEFINITION to bitmask.
  • If the number of columns provided in an INSERT AS SELECT statement is less than number of columns in a table, TimesTen now returns error message 843.

  • The default value for the LogBufMB connection attribute is 1024 MB.

  • The default value for the LogFileSize connection attribute is now the value of the LogBufMB connection attribute.

  • The default value for the CommitBufferSizeMax is 10 MB per connection.

  • The -delayFkeys option is removed from the ttMigrate utility. In this release, ttMigrate always delays the foreign keys check.

  • PL/SQL is always enabled.

  • Only Oracle mode is supported for duplicate bind mode.

  • DDL is always auto-committed.

  • ttDataStoreStatus builtin procedure did not separately classify client/server connections. This release includes a flag to indicate whether a connection is direct connect of a client server connection.

  • In the past, the TimesTen Connection.setAutoCommit method would result in a commit whenever it was called, regardless of whether the setting of the AUTOCOMMIT flag actually changed. Beginning in this release, there is a commit only when the method call actually changes the setting of AUTOCOMMIT.

  • Obsolete errors: sb_ErrCkptBlocked (606) and sb_ErrBackupBlocked (607) are not used anymore. They are replaced by sb_ErrCkptReserveBlocked (625). To prevent the new behavior from changing application logic, replace the obsolete errors (606 and 607) with sb_ErrCkptReserveBlocked (625).

  • The database ID of the latch is now included in the output of ttXactAdmin -latch command. This database ID can be used to externally release the latch.

  • Error message 907 (Unique constraint violation) is improved to include column names and values.

  • The sb_ErrOcDupKey error msg is improved to contain the column name and value of the row causing a load or autorefresh failure.

Bug Fixes

  • A problem is fixed where performance would slow because commands were accumulated in the command cache instead of being freed. (BugDB #13891496)

  • The database ID of the latch was included into the latch name. This database ID can be used to externally release the latch. (BugDB #14578460)

  • The WE8DEC character set is not supported in TimesTen. A problem is fixed where users could choose the character set WE8DEC although it it not supported. (BugDB #17557587)

  • A problem is fixed where an integer overflow would occur when calling SELECT COUNT (1) from a large table. (BugDB #18692578)

  • In previous releases, TimesTen returned an EOF failure when the database could not be loaded because it is was not in the expected location. In this release the error message contains the expected path to the database to help with troubleshooting. (BugDB #18899144)

  • An assertion would occur when using cachesqlget with oracle_ddl_tracking. This problem is fixed. (BugDB #19619587)

  • If the wrong UID/PWD was provided to a connection attempt and client failover was configured, the connect request would hang for the number of seconds specified by the TTC_TIMEOUT connection attribute. In this release an appropriate error is returned. (BugDB #19828640)

  • This release contains more diagnostics when an error occurs while checkpointing. (BugDB #19914524)

  • A problem is fixed where SQL-92 queries ran slowly. (BugDB #20198488)

  • This release contains more diagnostics when TimesTen returns error 805. (BugDB #20477397)

  • A memory leak in the JDBC driver has been fixed. The issue would occur when the daemon was down and the application continuously tried to connect. (BugDB #21225265)

  • A problem has been fixed where an invalid out-of-line value would be found in the SYS.CACHE.GROUP table when attempting to use the ttRepAdmin -duplicate command. (BugDB #21260424)

  • A problem is fixed where replication would stop replicating to all nodes on a system that involved more than 8 nodes. (BugDB #21695235)

  • The ttCheck utility failed with error 15009, when a user logged into the operating system as a user other than the instance administrator, or with error 7001, when the external user logged in as a user in the same group as the instance administrator. These problems are fixed. (BugDB #24285271)

  • In this release, a commit for a replicated transaction that is using either TWOSAFE or RETURN RECEIPT will not observe any SQL query timeout setting. It will only return after the time indicated by the wait value configured in the replication scheme. (BugDB #25039883)

Platforms and Compilers

Platform or operating system C/C++ compiler support JDK support(1)

Linux x86-64:

  • Oracle Linux 6, 7, 8.2 or later, and 9.2 or later

  • Red Hat Enterprise Linux 6, 7 and, 8.2 or later, and 9.2 or later

  • SUSE Enterprise Server 12 and 15

  • Ubuntu 22.04

TimesTen supports Native POSIX threads but not LinuxThreads.

Intel icc 17.0.2.174, gcc 4.4.7 or later

Oracle JDK 8, 9, 10, 11, 12, 13, 14, 17, and 21

Linux x86-32 (Client only):

  • Oracle Linux 6, 7, and 8.4 or later

TimesTen supports Native POSIX threads but not LinuxThreads.

Intel icc 17.02.174, gcc 4.7 or later

Oracle JDK 8 and 9

Solaris SPARC 64:

  • Solaris 11.3 and 11.4

Solaris Studio 12.6 for Solaris SPARC

Oracle JDK 8, 9, 10, 11, and 13

Solaris x86-64:

  • Solaris 11.3 and 11.4

Solaris Studio 12.6

Oracle JDK 8, 9, and 10

Microsoft Windows x86-64 (Client only):

  • Windows Server 2019

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows 10

  • Windows 8.1

Intel Compiler 14

Visual Studio 2012 (VC11)

Oracle JDK 8, 9, 10, and 11

IBM AIX Power PC 64-bit:

  • AIX 7.1 and 7.2

IBM xlC 13.1.0 Compiler for AIX

IBM JDK 8

macOS 64-bit (Client only):

  • 10.15 Catalina

  • 10.14 Mojave

  • 10.13 High Sierra

Apple Xcode 5.1.1

Oracle JDK 8, 11, and 14

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, ttjdbc09.jar, ttjdbc10.jar, ttjdbc11.jar, ttjdbc17.jar, and ttjdbc21.jar are copies of ttjdbc8.jar, implementing JDBC 4.2 (Java 8) only.

TimesTen is supported in virtual machines provided by Oracle VM.

Oracle Database

TimesTen ships the Oracle Database 12.1.0.2 version of Instant Client. In addition, TimesTen PL/SQL and other internal components are based on Oracle Database 12.1.0.2.

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.

TimesTen Cache

Oracle TimesTen Application-Tier Database Cache (TimesTen Cache) enables you to cache Oracle Database data in TimesTen. The TimesTen installation includes Oracle Instant Client. TimesTen Cache is supported with TimesTen Classic only.

The following Oracle server releases are supported with the TimesTen Cache option:

  • Oracle Database Release 12.1

  • Oracle Database Release 12.2

  • Oracle Database Release 18c

  • Oracle Database Release 19c

  • Oracle Database Release 21c

Replication Configurations

TimesTen only supports replication between identical platforms. Replication is supported with TimesTen Classic only.

Active standby pair replication is supported with Oracle Clusterware 12.2, 18c and 19c.

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

Kubernetes Operator

TimesTen and the TimesTen Kubernetes Operator are supported on Kubernetes 1.25, 1.26, 1.27, 1.28, and 1.29.

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

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

Apache ZooKeeper

TimesTen ships a modified version of ZooKeeper 3.8.3, to address various CVEs and other problems. Please refer to installation_dir/tt18.1.4.42.0/3rdparty/README-zookeeper.txt for details.

TimesTen Scaleout supports the following versions of ZooKeeper:

  • Any ZooKeeper version included in any TimesTen release within the same TimesTen major release cycle.

  • Any ZooKeeper version downloaded from Apache that meets the following criteria:

    • The ZooKeeper release is marked as Stable.

    • The ZooKeeper release is of the same ZooKeeper release line as a ZooKeeper version included in the TimesTen major release cycle.

Software Requirements

For software requirements, refer to:

Deprecated and Desupported Features

This section lists deprecated and desupported items. In this release, using a deprecated feature can, but do not necessarily, result in a warning. Deprecated items are permanently removed in a future release.

  • TimesTen supports SNMP V1 in this release. In a future release, TimesTen plans to support SNMP V3 and deprecate SNMP V1.

  • Because PL/SQL is now always enabled, the PLSQL connection attribute is deprecated.

  • Because now only Oracle mode is supported, the DuplicateBindMode connection attribute is deprecated.

  • Because DDL is now always auto-committed, the DDLCommitBehavior connection attribute is deprecated.

  • The ttSyslogCheck utility is deprecated in this release. (BugDB #29436501)

  • The TT_DECIMAL data type and the TIMESTEN8 character set are deprecated in this release.

  • Setting the ReplicationApplyOrdering connection attribute to a value of 1 is deprecated.

  • The ttSQLCmdCacheInfo2 builtin procedure is removed in this release. The ttSQLCmdCacheInfo builtin procedure supports the features of this builtin procedure.

  • The RangeIndexType connection attribute is deprecated.

  • Asynchronous Materialized Views are deprecated in this release.

  • The -convertTypestoTT and -convertTypeToOra command line options to the ttMigrate utility are deprecated.

  • The TypeMode connection attribute is deprecated. Oracle type mode is the default.

  • The OPTIMIZED FOR READ clause of the CREATE TABLE statement is deprecated.

  • The ttCompactTS builtin procedure is deprecated.

  • The CacheGridEnable connection attribute is removed.

  • For TTClasses, error checking must now be accomplished through {try/catch} blocks. Use of TTStatus& method parameters, previously deprecated, is now desupported, as are the TTStatus::DO_NOT_THROW setting and the -DTTEXCEPT compiler flag. (Compiling with -DTTEXCEPT will not produce an error, but will have no effect.) Application code that previously used TTStatus& parameters must be updated, as these parameters are no longer in the method signatures.

  • For TTClasses, The TTCmd::RePrepare() method is deprecated in this release. If the statement handle for a prepared statement becomes invalidated, call the TTCmd::Prepare() method again.

  • The ttSrcScan utility is no longer available for download from Oracle Technology Network (OTN).

Apache ZooKeeper

  • Your ZooKeeper server configuration file (zoo.cfg) must contain this allowed commands list: 4lw.commands.whitelist=stat, ruok, conf, isro

Backup/Restore

  • Restoring a grid backup (using the ttGridAdmin dbRestore command) succeeds only when all instances in the grid are running.

Client/Server

  • On UNIX, when using ttlocalhost, a client of one TimesTen instance cannot connect with a server of another TimesTen instance. The workaround is to use ttShmHost (shared memory IPC) or localhost (127.0.0.1).

  • While using shared memory as IPC, the application may see the error message 24 from the client driver if the application reaches the system-defined, per process file descriptor limit. This may happen during a connect operation to the Client DSN when the shmat system call fails because the application has more open file descriptors than the system-defined per-process file descriptor limit.

Documentation

  • A typo can be found in the first paragraph of Third-Party Notices and/or Licenses in Oracle TimesTen In-Memory Database Licensing Information. The paragraph should read instead:

    Commercial software products or components and Open Source software or components distributed in Oracle TimesTen In-Memory Database or Oracle TimesTen Application-Tier Database Cache are identified here along with the applicable licensing information.

Installation

  • On Oracle Linux 7, 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 Oracle Linux 9 systems, TimesTen requires the compat-openssl10 and libxcrypt-compat libraries. To install these libraries, run:

    sudo yum install compat-openssl10 libxcrypt-compat
  • On Linux x86-32 systems, the TimesTen client requires the ncurses-devel.i686 package. To install the package, run:

    sudo yum install ncurses-devel.i686
  • On Ubuntu, TimesTen requires the libaio and libxcrypt libraries. To install these libraries, run:
    sudo apt-get install libaio1 libcrypt1
  • On macOS, set your security preferences to allow applications downloaded from App Store and identified developers.

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.

  • On macOS, if you are running TimesTen JDBC applications, ensure that you include the following in the Java command line: ‑Djava.library.path=${TIMESTEN_HOME}/install/lib

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 Oracle Database 12.1.0.2, 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.

Oracle Database

  • ttLoadFromOracle may fail with error message ORA-01466, can't flashback because table definition too new. This problem may be the result of a missing patch in Oracle Database (Bug 6598432). This bug leads to ORA-01466 when the Oracle database timezone and the system timezone are different. If the user hits this problem, verify that the corresponding patch is applied.

  • If you encounter problems upgrading a CRS cluster to 12.1, ensure that the permissions on certain TimesTen directories are set correctly.

    These are the commands to ensure correct permissions:

    chmod 777 /opt/grid/gridbase/diag
    chmod 777 /opt/grid/gridbase/diag/crs/hostname
    chmod -R 775 /opt/grid/gridbase/diag/crs/hostname/crs_timesten 

PL/SQL

  • PLSQL_CODE_TYPE=NATIVE can be specified, but it is implemented as INTERPRETED.

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

  • UTL_FILE is limited to a temporary directory located in installation_dir/plsql/utl_file_temp. The instance administrator can grant to UTL_FILE to specific database users. Users can reference the directory using UTL_FILE if and only if they provide the string 'UTL_FILE_TEMP' for the location parameter string.

  • 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 18.1.4, 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.

  • In TimesTen Scaleout, the ALTER SESSION statement should return an error when attempting to alter an unsupported feature. Instead, no error is returned.

  • 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)

TimesTen Scaleout

  • TimesTen Scaleout supports a maximum of 64 data instances in this release.

  • Instances in a grid connect with each other over TCP/IP using ports within the dynamic port range. For this reason any active firewall needs to be configured to allow TCP/IP traffic over all possible ports in each host's dynamic port range. On Linux, you can determine the port range as follows:

    $ cat /proc/sys/net/ipv4/ip_local_port_range
    9000    65500 

    In this case, the host may allocate ports in the range 9000 through 65500.

  • Each process connected to a TimesTen Scaleout database keeps at least one operating system file descriptor open. Additional file descriptors may be opened for a connection when the connection commits or rolls back a transaction. If you receive an error that all file descriptors are in use when attempting to connect to a database, increase the allowable number of file descriptors. (BugDB #25815090)

  • Oracle Linux 9 deprecates the SCP protocol for OpenSSH and uses SFTP instead. TimesTen Scaleout requires the SCP protocol to properly deploy a grid. Add the following configuration to the ~/.ssh/sshd.config file of the instance administrator to switch back to the SCP protocol:

    subsystem sftp /usr/libexec/openssh/sftp-server
  • On Ubuntu, staged backups have limited performance.

TTClasses

  • TTClasses source code is not shipped with the product. The TTClasses libraries are included in this release.

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

  • Enhancements to the replication protocol mean that to perform an online upgrade between 11.2.2.8 and 18.1, the 11.2.2.8 release must be 11.2.2.8.27 or higher. If you are using a version prior to 11.2.2.8.27, you must upgrade to a newer 11.2.2.8 release and then perform an online upgrade to this release using the documented online upgrade steps. See TimesTen Upgrades in Oracle TimesTen In-Memory Database Installation Guide and Online upgrade: Using TimesTen replication in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.

  • On TimesTen Classic, if you are on 18.1.2, you must first upgrade to 18.1.2.5.0 or greater before upgrading to this release. If you are on 18.1.3, you must first upgrade to 18.1.3.5.0 or greater before upgrading to this release. See Upgrades in TimesTen Classic in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.

Error Messages

This section lists error messages added to TimesTen since the 18.1.4.1.0 release, which have yet to be added to Oracle TimesTen In-Memory Database Error Messages and SNMP Traps.

Error Number Error or Warning Message Details

4066

Retry log cursor read: 
error_message

Type of Message: Error

Cause: An internal error occurred during log cursor read. Review the error_message for more information.

Impact: Review the error_message for more information.

User Action: Review the error_message for more information. If this error persists, contact TimesTen Customer Support.

8526

You cannot use PLSQL=0 
when duplicating from a 
Database with PLSQL=1

Type of Message: Error

Cause: You cannot set PLSQL=0 in a ttRepAdmin -duplicate operation on a database which has PLSQL=1 set.

Impact: TimesTen failed to perform the operation.

User Action: Change the PLSQL attribute to 1 for the target of the ttRepAdmin -duplicate command and resubmit.

30200

Unable to allocate memory

Type of Message: Error

Cause: The TimesTen driver manager was unable to allocate memory.

Impact: TimesTen did not perform the operation.

User Action: Determine why there was no available memory and resolve the situation.

30201

Unable to load TimesTen 
native driver

Type of Message: Error

Cause: The TimesTen driver manager was unable to load a required TimesTen native driver.

Impact: TimesTen did not perform the operation.

User Action: Check your TimesTen instance type and the environment of the application (LD_LIBRARY_PATH).

30202

Handle is currently 
connected

Type of Message: Error

Cause: The SQLFreeConnect or SQLFreeHandle operation failed because the handle is currently in a connected state.

Impact: The handle is not freed.

User Action: Ensure that you disconnect the handle (SQLDisconnect function) before trying to free it.

30203

Invalid argument

Type of Message: Error

Cause: The application passed an invalid argument to a TimesTen driver manager function.

Impact: The requested operation was not performed.

User Action: Fix the application code and retry the operation.

30204

Function not supported by 
this version of TimesTen

Type of Message: Error

Cause: The application called a function that is not supported by this version of TimesTen.

Impact: The requested operation was not performed.

User Action: Fix the application code or use an appropriate version of TimesTen.

51016

Failed to write log record 
into an unpublished lwn

Type of Message: Error

Cause: TimesTen cannot insert a log record into a log write number (LWN) boundary in the specific strand.

Impact: The database cannot continue normal operations.

User Action: Contact TimesTen Customer Support.

Documentation Accessibility

Access to Oracle Support