Overview
This document provides late-breaking information for TimesTen 22.1.1.28.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 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.
TimesTen XE
Oracle TimesTen In-Memory Database Express Edition (TimesTen XE) is a free version of TimesTen. The latest release of TimesTen XE is 22.1.1.11.0. TimesTen XE includes all features and bug fixes available in TimesTen, but is subject to the restrictions listed in Oracle TimesTen In-Memory Database Quick Start Guide for Express Edition.
This document contains the following topics:
Changes for Release 22.1.1.28.0 from Release 22.1.1.27.0
- A problem is fixed where the
ttExporter
utility was unable to provide metrics for databases using theTIMESTEN8
character set. (BugDB #36967523 - Backport of BugDB #35674029)
New Features
-
This release includes a new version of the TimesTen Kubernetes Operator (TimesTen Operator). The TimesTen Operator runs in single and multi-architecture Kubernetes clusters. Pods that are created by the TimesTen Operator run on nodes of the same node type as the TimesTen Operator. The TimesTen Operator provides the following new features:
-
The TimesTen Operator provides full support for non-replicated TimesTenClassic objects. Databases in this configuration operate independently and have no relationship to each other:
-
The TimesTen Operator creates, manages, and monitors TimesTenClassic objects and associated databases in this configuration.
-
There is full support for upgrading (and downgrading) non-replicated TimesTenClassic objects to a new patch or patch set.
-
There are metrics for monitoring the overall status of non-replicated TimesTenClassic objects.
-
The TimesTen Operator provides and maintains high-level states for TimesTenClassic objects and TimesTen Pods in non-replicated configurations. These states describe the health of TimesTenClassic objects and the health of TimesTen databases in Pods.
-
-
There are metrics for monitoring the memory used by the TimesTen Operator and the TimesTen Agent.
-
The TimesTen Operator uses Custom Resource Definition (CRD) versioning to provide two different schema versions for the TimesTenClassic CRD. The TimesTen Operator creates, monitors, and manages TimesTenClassic objects in both schema versions.
-
The TimesTen Operator provides and enables readiness probes for TimesTen containers in replicated and non-replicated configurations by default.
-
To support the new features, the
.spec.ttspec
section of the TimesTenClassic object type includes the following new datum:-
createASReadinessProbe
-
readOnlyRootFilesystem
-
replicas
-
replicationTopology
-
rollingUpdatePartition
-
terminationGracePeriod
-
-
Helm and the associated Helm charts (
ttcrd
,ttoperator
, andttclassic
) support the new features.
See Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.
-
Bug Fixes
-
A problem is fixed where the record of transactions received for replication was not cleared when a
DROP REPLICATION
statement was replayed during database recovery. (Bug DB #36912529)
New Features
-
This release now supports Oracle Autonomous Serverless 19c for the Transaction Processing workload type for cache operations.
Bug Fixes
-
A problem is fixed where a
SELECT
query causes a segmentation fault due to a set operator requiring a sortedDISTINCT
with a residual condition and mismatched nullable attribute of projected columns. (Bug DB #36858063)
New Features
-
TimesTen Classic now supports the Linux arm64 platform.
-
The TimesTen Kubernetes Operator now supports the Linux arm64 platform for TimesTenClassic objects. Pods created by the Operator will run on Nodes of the same architecture as the Operator.
Bug Fixes
-
A problem is fixed where a query with the
LIKE
operator and a value for the bind variable using a single wildcard character (for example,'%'
or'_'
) returned the wrong output when the index on the column specified in theWHERE
clause was used. (BugDB #36669012) -
A problem is fixed where the TimesTen daemon would not start because it was unable to retrieve the Non-Uniform Memory Access (NUMA) configuration settings. (BugDB #36687778)
-
A problem is fixed where an incorrect validation for the PL/SQL constant pool that does not apply to the TimesTen client was enabled. (BugDB #36733125)
Changes for Release 22.1.1.24.0 from Release 22.1.1.23.0
-
A problem is fixed where, under certain circumstances, the TimesTen Kubernetes Operator could process TimesTenClassic objects more frequently than specified in the
pollingInterval
field. (BugDB #36564879) -
A problem is fixed where a restore operation with the
ttMigrate -r
command failed with foreign key violations when the data file was created with thettMigrate -c -activeDML
command and the foreign key relationships were not stored in a single transaction as intended. (BugDB #36573187)
New Features
-
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, setReplAgentStatSampleFreq
to0
. (BugDB #36032654) -
This release includes Apache ZooKeeper 3.8.4. 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 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 #33689937)
-
A problem is fixed where the TimesTen subdaemon could receive a SIGSEGV error during process recovery. (BugDB #35819072)
-
A problem is fixed where, occasionally, the
ttStats
utility failed to populate theCmd Text
orSource
fields in the report for the statements executed. (BugDB #35939042) -
A problem is fixed where concatenating CLOBs or NCLOBs led to incorrect result strings. (BugDB #35977377)
-
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 #36122887)
-
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 #36440583) -
A problem is fixed where a bad request sent to the main daemon by a process connected to the database led to various assertions. (BugDB #36361167)
New Features
-
TimesTen adds an entry to the daemon log when there are changes to the settings for tracing. (BugDB #36089935)
-
Tracing is turned off after loading a database into memory. (BugDB #36090914)
Bug Fixes
-
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 #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 #35668824)
-
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
andTpg sane
messages in the daemon log. (BugDB #36083469 - Forward port of BugDB #36054949) -
A problem is fixed where tracing, under certain circumstances, could write files larger than the specified file size limits. (BugDB #36101809)
-
A problem is fixed where the field
awtBehindMb
was not properly reported in TimesTenClassicStatus. (BugDB #36298633) -
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 #36304794) -
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 #36317365) -
A problem is fixed where, in Ubuntu, init containers were failing due to the use of dash as shell. (BugDB #36319717)
-
A problem is fixed where the
ttInstanceCreate
utility failed to create an instance in Ubuntu. (BugDB #36333932) -
A problem is fixed where using the
timestenjmsxla.jar
package in Spring Boot would make too many calls to thegetInitialContext()
method. (BugDB #36361070) -
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 #36378797)
Changes for Release 22.1.1.21.0 from Release 22.1.1.20.0
-
A problem is fixed where defining a large number of cache groups in the
cachegroups.sql
file caused the initial deployment of TimesTen to fail and the TimesTenClassic object to transition to theFailed
state. (BugDB #36202396)
Changes for Release 22.1.1.20.0 from Release 22.1.1.19.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 #34906849)
-
TimesTen JMS/XLA now supports two JMS providers: one based on the Java Message Service API version 1.1 and another based on the Jakarta Messaging API version 1.1. See Connecting to XLA in Oracle TimesTen In-Memory Database Java Developer's Guide. (BugDB #35804284)
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 replication log holds would not resume after being halted due to lack of disk space and more disk space was made available. (BugDB #35832351 - Forward port of BugDB #35775001)
-
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 #35851919 - Forward port of BugDB #35647789)
-
A problem is fixed where replication log holds could not progress due to a missing rollback log record. (BugDB #35851943 - Forward port of BugDB #35774580)
-
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 thettRepAdmin -duplicate
command was used to duplicate the database. (BugDB #35895266) -
A race condition between a log inserter and the log flusher that could cause an assertion failure is fixed. (BugDB #35898402 - Forward port of BugDB #35890807)
-
This release no longer prints an error in the daemon log for CTN wrap-around operations. (BugDB #35898856 - Forward port of BugDB #35896092)
Changes for Release 22.1.1.18.0 from Release 22.1.1.17.0
-
This release now includes the
checkAdminPrivileges.sql
script. This script checks that the cache administration user has been granted the required privileges to automatically create Oracle Database objects used to manage the caching of Oracle Database data when particular cache group operations are performed. This script checks that the privileges granted are those that are granted with thegrantCacheAdminPrivileges.sql
script. (BugDB #33354969) -
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 #34265439 - Forward port of BugDB #34265447, BugDB #35239124, BugDB #34237513, BugDB #35560190, BugDB #35523432, and BugDB #35775194)
-
A problem is fixed where the
ttRepAdmin -duplicate
command failed if TLS was only enabled as optional on the receiver. (BugDB #35728217)
Changes for Release 22.1.1.17.0 from Release 22.1.1.16.0
-
Previously, you could only provide credentials for a user when opening a connection to the TimesTen database by providing the user name and password individually in a client DSN or using connection attributes. For a cache administration user, you were able to provide credentials by providing the cache administration user name and both of its passwords to the TimesTen and Oracle databases individually in a client DSN or using connection attributes. Now, you can store user credentials within an Oracle Wallet where the wallet location is provided when opening a connection. The preferred method is storing credentials in an Oracle Wallet.
We enabled this new method by implementing the following features:
-
New functionality for the
ttUser
utility. Traditionally,ttUser
has let you generate a hashed password value for thePWDCrypt
connection attribute. Now, it also lets you store user IDs and passwords in a user-managed Oracle Wallet. See Connect Using an Oracle Wallet with Credentials in Oracle TimesTen In-Memory Database Operations Guide. -
New
PwdWallet
general connection attribute. It lets you retrieve user names and associated passwords from a user-managed Oracle Wallet. See Connect Using an Oracle Wallet with Credentials in Oracle TimesTen In-Memory Database Operations Guide and Creating a Connectable File in Oracle TimesTen In-Memory Database Scaleout User's Guide. -
New
CacheAdminWallet
cache first connection attribute. It specifies that credentials for the Oracle cache administration user that are registered with thettCacheUidPwdSet
built-in procedure are stored in a system-managed Oracle Wallet. See Registering the Cache Administration User Name and Password in Oracle TimesTen In-Memory Database Cache Guide.
-
-
TimesTen now supports FIPS 140-2 encryption. For client/server and replication connections, you can enable the FIPS 140-2 mode using the new
ssl_fips_140
configuration attribute. For symmetric encryption between TimesTen processes, use the newdb_fips_140
configuration attribute. See TimesTen Instance Configuration File in Oracle TimesTen In-Memory Database Reference. -
The new
ttCacheInfo
utility returns change-log table information for all Oracle Database tables cached in a cache group with autorefresh and information about Oracle Database objects used to track DDL statements issued on cached Oracle Database tables. The output provided by this utility is primarily intended for use by TimesTen customer support. See ttCacheInfo in Oracle TimesTen In-Memory Database Reference.
Changes for Release 22.1.1.16.0 from Release 22.1.1.15.0
-
This release reduces the execution time of
CREATE CACHE GROUP
statements. (BugDB #35202382)
Changes for Release 22.1.1.15.0 from Release 22.1.1.14.0
-
A performance issue introduced in a previous release by an increase in the prefetch buffer capability is fixed. It affected calls to the
SQLAllocStmt
ODBC function. (BugDB #35394119) -
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 orTT_TmpIdxForMatRes
statement level hint. The default value forTmpIdxForMatRes
is 0. (BugDB #35464766) -
A problem is fixed where the database hanged due to a latch deadlock between the log flusher and the log buffer inserters. (BugDB #35469376 - Forward port of BugDB #35449647)
Changes for Release 22.1.1.14.0 from Release 22.1.1.13.0
-
A problem is fixed where, in AIX, inserting a log record caused an assertion failure. (BugDB #35393136)
Changes for Release 22.1.1.13.0 from Release 22.1.1.12.0
-
A problem is fixed that caused the
ttMigrate -r -numthreads
utility to fail while restoring a foreign key relationship. (BugDB #35374194)
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
-
A problem is fixed where SNMP version 1 traps did not work unless a path to an SSL library was provided in the TimesTen instance configuration file,
timesten.conf
. (BugDB #34306035) -
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 #35189594 - Forward port of BugDB #35189403)
-
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 #35242158)
-
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 #35280185 - Forward port of BugDB #35245636)
Changes for Release 22.1.1.11.0 from Release 22.1.1.10.0
-
This release is a TimesTen XE release and includes all features and bug fixes available in release 22.1.1.10.0.
Changes for Release 22.1.1.10.0 from Release 22.1.1.9.0
-
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 #34747475)
To enable this fix, set the value of the
ReplReceiverMultVCBuffers
parameter to 1 on the receiving database:CALL ttDBConfig('ReplReceiverMultVCBuffers','1');
-
This release adds new metrics in the
V$REPSTATS
view for when replicated transactions are sent and applied. (BugDB #34861845) -
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 #34904785)
-
In previous releases, on systems where a symlink to the
libtinfo
library was missing, the editline feature in thettIsql
utility did not work, andttIsql
would crash if a file was sourced (using@
). This problem is fixed. (BugDB #35069962)
Changes for Release 22.1.1.9.0 from Release 22.1.1.8.0
-
This release is an unrestricted version of TimesTen and includes all features and bug fixes available in release 22.1.1.8.0.
New Features
-
This release is a TimesTen XE release. See Oracle TimesTen In-Memory Database Quick Start Guide for Express Edition.
-
This release contains updates to the TimesTen Kubernetes Operator. The Operator includes significant new functionalities, including:
-
Ability to monitor and manage TimesTen Scaleout objects.
-
Support for cache in TimesTen Scaleout.
-
Ability to specify CPU and memory requests and limits.
See Overview of the Oracle TimesTen Kubernetes Operator in Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.
-
Bug Fixes
-
A problem is fixed where XLA applications were able to read two-safe transactions before other database connections. (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 #34773132)
Changes for Release 22.1.1.7.0 from Release 22.1.1.6.0
-
The
ttSchema
utility now selects only objects within the current schema by default when a user withoutADMIN
privilege runs the utility. This change avoids access errors when the user tries to describe objects without the appropriate privileges. The user can still attempt to describe objects by including a different selection pattern argument. The pattern%
will revert to the previous behavior, but using patterns that include objects in other schemas may result in access errors. (BugDB #34223037) -
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 #34592144 - Forward port of BugDB #34577070)
-
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 #34644529 - Forward port of BugDB #34641177) -
In previous releases, the TimesTen Kubernetes Operator used the Leader-for-life method to determine which operator would manage TimesTen. In this release, the Operator uses the Leader-with-lease method. (BugDB #34650236)
-
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 #34716434)
-
A problem is fixed where creating a view from a synonym was not working properly. (BugDB #34741197)
-
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 #34747548) -
A problem is fixed with excessive and misleading daemon log messages relating to aging. (BugDB #34777457)
-
A problem with memory allocation for insert or update operations is fixed. (BugDB #34779479 - Forward port of BugDB #34676797)
Changes for Release 22.1.1.6.0 from Release 22.1.1.5.0
-
The logic to handle transactions not tracked by XLA bookmarks is improved. (BugDB #34352710 - Forward port of BugDB #33968191)
-
This release no longer returns an error when the cipher suite specified for encrypted client/server connections is supported by the Oracle libraries but is not one of the two suites supported by TimesTen,
SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
andSSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
. (BugDB #34353105) -
A problem is fixed with parallel index creation on compiled commands. (BugDB #34570931)
-
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 #34630389)
Changes for Release 22.1.1.5.0 from Release 22.1.1.4.0
-
A problem is fixed where, under certain circumstances, updating the replication statistics caused an assertion failure. (BugDB #34224577 - Forward port of BugDB #31382397)
-
A problem is fixed where a Commit Ticket Number (CTN) wraparound could invalidate the database or cause a failed transmitter thread restart. (BugDB #34237513)
-
A problem with interval statistics on columns without range index was fixed. (BugDB #34285000)
Changes for Release 22.1.1.4.0 from Release 22.1.1.3.0
-
In previous releases, a heap assertion due to not switching to system transaction for the permanent heap invalidated the database during the reclaim phase of recovery. The problem is fixed. (BugDB #33828964)
-
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 #34032225)
-
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 #34119463 - Forward port of BugDB #32989457) -
A memory leak while using REF CURSOR variables for OCI, ProC, or ODPI based languages has been fixed. (BugDB #34131513 and BugDB #34190418)
Changes for Release 22.1.1.3.0 from Release 22.1.1.2.0
-
This release is an unrestricted version of TimesTen and includes all features and bug fixes available in release 22.1.1.2.0.
New Features
-
This release is a TimesTen XE release. See Oracle TimesTen In-Memory Database Quick Start Guide for Express Edition.
-
This release supports the TimesTen driver manager (TTDM). TTDM is a lightweight ODBC driver manager that is designed and optimized for use with TimesTen databases. It provides access to TimesTen-specific features, extensions, and ODBC API support, offering 100% equivalent functionality to using the TimesTen direct driver or client driver directly. TTDM allows an application to use TimesTen direct and client connections concurrently. See Introduction to the TimesTen Driver Manager in Oracle TimesTen In-Memory Database C Developer's Guide.
-
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
-
Read-only cache groups and the
ttLoadFromOracle
built-in procedure can now work withNCHAR
orNVARCHAR2
columns from an Oracle database when the national character set isUTF8
. (BugDB #33541824) -
A problem is fixed where the values for the
activePermInUse
andstandbyPermInUse
metrics were reported incorrectly. (BugDB #33652345) -
The TTClasses library linked against TTDM,
libttclassesTTDM.so
, is now included and supported on all TimesTen server distributions. (BugDB #33668736) -
A problem is fixed where, for certain SSL configurations, users of the TimesTen Kubernetes Operator were unable to configure SSL certificates issued by a certificate authority. (BugDB #33890625)
-
A problem is fixed where the
ttRepAdmin -duplicate
command and other replication operations failed when the hostname of the sender (or master) database is mapped multiple times in the/etc/hosts
file. (BugDB #34013653 - Forward port of BugDB #31857874)
New Features
-
TimesTen Scaleout now supports read-only cache groups with incremental autorefresh. See Using Cache Groups in TimesTen Scaleout in Oracle TimesTen In-Memory Database Scaleout User's Guide.
-
You can now create a grid with a K-safety level up to 5. See K-Safety in Oracle TimesTen In-Memory Database Scaleout User's Guide.
-
Global indexes now are supported in TimesTen Scaleout. See Understanding Indexes in Oracle TimesTen In-Memory Database Scaleout User's Guide.
-
PLSQL packages, procedures and functions are now supported in TimesTen Scaleout. See Overview of PL/SQL in Oracle TimesTen In-Memory Database Scaleout User's Guide.
-
You can use Oracle GoldenGate instead of the native cache refresh mechanism of TimesTen to provide the equivalent of static read-only cache groups for both TimesTen Classic and TimesTen Scaleout. All other types of cache functionality must use the native cache mechanism of TimesTen. See Using Oracle GoldenGate as an Alternative Cache Refresh Mechanism in Oracle TimesTen In-Memory Database Cache Guide.
-
You can perform a fast patch upgrade with TimesTen Classic. This involves performing operations to modify a TimesTen instance to point to a new installation while ensuring the shared memory segment remains in memory. See About Performing a Fast Patch Upgrade in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.
-
For TimesTen Scaleout, you can now perform online upgrades to patch-compatible releases. This release adds the
ttGridAdmin gridUpgrade
command to simplify online and offline upgrade operations. See Upgrading a Grid in Oracle TimesTen In-Memory Database Scaleout User's Guide. -
TLS certificate management is now supported in TimesTen Scaleout. See Transport Layer Security for TimesTen Client/Server in Oracle TimesTen In-Memory Database Security Guide.
-
The TimesTen Prometheus Exporter together with Grafana tools enables you to monitor the health and operation of your databases. See The TimesTen Prometheus Exporter in Oracle TimesTen In-Memory Database Monitoring and Troubleshooting Guide.
-
You can now configure the client/server buffer size. This can improve performance when retrieving large result sets on slower networks. See Sizing the Client Result Set Buffer in Oracle TimesTen In-Memory Database Operations Guide.
-
SQL Profiles now support password complexity check functions. See CREATE PROFILE in Oracle TimesTen In-Memory Database SQL Reference.
-
On Linux platforms, TimesTen Classic now supports SNMP version 1, 2, and 3 through Net-SNMP. This replaces the prior SNMP version 1 implementation and its
snmp.ini
configuration file. See Diagnostics Through SNMP Traps in Oracle TimesTen In-Memory Database Error Messages and SNMP Traps. -
You can now control LRU aging based on a number of rows. See Usage-Based Aging in Oracle TimesTen In-Memory Database Operations Guide.
-
For certain query types, TimesTen can now dynamically load multiple cache instances. See Dynamically Loading Multiple Cache Instances in Oracle TimesTen In-Memory Database Cache Guide.
-
You can set the
TT_DynamicPassthrough
optimizer hint to notify TimesTen Classic to pass through qualifiedSELECT
statements to the Oracle database. See Automatic Passthrough of Dynamic Load to the Oracle Database in Oracle TimesTen In-Memory Database Cache Guide. -
A new type of cache group is added to this release. Hybrid cache group is a dynamic read-only cache group where the root table is created in the TimesTen database and does not exist in the Oracle database. See Hybrid Cache Group in Oracle TimesTen In-Memory Database Cache Guide.
-
On Linux platforms that use
systemd
, you can usesystemd
to automatically manage the TimesTen daemon for TimesTen Classic. See Using systemd to Manage a TimesTen Service in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide. -
This release now supports multiple OUT refcursors in PL/SQL. See PL/SQL REF CURSORs in Oracle TimesTen In-Memory Database PL/SQL Developer's Guide.
-
As aging deletes rows, TimesTen frees empty pages and reuses empty slots on non-full pages. The
ttPageLevelTableInfo
built-in procedure shows the page allocation for each table to determine when TimesTen is reusing empty slots and freeing empty pages or if new pages are allocated to store new rows. See Determining the Effectiveness of Aging in Oracle TimesTen In-Memory Database Operations Guide. -
You can define a readiness probe to tell Kubernetes that a TimesTen (
tt
) container is ready. See About Readiness Probes for TimesTen Containers in Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.
Behavior Changes and Deprecated Features
-
The
ResultSet
returned when calling thettSQLCmdCacheInfo
built-in procedure has two new columns. - The directory name of the directory for the bundled Oracle Instant Client is changed.
-
The
-setMasterRepStart
option is now the default forttRepAdmin -duplicate
command. -
These features are deprecated in this release:
- Scaleout PhysicalGroups
- Temporary databases
- Static autorefresh cache groups with legacy replication
- The
TTC_RollbackRequiredOnFailover
client connection attribute - Local shared memory ipc for client/server connections.
-
The
-list all | userinfo
option of thettSchema
utility now prints user information, such asCREATE PROFILE
,CREATE USER
, andGRANT
statements.CREATE USER
statements are printed with thePASSWORD EXPIRE
andACCOUNT LOCK
parameters specified and the password for theIDENTIFIED BY
parameter is replaced withDISABLED:
followed by a random set of characters.
Bug Fixes
-
In TimesTen Scaleout, a problem is fixed where the eviction process would suspend when a replica set was down. (BugDB #29586987)
-
On Linux 64-bit platforms, in previous releases compiling TTClasses source could result in a compiler warning and possible loss of data. This problem is fixed. (BugDB #29626001)
-
The
rownum
parameter for thettSize
built-in procedure is now of typeBIGINT
. Previously it was typeINT
. (BugDB #31645887) -
In previous releases, a
SELECT COUNT (*)
operation could fail when a table has a very large number of rows. (BugDB #32620599) -
In this release, the default value of
TT_DYNAMICLOADMULTIPLEPKS
optimizer hint is1
. (BugDB #32690444) -
In TimesTen Scaleout, in previous releases the loghold bookmark was updated during a backup procedure. This caused an assertion. In this release the bookmark update is conditional. (BugDB #32800967)
-
In this release the
ttGridAdmin
backup, restore, import and export commands accept a new option to specify the directory for temporary files. (BugDB #32801316) -
An issue has been fixed that caused an overflow when creating a unique index on a large table. (BugDB #32874657)
-
In this release, the number of daemon log messages for rollback is reduced. (BugDB #32995755)
-
In a previous release, 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 #33360774)
Platforms and Compilers
Platform or operating system | C/C++ compiler support | JDK support(1) |
---|---|---|
Linux x86-64:
|
Intel C++ Compiler (icc) 17.0.2.174 GCC 4.4.7 or later |
Oracle JDK 8, 11, 17, and 21 OpenJDK 8, 11, 17, and 21 |
Linux arm64:
|
GCC 8.5 or later |
Oracle JDK 8, 11, 17, and 21 OpenJDK 8, 11, 17, and 21 |
Solaris SPARC 64:
|
Solaris Studio 12.6 for Solaris SPARC |
Oracle JDK 8 and 11 |
Solaris x86-64:
|
Solaris Studio 12.6 |
Oracle JDK 8 |
Microsoft Windows x86-64 (Client only):
|
Intel C++ Compiler (icc) 17 Visual Studio 2017 (VC11) |
Oracle JDK 8, 11, 17, and 21 OpenJDK 8, 11, 17, and 21 |
IBM AIX Power PC 64-bit:
|
IBM XL C/C++ for AIX 13.1 |
IBM JDK 8 IBM Semeru Runtime Certified Edition Version 11, 17, and 21 |
macOS 64-bit (Client only):
|
Apple Xcode 11.5 |
Oracle JDK 8, 11, 17, and 21 OpenJDK 11, 17, and 21 |
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, 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 19c version of Instant Client. In addition, TimesTen PL/SQL, OCI, Pro*C/C++, and other internal components are based on Oracle Database 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.
Cache
Cache in TimesTen enables you to view and modify data pulled from an Oracle database into a TimesTen database. The TimesTen installation includes Oracle Instant Client.
The following Oracle server releases are supported for cache in TimesTen:
-
Oracle Database Release 11.2.0.4
-
Oracle Database Release 12c
-
Oracle Database Release 19c
-
Oracle Database Release 21c
-
Oracle Autonomous Transaction Processing Release 19c
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 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.
We have tested TimesTen and the TimesTen Kubernetes Operator 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.
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.
Apache ZooKeeper
TimesTen ships a modified version of ZooKeeper 3.8.4, to
address various CVEs and other problems. Please refer to installation_dir/tt22.1.1.28.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.
-
TimesTen Driver Manager
TTDM is supported on TimesTen 18.1.4.9.0 (or later) and on all platforms with TimesTen server support.
See Introduction to the TimesTen Driver Manager in Oracle TimesTen In-Memory Database C Developer's Guide.
Open Source Languages
-
python-oracledb 2.2.0
-
node-oracledb 6.4.0
See ODPI-C and Language-Specific Packages in Oracle TimesTen In-Memory Database Open Source Languages Support 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.
-
Prerequisites and Installation of TimesTen Scaleout in Oracle TimesTen In-Memory Database Scaleout User's Guide.
Known Problems and Limitations
This topic contains known problems and limitations in these categories:
Backup/Restore
-
Restoring a grid backup (using the
ttGridAdmin dbRestore
command) succeeds only when all instances in the grid are running.
Cache
-
ttLoadFromOracle
may fail with error messageORA-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 toORA-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.
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 8 systems, TimesTen requires the
compat-openssl10
library. To install this library, run:sudo yum install compat-openssl10
-
On IBM AIX, the
ttCreateCerts
utility may fail with the following error:ewallet.p12 not present at rootWallet PKI-02003: Unable to load the wallet at: rootWallet
This is a problem with IBM JDK 8.0.7.0. As a workaround, use IBM JDK 8.0.6.35 or earlier.
-
On Ubuntu, TimesTen requires the
libaio
andlibxcrypt
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
andgetCursorName
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'
usinggetTimestamp()
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 19c and 21c, 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.
-
Create a temporary CLOB.
-
Set the temporary CLOB value.
-
Assign the value of the temporary CLOB to another CLOB variable.
-
Free the temporary CLOB.
-
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. -
Replication
-
TimesTen does not support replication with Oracle Clusterware on the Linux arm64 platform.
SQL, Utilities and Procedures
-
When SQL query timeouts are used (
SQLQueryTimeout
orSQLQueryTimeoutMsec
), 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
andBINARY_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
withCHAR
type uses binary sorting order and binary comparison semantics even when theNLSSORT
attribute was set to a value different thanbinary
. -
When the
NLS_SORT
session parameter is set to a multilingual sort (for example,FRENCH_M
), theLIKE
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
through65500
. -
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)
-
If two instances (including managements instances) are added to a distribution map using
ttGridAdmin dbDistribute
command but the hosts to which they belong cannot communicate through SSH, thettGridAdmin dbDistribute
command fails with errorTT3701
. -
If you restore a database backup with cache groups into a grid with a larger topology, you must set the cache administration user name and password for the database (using the
ttGridAdmin dbCacheCredentialSet
command) before redistributing the data to all replica sets (using thettGridAdmin dbDistribute
command). Otherwise, you will be unable to set the cache credentials for the cache groups. -
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 Oracle Linux 9 and Ubuntu, staged backups have limited performance.
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 thettIsql
utility will not work. Other features of thettIsql
utility will work as normal.
Upgrade
-
Enhancements to the replication protocol mean that to perform an online upgrade between 11.2.2.8 and 22.1, the 11.2.2.8 release must be 11.2.2.8.27 or later. 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 later before upgrading to this release. If you are on 18.1.3, you must first upgrade to 18.1.3.5.0 or later before upgrading to this release. See Upgrades in TimesTen Classic in Oracle TimesTen In-Memory Database Installation, Migration, and Upgrade Guide.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customer access to and use of Oracle support services will be pursuant to the terms and conditions specified in their Oracle order for the applicable services.
Oracle TimesTen In-Memory Database Release Notes, Release 22.1
F35386-33