Overview
This document provides late-breaking information for TimesTen 18.1.4.45.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:
New Features
-
This release now supports Oracle Autonomous Database on Dedicated Exadata Infrastructure 19c for cache operations (TCP-based connections only).
Bug Fixes
-
A problem is fixed where after a
SQLDriverConnect
call, floating-point numbers and calculations could lose precision. (BugDB #37051909 - Backport of BugDB#37014482)
Changes for Release 18.1.4.44.0 from Release 18.1.4.43.0
-
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 #36674984 - Backport of BugDB #36669012) -
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. (BugDB #36868410 - Backport of Bug DB #36858063) -
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. (BugDB #36935013 - Backport of Bug DB #36912529)
New Features
-
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 a bad request sent to the main daemon by a process connected to the database led to various assertions. (BugDB #36552394 - Backport of BugDB #36361167)
-
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 #36586844 - Backport of BugDB #36573187) -
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 #36688087 - Backport of BugDB #36687778)
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, setReplAgentStatSampleFreq
to0
. (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 theCmd Text
orSource
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
andTpg 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)
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 thettRepAdmin -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 orTT_TmpIdxForMatRes
statement level hint. The default value forTmpIdxForMatRes
is 0. (BugDB #35464815 - Backport of BugDB #35464766)
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)
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)
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 aUNION
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
andstandbyPermInUse
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
andstandbyPermInUse
metrics in TimesTen Kubernetes Operator log. (BugDB #33308656) -
In this release, the
ttLoadFromOracle
utility and read-only cache groups are enhanced to work withNCHAR
orNVARCHAR2
columns on Oracle database when the national character set isUTF8
. The data type set for the columns in the TimesTen tables must beCHAR
orVARCHAR2
, 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, theCREATE USER
statement printed byttSchema
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 codeTT2231
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 inTimesTenClassicStatus
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 error8502: 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 aSEGV
. 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 withttLoadFromOracle
utility. This option is not used by default. Valid values areY
andN
.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 areY
andN
. -
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 aTT_INTEGER
instead of aTT_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 amesg
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
andSQLGetStmtAttr
: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 aConnection
object, which provides initial default values for statement objects created from the connection. -
The JDBC statement
getFetchSize()
andsetFetchSize()
methods are mapped togetTtNetMsgMaxRows()
andsetTtNetMsgMaxRows()
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)
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 theAutorefreshLogMonitorInterval
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 is0
. (The documentation incorrectly states the default value as30,000
.) -
The
CURRENT_SCHEMA
parameter has been added to theSYS_CONTEXT
function. -
This release contains support for the
TO_TIMESTAMP
SQL function.TO_TIMESTAMP
is a datetime function that converts aCHAR
orVARCHAR2
data type to a value ofTIMESTAMP
data type. -
This release contains support for the
ACCESSIBLE BY
clause. You can use theACCESSIBLE BY
clause in theCREATE FUNCTION
,CREATE PROCEDURE
, andCREATE PACKAGE
statements.
Bug Fixes
-
In previous releases, queries on the
SYS.USER_USERS
orSYS.DBA_USERS
views could fail with an error indicating an incorrect resource limit value instead ofUNLIMITED
. In this release, the max value forUNLIMITED
in both of these views isTT_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
orttenv.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)
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
, andMODULE
parameters have been added to theSYS_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 theSELECT
clause of theINSERT...SELECT
andCREATE TABLE AS SELECT
statements. See Oracle TimesTen In-Memory Database SQL Reference. -
Setting the
CacheCommitDurable
cache configuration parameter to0
with thettCacheConfig
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 thettAdmin
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 databaseARDL_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)
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 ofSQLQueryTimeoutMsec
can be any integer equal to or greater than 0. The default value is0
. A value of0
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. BothSQLQueryTimeout
andSQLQueryTimeoutMsec
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 thePreallocate
connection attribute when the value was1
. This problem impacted databases created by using thettRepAdmin -duplicate
command or thettRestore
utility. This problem is fixed. (BugDB #29214692) -
A problem is fixed where an
ALTER STANDBY PAIR...DROP SUBSCRIBER
or anALTER 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 theRetain 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:
-
Take note of the current values for
Retain Days
andRetain Versions
in your grid.% ttGridAdmin gridDisplay ... Retain Days: 30 Retain Versions: 10 ...
-
Set the values for
Retain Days
andRetain Versions
to0
.ttGridAdmin gridModify -retainDays 0 -retainVersions 0
-
After the upgrade, restore the values for
Retain Days
andRetain 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 level1
is for PL/SQL compilation andTrace 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)
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
, andDatabaseMetaData
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 attDBConfig
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 toSQLColAttribute
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 isttLatchWaitMsgTimeout
. (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
andCAST
clauses of aSELECT
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 aGROUPBY
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 ofttGridAdmin 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)
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 thettMigrate
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 aUNION
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)
New Features
-
This release includes a new mode referred to as "TimesTen Scaleout," or "grid." TimesTen Scaleout is a grid of interconnected hosts running TimesTen instances that work together to provide fast, fault tolerance, and high availability for in-memory data. A grid contains one or more databases and each database is distributed across all instances of the grid. The features are documented in Oracle TimesTen In-Memory Database Scaleout User's Guide.
TimesTen Scaleout supports a maximum of 64 instances in this release.
Note:
Oracle TimesTen In-Memory Database "in classic mode" or "TimesTen Classic" refers to single-instance environments and databases as in previous releases.
-
Newly included with this release are these documents:
-
Installation information for this release is included in Oracle TimesTen In-Memory Database Scaleout User's Guide.
-
TimesTen adds ODBC 3.51 core interface conformance to the previous support for ODBC 2.5. If you use a driver manager for ODBC 3.5 applications, you must explicitly specify which ODBC version you are using. In this release, it is advisable to recompile and relink existing ODBC applications. Some applications may require code changes. See ODBC API incompatibilities with previous versions of TimesTen in Oracle TimesTen In-Memory Database C Developer's Guide.
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 is1
. -
The
RangeIndexType
connection attribute is removed in this release. By default, TimesTen uses B-tree indexes. -
The default value for the
CkptFrequency
connection attribute is0
. -
The default value for the
CkptLogVolume
connection attribute is now the value of theLogFileSize
connection attribute. -
The default value for the
Connections
attribute is the minimum of2000
or the value of the kernel settingSEMMNS-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 message843
. -
The default value for the
LogBufMB
connection attribute is 1024 MB. -
The default value for the
LogFileSize
connection attribute is now the value of theLogBufMB
connection attribute. -
The default value for the
CommitBufferSizeMax
is 10 MB per connection. -
The
-delayFkeys
option is removed from thettMigrate
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 theAUTOCOMMIT
flag actually changed. Beginning in this release, there is a commit only when the method call actually changes the setting ofAUTOCOMMIT
. -
Obsolete errors:
sb_ErrCkptBlocked
(606
) andsb_ErrBackupBlocked
(607
) are not used anymore. They are replaced bysb_ErrCkptReserveBlocked
(625
). To prevent the new behavior from changing application logic, replace the obsolete errors (606
and607
) withsb_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
withoracle_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 theTTC_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 thettRepAdmin -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 error15009
, when a user logged into the operating system as a user other than the instance administrator, or with error7001
, 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
orRETURN 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:
TimesTen supports Native POSIX threads but not LinuxThreads. |
Intel C++ Compiler (icc) 17.0.2.174 GCC 4.4.7 or later |
Oracle JDK 8, 9, 10, 11, 12, 13, 14, 17, and 21 OpenJDK 8, 9, 10, 11, 12, 13, 14, 17, and 21 |
Linux x86-32 (Client only):
TimesTen supports Native POSIX threads but not LinuxThreads. |
Intel C++ Compiler (icc) 17.02.174 GCC 4.7 or later |
Oracle JDK 8 and 9 |
Solaris SPARC 64:
|
Solaris Studio 12.6 for Solaris SPARC |
Oracle JDK 8, 9, 10, 11, and 13 |
Solaris x86-64:
|
Solaris Studio 12.6 |
Oracle JDK 8, 9, and 10 |
Microsoft Windows x86-64 (Client only):
|
Intel C++ Compiler (icc) 14 Visual Studio 2012 (VC11) |
Oracle JDK 8, 9, 10, 11, 17, and 21 OpenJDK 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 OpenJKD 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, ttjdbc9.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
-
Oracle Autonomous Database on Dedicated Exadata Infrastructure 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 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.4, to
address various CVEs and other problems. Please refer to installation_dir/tt18.1.4.45.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:
-
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.
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 theTIMESTEN8
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. ThettSQLCmdCacheInfo
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-convertTypeToOr
a command line options to thettMigrate
utility are deprecated. -
The
TypeMode
connection attribute is deprecated. Oracle type mode is the default. -
The
OPTIMIZED FOR READ
clause of theCREATE 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 ofTTStatus&
method parameters, previously deprecated, is now desupported, as are theTTStatus::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 usedTTStatus&
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 theTTCmd::Prepare()
method again. -
The
ttSrcScan
utility is no longer available for download from Oracle Technology Network (OTN).
Known Problems and Limitations
This topic contains known problems and limitations in these categories:
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 usettShmHost
(shared memory IPC) orlocalhost
(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 theshmat
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.
-
The documentation for the
ttSchema
utility in Oracle TimesTen In-Memory Database Reference
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 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
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 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 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. -
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 asINTERPRETED
. -
Using
q'
(quoting syntax) is not supported. -
UTL_FILE
is limited to a temporary directory located ininstallation_dir/plsql/utl_file_temp
. The instance administrator can grant toUTL_FILE
to specific database users. Users can reference the directory usingUTL_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.
-
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 18.1.4, the correct error is generated, but no exception is raised. -
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)
-
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.
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 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 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 |
|
Type of Message: Error Cause: An internal error occurred during log cursor read. Review the
Impact: Review the User Action: Review the |
8526 |
|
Type of Message: Error Cause: You cannot set Impact: TimesTen failed to perform the operation. User Action: Change the |
30200 |
|
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 |
|
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 ( |
30202 |
|
Type of Message: Error Cause: The Impact: The handle is not freed. User Action: Ensure that you disconnect the handle
( |
30203 |
|
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 |
|
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 |
|
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
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 18.1
F88943-08