Oracle® TimesTen In-Memory Database Release Notes 11g Release 2 (11.2.2) E21630-93 |
|
View PDF |
Release Notes
11g Release 2 (11.2.2)
E21630-93
December 2014
This document provides late-breaking information for TimesTen 11.2.2.8.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 may also be updated from time to time in the documentation library at
http://www.oracle.com/technetwork/database/database-technologies/timesten/documentation/index.html
Information about TimesTen 11.2.2 releases before 11.2.2.6.0 can be found at
http://www.oracle.com/technetwork/products/timesten/documentation/1122-historic-1886173.html
To install the Oracle TimesTen In-Memory Database, run setup from the installation media pack. For installation information, see Oracle TimesTen In-Memory Database Installation Guide. This guide can be accessed from install_dir
/doc/
in the installation, if you opted to install the TimesTen Documentation.
This document contains the following sections:
This section lists changes between releases:
Changes in this release include:
You can disable commit dependencies for automatic parallel replication for an active standby pair that uses asynchronous replication and does not contain cache groups. This provides parallel replication over multiple threads where TimesTen automatically enforces transactional dependencies on the subscriber database, but does not enforce transactions to be committed in the same order on the subscriber database as on the master database. For more information, see the Oracle TimesTen In-Memory Database Replication Guide.
During migration, TimesTen now always restores a table's rows before it restores the table's indexes and foreign keys. The -delayFkeys
option no longer is needed.
For large tables being restored in parallel, after all rows have been restored ttMigrate now prints progress information about table indexes being restored.
For large tables being restored in parallel, if an index or foreign key cannot be created due to some error, ttMigrate
does not drop the table.
When ttMigrate -r
completes, ttMigrate prints a report that contains:
The SQL statements of all the indexes and foreign keys that could not be restored.
A list of objects that could not be restored. Objects that encountered “Already exists” errors are not listed in this report.
When ttMigrate -c
saves large tables to the data file, it now prints more informative progress information.
During parallel migration, ttMigrate
now prints only the time part of a timestamp in its status message.
Parallel migration is now more resilient when encountering lock contention errors while restoring rows in parallel for a large table.
An error was encountered when running the ttXactAdmin -logAnalyze
command immediately after either a ttRepAdmin -duplicate
operation or replication agent startup. This problem is fixed. (BugDB #18387531)
A problem has been fixed where using ROWNUM in a subquery would return TimesTen error message 2974. (BugDB #20146836 - Backport of BugDB #19776625)
A problem has been fixed where the estimated time to complete a checkpoint was displayed incorrectly in the daemon log files. (BugDB #20158462 - Backport of BugDB #19769943)
There was a problem with JMS/XLA where an XLA bookmark on infrequently updated tables would not auto-advance, which would prevent checkpoint operations from purging transaction log files correctly. This issue has been fixed, and now JMS/XLA bookmarks on infrequently updated tables will advance themselves at regular intervals. (BugDB #19791341 - Backport of BugDB #19210663)
A problem that caused TimesTen to use table locks when a primary key/foreign key join condition had many NULL values has been fixed. (BugDB #19816205 - Backport of BugDB #19785297)
There was a problem where the method ResultSet.getBigDecimal(String)
leaked memory. This problem has been fixed. (BugDB #19834871 - Backport of BugDB #19818440)
A problem is fixed where TimesTen could return wrong results from star joins. (BugDB #19843187)
A bug has been fixed where the detection phase of the ttCacheAutorefreshLogDefrag
built-in procedure acquired locks on the Oracle database. In this release, we no longer acquire locks on the Oracle database during the detection phase. (BugDB #19849442 - Backport of BugDB #19826227)
A problem is fixed where TimesTen could return a "Dictionary Exhausted"
error message with 2-byte compression even when there was enough space to insert more rows. This would occur only when the database had been previously recovered. (BugDB #19899989)
A problem has been fixed where TimesTen returned wrong results when a COUNT(CASE WHEN)
statement was specified on a NUMBER
data type column. (BugDB #19977347 - Backport BugDB #19910223)
When a table has an aging policy defined on it, there was a problem where ttLoadFromOracle
was trying to use a custom query binding which was not applicable to this feature. This has been fixed so that aging policies are ignored when loading tables using ttLoadFromOracle
. (BugDB #20056025 - Forwardport BugDB #19846932)
An assertion failure could occur during TimesTen replication. This problem is fixed. (BugDB #19072290 - Backport of BugDB #1882912)
A problem is fixed where replication of an update of a detail table of a materialize view would timeout on the standby database before the query completed. (BugDB #19789940 - Backport of BugDB #19779186)
If a subscriber had multiple masters and the replication scheme on the subscriber was dropped and recreated without destroying the entire store it could lead to lost transactions transmitted from one of the masters. This problem is fixed. (BugDB #19790271 - Backport of BugDB #19665062)
A problem is fixed where the TimesTen database could become invalidated after a ttSize
operation. (BugDB #19791347 - Backport of BugDB #19624821)
A problem is fixed where the ttMigrate
utility would not display a warning when user input (for example, a table name) did not match any object in the database. (BugDB #19796458 - Backport of BugDB #19631716)
A performance issue related to outer join was fixed. (BugDB #19392371)
An issue with the LIKE
operator with a constant (string) pattern expression of expr('%'),
for example x LIKE UPPER ('%')
, was fixed. (BugDB #19598665 - Backport of BugDB #19588950)
A problem is fixed where transaction logs would accumulate during a LOAD CACHE GROUP
operation and they could not be purged. (BugDB #19627480 - Backport of BugDB #19184453)
After a client server failover, the client was not able to connect to the new node and the connection would hang. The behavior occurred when there were more than 100 connections. This problem is fixed. (BugDB #19707264 - Backport of BugDB #19463160)
An assertion failure could occur in an active standby pair. This problem is fixed. (BugDB #19357927 - Backport of BugDB #19311819)
A problem is fixed where parameterized queries could hang. (BugDB #19357991 - Backport of BugDB #19309880)
In previous releases, a query with a WHERE
clause that contained an ASCIISTR
function would not always return rows when the WHERE
clause evaluated to TRUE
. This is fixed. (BugDB #19460760 - Backport of BugDB #19352060)
The daemon log could contain a large amount of messages. TimesTen now writes less messages to the daemon log. (BugDB #19531532 - Backport of BugDB #19518485)
A problem is fixed where semop
errors could lead to a NUMERICAL
out of range error and a process hang. This release also contains new error handling and daemon logging when semop
errors do occur. (BugDB #19270693 - Forward port of BugDB #19153841)
A memory leak in the replication agent when using asychronous writethrough cache groups with the cacheawtmethod
attribute set to 0
was fixed. (BugDB #19286613 - Forward port of BugDB #19173538)
An assertion failure could occur during a complex query that uses a multi-table join. This problem is fixed. (BugDB #19289266)
A problem is fixed where an incorrect overflow error could occur when an application used client failover and executed prepared statements that use DATE/TIME
based parameter values. (BugDB #19358056 - Forward port of BugDB #19302284)
The query optimizer chose a non-performant query plan when executing a query that used a scalar function, such as TRIM()
. This problem is fixed. (BugDB #19431195)
A problem could occur where a query on multiple columns could incorrectly return error TT4053
, indicating that one of the columns did not exist. This is fixed. (BugDB #19451927 - Backport of BugDB #19422961)
Occasionally, the TimesTen main daemon would crash in a call to free()
. This problem is fixed. (BugDB #18950190 - This is a backport of BugDB #18107927)
In the 11.2.2.7.4 release: Fixed an assertion that occurred when a row was deleted twice. (BugDB #19015744 - Backport of BugDB #18420909)
A problem is fixed where the ttXactLog
utility would fail when the log file was larger than 2GB. (BugDB #19049579 - Backport of BugDB #19046786)
A problem is fixed where an invalidation could occur when running multiple concurrent DML operations. (BugDB #19072641 - Backport of BugDB #18650288)
In previous releases, when adding new daemon options during an upgrade, such as selecting a TNS_ADMIN
file, the new options would be added to the end of the last line of the ttendaemon.options
file, instead of being added on a new line. This problem is fixed. (BugDB #19222024)
Effective on June 11, 2014, the “Oracle In-Memory Database Cache” product option under the Oracle Database Enterprise Edition was renamed to “Oracle TimesTen Application-Tier Database Cache.” Oracle TimesTen Application-Tier Database Cache enables customers to cache a subset of Oracle Database tables into a TimesTen database to bring the data closer to the applications and to drastically improve transaction response time.
Cache tables are accessed like regular relational tables for OLTP transactions using SQL and PL/SQL from Java, C++, .NET, and C programs. Transactions are executed in the TimesTen database with automatic local persistence, transactional consistency, and database synchronization with the Oracle Database. For more information, visit the TimesTen product center on OTN.
As a result of the product option name change, two titles in the TimesTen documentation set are changed in this release. The Oracle TimesTen In-Memory Database Cache Introduction is now the Oracle TimesTen Application-Tier Database Cache Introduction. The Oracle TimesTen In-Memory Database Cache User's Guide is now the Oracle TimesTen Application-Tier Database Cache User's Guide.
In this release, the system recovers better when an application dies unexpectedly. (BugDB #19024062 - Backport of BugDB #17375132)
A rollback was taking a very long time and then crashed when a user attempted to create a new hash index on a very large table with millions of rows, but then cancelled the index creation before the index was completely build. The problem is fixed. One might stop the index creation by killing the process that was executing the create index statement. (BugDB #18906585)
There was a problem with the ttMigrate -r
command restoring a replication schema that had many subscriber stores and many replication elements. In previous releases, this would core dump. This problem is fixed. (BugDB #18911204)
A problem is fixed where an assertion failure could occur during a complex query. (BugDB #18951623)
A problem is fixed where a temporary index was not created on a large materialized view result even when there was enough temporary space. This resulted in performance problems for queries that need a materialized view result. (BugDB #18970221)
A problem is fixed where a SELECT
query with an aggregate function could return the wrong result when the CASE
condition was on different columns. (BugDB #18833048)
A problem has been fixed where an assertion could occur when using hash indexes with certain optimizer hints. (BugDB #18726982)
In Pro*C applications, TimesTen could fail to use arrays of structs of indicators correctly. This resulted in mismatches between the indicator and the array value, that could lead to a TT0871
error. This is fixed. (BugDB #18721269)
Changes in this release include:
The DDLReplicationLevel
and DDLReplicationAction
connection attributes control what objects that are created or dropped by DDL statements are automatically replicated to the databases involved in an active standby pair replication scheme. For this release, a new level of 3
(not the default) for the DDLReplicationLevel
connection attribute adds replication of the CREATE
VIEW
or DROP VIEW
statements, the CREATE SEQUENCE
or DROP SEQUENCE
statements, and the result of running the ttCacheUidPwdSet
built-in procedure to set the Oracle cache administration user name and password. When DDLReplicationLevel=3
and the DDLReplicationAction
connection attribute is set to INCLUDE
, then any new sequences and views created are included in the replication scheme. Also, ALTER TABLE ADD COLUMN NOT NULL DEFAULT
can now be replicated if DDLReplicationLevel=3
.
Users migrating to 11.2.2.7.0 from earlier releases will see an increase in disk space utilization for TimesTen daemon logs. The increase is to improve diagnosability of TimesTen. The maximum size of the support log files is now 100MB and the maximum size of the user log is 10 MB. In constrained environments you may want to configure TimesTen to use less disk space. This can be done by setting the following items to the info/ttendaemon.options
file:
-maxuserlogsize
nBytes
-maxsupportlogsize
nBytes
There is a new user and support log message designation RECOVERY
, for messages that report on TimesTen automatic recovery status. This is not a category that you can control through the ttDaemonLog
utility; the messages cannot be disabled.
When using Oracle Clusterware, you must execute the new ttCWAdmin -reauthenticate
command after modifying any user name or password to enable Oracle Clusterware to store these new user names and passwords. For full details, see the Oracle TimesTen In-Memory Database Replication Guide.
You can use the ttIsql edit
command to edit a file or edit ttIsql
commands in a text editor. The ttIsql edit
command starts a text editor such as emacs
, gedit
, or vi
. For more information, see the Oracle TimesTen In-Memory Database Operations Guide and the Oracle TimesTen In-Memory Database Reference.
The ttIsql
utility now also includes the command waitforresult
. The command is similar to the waitfor
command, except that the results being checked can have one or more columns. See the Oracle TimesTen In-Memory Database Reference.
The TimesTen preallocation of disk space feature (using the Preallocate
connection attribute) is improved in this release to use the operating system's native preallocation API when available. In the case that the operating system has this capability, preallocation performance is improved. Users can refer to the operating system documentation to determine if the preallocation API is supported on their platform.
In this release, checkpoint files can be read in parallel. Checkpoint reads use the value of the RecoveryThreads
connection attribute when that value is greater than one. The maximum number of threads used for parallel checkpoint read is eight, regardless of the value of RecoveryThreads
. Parallel checkpoint reads can improve load time when reading from Solid State Disks (SSD).
On Windows systems, silent install would erroneously add -tns_names
to ttendaemon.options
if the TNS_ADMIN
path was blank, which would cause the server to not start up. (BugDB #17969153)
A problem is fixed where TimesTen would hold a latch for several seconds when an application deleted many rows. (BugDB #18033792)
A problem was fixed where executing batches of values against a PL/SQL statement through either JDBC or ODBC could cause bad values to be inserted. This could also cause a constraint violation if the PL/SQL procedure inserted the value into a column with a unique constraint. This applies to bind data types that would require type conversion when passed to the PL/SQL call. (BugDB #18084711)
A wrong result problem of binding the same variables from PL/SQL to different clauses of a merge statement was fixed. (BugDB #18085214)
The ttMigrate
utility has a new option, -activeDML
. If you are saving a database that has active DML transactions committing during the ttMigrate -c
operation, and if there are tables that have foreign key relationships in that database, consider using the new -activeDML
option. This option causes a table lock to be acquired on all tables in a foreign key hierarchy, so that no inconsistencies can be created by the active DML changing the contents of the tables as they are being stored in the ttMigrate
data file. Because this option takes a table lock, lock contention can occur with concurrent DML on the locked tables resulting in a failure to save the tables. Users of -activeDML
need to be careful to verify their ttMigrate
data file was saved successfully by examining the ttMigrate
return code and all ttMigrate
output text. (BugDB #18110440)
A problem has been fixed where an incorrect or empty string would appear for the user count table name in TimesTen error message TT40132
. (BugDB #18231628)
A problem has been fixed where TimesTen returned error message 8170 instead of message 6111 when a query timed out while replicating DDL. (BugDB #18251646)
A problem where an AUTOREFRESH
query produced an increase in the Oracle Database shared pool size was fixed. (BugDB #18324801)
A problem is fixed where the replication receiver could core dump. (BugDB #18367811)
Under certain conditions, log records were not written to the log file. This could lead to assertions later from replication or during database recovery. This problem is fixed. (BugDB #18392922)
In 11.2.2.6.x releases prior to release 11.2.2.6.5, a problem existed that caused a large amount of deadlocks when inserting records into detail tables associated with a materialized view. The occurrence of deadlocks is greatly reduced in this release. (BugDB #18409839)
A problem is fixed where the output of a query that contained an IN
list, did not display the correct name of a column. (BugDB #18417694)
A performance issue that was caused by a temporary index in queries with an EXP LIKE '%'
clause was fixed. (BugDB #18420973)
A problem is fixed where a spurious TimesTen error 871 would be returned when executing an UPDATE
operation on a detail table. (BugDB #18434738)
A problem is fixed where lock contention could occur when using ttMigrate -numThreads
and restoring multiple users at the same time. In this release, the operation retries and succeeds. (BugDB #18439785)
A problem is fixed where the ttjdbc7.jar
file was not included during installation on Linux systems. (BugDB #18442611)
In previous releases, a query that used ORDER BY
and that also contained a subquery that used UNION ALL
returned a wrong result or caused the database to disconnect. This is fixed. (BugDB #18501505)
A problem has been fixed where a call to the ttOptUpdateStats
built-in procedure would not result in stats being recomputed when a table was empty. (BugDB #18507797)
There was a problem with the command ttMigrate -c
saving a PL/SQL object that referenced a synonym. This problem is fixed. (BugDB #18529266)
The ttMigrate
utility had a problem saving tables with more than 2.1 billion rows to the ttMigrate
data file. This problem is fixed. (BugDB #18679794)
A problem is fixed where a SELECT
on a synchronously maintained materialized view table would not reflect the recent INSERT
operations into the detail tables. (BugDB #18014207)
The ttMigrate -r -numThreads
command can now take the new -delayFkeys
parameter. Using this parameter enables parallel restore operations to defer creation of a table's foreign keys until after all rows in that table have been restored. This can greatly improve the performance of restore operations for tables with foreign keys. (BugDB #17320320)
A problem has been fixed where a database connection could fail with TimesTen error 6003: Lock request denied because of time-ou
t, during user authentication. (BugDB #17494158)
When altering the replication schema for classic replication, there was a degradation in performance when the ROUTE
clause was used. An unnecessary check was made when adding subscribers. This problem has been fixed. (BugDB #17550646)
A problem has been fixed where dropping a table that had a foreign key constraint from an active standby pair replication scheme would result in TimesTen error 8192
, even when replication of DDL was enabled. (BugDB #17586598)
A query that includes multiple outer joins fails. The outer join definition uses Oracle syntax (+) to designate the outer join. This problem has been fixed. (BugDB #17855394)
A problem has been fixed where an assertion failure could occur in client server mode during a SELECT
statement. (BugDB #17872526)
The query optimizer chose a non-performant query plan when evaluating a join query that contains more than 11 tables. This problem has been fixed. (BugDB #17901565)
When using active standby pairs with a twosafe service, sometimes a small percentage of XLA messages on the active database are not returned to XLA or JMS/XLA readers. This problem has been fixed. (BugDB #17920607)
Changes in this release include:
You can cancel and cleanly stop a ttLoadfromOracle
operation with either the SQLCancel(
hstmt
)
ODBC function or by pressing Ctrl-C
in the ttIsql
utility. For more information, see the Oracle TimesTen In-Memory Database Operations Guide.
You can manage the size of the transaction commit buffer for the cache agent used to process autorefresh. You can also manage the size of the transaction commit buffer for the replication agent when using an active standby pair replication scheme that includes autorefresh cache groups. For more details, see the Oracle TimesTen Application-Tier Database Cache User's Guide and the Oracle TimesTen In-Memory Database Reference.
This release includes the ttDbWriteConcurrencyModeSet
and ttDbWriteConcurrencyModeGet
built-in procedures. These procedures provide control over read optimization during periods of concurrent write operations. For more details, see the Oracle TimesTen In-Memory Database Operations Guide and the Oracle TimesTen In-Memory Database Reference.
Support is added for constant expressions, dynamic parameters, and null values in the values lists used for IN
, ANY
, SOME
, or ALL
. For more information, see the Oracle TimesTen In-Memory Database SQL Reference.
In previous releases, users could encounter an unexpected full autorefresh of readonly cache groups, due to truncated autorefresh change log tables. This has been fixed. (Bug DB 12331763)
A problem is fixed where the TimesTen Windows installer did not include the TimesTen JDBC .jar
files. (BugDB 12385810)
In previous releases, TimesTen returned the wrong information in error message TT16045
when a user specified the ttRepAdmin -duplicate
command without specifying the -localhost
option. In this release, TimesTen returns useful and correct information in the error message. (Bug DB 12401395)
A problem existed where the documented path for the snmp.ini
file was incorrect. In this release, the snmp.ini
file is in install_dir
/info/
on UNIX systems and install_dir
\srv\info\
on Windows platforms. (BugDB 13546123)
A problem is fixed where certain join queries that contained a FIRST 1
or a FIRST
N
clause would take a long time to complete. (BugDB 16171204)
A CREATE ACTIVE STANDBY PAIR
statement could fail on an asynchronous writethrough subscriber, when the replication scheme included a fail threshold and there was a backlog in the transaction log. This is fixed. (BugDB 16292638)
In previous releases, users were required to drop a Clusterware-managed active standby pair when changing the cache administrator or cache user password. In this release, you do not need to drop the active standby pair. The procedure for changing the cache administrator and cache user passwords is documented in the Oracle TimesTen In-Memory Database Replication Guide. (BugDB 16364233)
In previous releases, when the timeout value was too small in an active standby pair scheme that contained an asynchronous writethrough cache group, large transactions could cause the transmitter to fail without restarting immediately. In this case, writethrough to the Oracle database would not occur. This is fixed. (BugDB 16419027)
In previous releases, an assertion failure could occur in a TRUNCATE TABLE
operation. This is fixed. (BugDB 16536874)
A problem is fixed where an assertion failure could occur with a SELECT
query with the analytical function ROW_NUM
, DENSE_RANK
or RANK
. (BugDB 16629624)
A problem is fixed where TimesTen changed the column names in the output of a query that contained an ORDER BY
clause. (BugDB 16714127 and 17021410)
A problem is fixed where a query executed after calling the built in procedure ttIndexAdviceCaptureStart(1,0)
would incorrectly return TimesTen error 805. (BugDB 16729095)
A deadlock could occur when an uncommitted foreign key value was updated while concurrently deleting one or more rows from the parent table. This is fixed. (BugDB 16805039)
A problem is fixed that could cause a uniqueness violation when a unique value that had been deleted was reused in the same transaction. (BugDB 16805056 and 16805068)
A performance regression for hash indexes that was seen in releases 11.2.2.4.4 and greater has been fixed. (BugDB 16818440)
Performance for queries involving left outer joins is improved in this release. (BugDB 16820660, 16843298 and 16895481)
This release includes diagnostics to gather more information on a spinlatch
assertion. (BugDB 16855677)
When managing more than two applications with Oracle Clusterware, TimesTen would return a large number of error messages incorrectly. This is fixed. (BugDB 16859952)
In previous releases, when automatic client failover happened in the middle of a transaction, uncommitted updates from before the failure were silently discarded when the new connection was made. In this release, applications must specify the attribute RollbackRequiredOnFailover=1
in the client connection string, instead of the client DSN entry. TimesTen reports the potential loss and asks the application to roll back the transaction before proceeding. (BugDB 16892906)
In previous releases, an assertion failure could occur when a complex query created a temporary index on a base table. This is fixed. (BugDB 16892974)
A DELETE
subquery could cause an out of temporary space error. This is fixed. (BugDB 16921854)
A deadlock error could occur during a dynamic load of a local dynamic cache group that had an aging policy defined on it. This is fixed. (BugDB 16928152)
A problem is fixed where the replication agent CPU usage could spike after the state of the subscriber was set to STOP
. (BugDB 16951511 and 17246933)
If a latch assertion occurs, we now collect further information in the .inval
file to help diagnose the root cause of the assertion. (BugDB 16955266)
TimesTen returns error message 15105
when a user other than the instance administrator attempts to create a database. The error can occur when there is a mismatch between the user ID and the password entered when the user attempts to create the database. In this release, the text for TimesTen error message 15105
is improved to better explain the cause of the error. (BugDB 16963720)
Daemon log messages for cache groups now contain the name of the cache group when the cache group is altered. (BugDB 17038478)
A problem is fixed where an assertion failure could occur during recovery of a database that contained tables with compressed columns. (BugDB 17038539 and 17038634)
A latch assertion failure could occur when an INSERT
was made into a table that had a non-unique hash index after an application was killed or died during a SELECT
operation on the same table. This is fixed. (BugDB 17039444)
An integer overflow could occur when using out-of-line columns. This is fixed. (BugDB 17047291)
A problem has been fixed where a SELECT
query with a left outer join could result in a segmentation fault. (BugDB 17321103)
In previous releases, when specifying the -numthreads
option with the ttMigrate
utility when restoring a database that contained a replication scheme, TimesTen could return a TimesTen 8151
error. This is fixed. (BugDB 17056944)
An assertion failure could occur during a query that did an implicit data type conversion on a column that had a unique index. This problem is fixed. (BugDB 17259103)
A problem is fixed that could result in database incompatibility after adding a new subscriber to an existing replication scheme. (BugDB 17321440)
The following daemon log message would not print correctly: Could not find user count row for table
tablename
in CACHE_ADMIN.TT_06_LOG_SPACE_STATS. Any autorefreshed cache group containing table
tablename
will not be refreshed.
This is fixed. (BugDB 17348602)
A core dump could occur with a client server application that connected, disconnected and did queries from multiple threads. This is fixed. (BugDB 17413183)
A problem is fixed where a query could return the wrong result when using out-of-line data types in a nested GROUP BY
clause. (BugDB 17421433)
Dropping a read only cache group without first excluding it from an active standby pair replication scheme would cause an assertion failure. Now, TimesTen returns an error if a user attempts to drop the read only cache group before excluding it from the active standby pair replication scheme. (BugDB 17484944 and 17484956)
Timesten error 3017
would be issued when creating a table with a foreign key with ON DELETE CASCADE
on a database containing an active standby pair replication scheme. This error should not be issued when DDLReplicationLevel
is 2
. This is fixed. (BugDB 17504656 and 17504720)
An assertion failure could occur for a query that used a subquery with aggregate or rownum
. This is fixed. (BugDB 17512072)
This release includes some improvements to transaction list handling in the replication transmitter to avoid performance issues when a backlog is being processed in a bi-directional replication scheme. (BugDB 17554372)
A problem is fixed where the TimesTen installer would incorrectly determine that a port was already in use when configuring the TimesTen daemon or TimesTen Server. (BugDB 17576641)
A problem has been fixed where an UPDATE
operation would run slowly and then fail with a constraint violation. (BugDB 17579344)
A problem is fixed where the status of the standby database in an active standby pair replication scheme changed to IDLE
after migration using the ttMigrate
utility. (BugDB 17577970 and 17577929)
The cache agent could falsely report the following error: The sequence number for table
tablename
had changed but the table was not refreshed. The cache group in data store
database_name
is out of sync.
This is fixed. (BugDB 17610433)
An assertion failure could occur when one connection was trying to access a column with an index on it while another connection was altering the index. This is fixed. (BugDB 17641951)
This section includes:
Platform or operating system | C/C++ compiler support | JDK supportFoot 1 |
---|---|---|
Linux x86-32 and x86-64:
TimesTen supports Native POSIX threads but not LinuxThreads. |
Intel icc 10.1, gcc 4.3 and 4.5
Oracle Linux 6 is tested and compiled with gcc 4.4. |
Oracle JDK 5.0 and 6
JRockit JDK 5.0 and 6.0 IBM JDK 6.0. NOTE: The IBM Java 6 SDK requires |
Microsoft Windows x86-32:
|
Visual Studio 2010, 2008 and 2005 for Windows | Oracle JDK 5.0 and 6
JRockit JDK 5.0 and 6.0 |
Microsoft Windows x86-64:
|
Visual Studio 2010, 2008 and 2005 for Windows | Oracle JDK 5.0 and 6
JRockit JDK 5.0 and 6.0 |
Solaris SPARC 64-bit:
|
Solaris Studio 12 for Solaris SPARC | Oracle JDK 5.0 and 6
JRockit JDK 5.0 and 6.0 |
Solaris x86-64:
|
Solaris Studio 12 for Solaris x86-64 | Oracle JDK 5.0 and 6 |
IBM AIX 64-bit:
|
IBM Compiler for AIX | IBM JDK 5.0 and 6.0 |
Solaris SPARC 32-bit (client only):
|
Solaris Studio 12 for Solaris SPARC | Oracle JDK 5.0 and 6 |
IBM AIX 32-bit (client only):
|
IBM Compiler for AIX 32-bit | IBM JDK 5.0 and 6.0 |
Mac OS X Mavericks 10.9 (client only) | gcc 4.2.1. | AppleJDK 6.0 and Oracle JDK 7.0 |
Footnote 1 The TimesTen ttjdbc6.jar
has been certified to work with the Oracle Java 7 runtime environment (JRE) and Oracle Java 8 JRE. TimesTen does not support JDBC 7 or JDBC 8 features. The ttjdbc7.jar
and the ttjdbc8.jar
files are each a copy of the ttjdbc6.jar
.
Footnote 2 On MontaVista CGE Linux, TimesTen only supports IMDB core functionality and replication. The following features are not supported on this platform: TimesTen Cache and cache grid, the OCI API, Pro*C, PL/SQL, Clusterware and connections from Windows clients.
TimesTen is supported in virtual machines provided by Oracle VM.
A TimesTen client on any supported platform can connect to a TimesTen server on any platform where TimesTen is supported.
For configuration details see "Configuring TimesTen Client and Server" in the Oracle TimesTen In-Memory Database Operations Guide.
Oracle TimesTen Application-Tier Database Cache (TimesTen Cache) enables you to cache Oracle database data in TimesTen. The TimesTen installation includes Oracle Instant Client. The following Oracle server releases are supported with the TimesTen Cache option:
Oracle Database 10g Release 2 (10.2.0.5.0 or above)
Oracle Database 11g Release 1 (11.1.0.7.0 or above)
Oracle Database 11g Release 2 (11.2.0.2.0 or above)
Oracle Database 12c
TimesTen replication is supported only between identical platforms and bit-levels.
Oracle Clusterware 11.2.0.2 and 11.2.0.3 are supported with TimesTen active standby pair replication. For more details, see Oracle TimesTen In-Memory Database Replication Guide.
For software requirements, refer to Oracle TimesTen In-Memory Database Installation Guide.
You should receive the following with your copy of the Oracle TimesTen In-Memory Database:
Release Notes. This document (which you are now reading) covers late-breaking information not included in the formal documentation.
Oracle TimesTen Media Pack. The media pack includes the Oracle TimesTen libraries and executables, demo programs, utilities and online documentation. The documentation included on the media pack consists of:
Oracle TimesTen In-Memory Database Release Notes (Part Number E21630). See the description above.
Oracle TimesTen In-Memory Database Installation Guide (Part Number E21632). This guide provides information about installing and upgrading TimesTen.
Oracle TimesTen Application-Tier Database Cache Introduction (Part Number E21631). This guide describes the features of Oracle TimesTen Application-Tier Database Cache and provides information to help developers plan an TimesTen Cache application.
Oracle TimesTen In-Memory Database Operations Guide (Part Number E21633). This guide provides information about configuring TimesTen and using the ttIsql
utility to manage a database. It also provides a basic tutorial for TimesTen.
Oracle TimesTen In-Memory Database C Developer's Guide (Part Number E21637). This guide describes how to compile and link your C application with Oracle TimesTen and how to set up and work with Oracle TimesTen databases. It covers topics that include error handling, event management and performance tuning. It also provides a reference for C language-specific APIs.
Oracle TimesTen In-Memory Database Java Developer's Guide (Part Number E21638). This guide describes how to compile your Java application with Oracle TimesTen and how to set up and work with Oracle TimesTen databases. It covers topics that include error handling, event management and performance tuning. It also provides a reference for Java language-specific APIs.
Oracle TimesTen In-Memory Database TTClasses Guide (Part Number E21640). This guide describes the Oracle TimesTen C++ Interface Classes library. The library provides wrappers around the most common ODBC functionality.
Oracle TimesTen In-Memory Database PL/SQL Developer's Guide (Part Number E21639). This guide describes and explains how to use PL/SQL in the TimesTen database. It is intended for anyone developing PL/SQL-based applications for the Oracle TimesTen In-Memory Database.
Oracle TimesTen In-Memory Database PL/SQL Packages Reference (Part Number E21645). This guide provides a reference to all PL/SQL packages available for use with the TimesTen database. It is intended for anyone developing PL/SQL-based applications for the Oracle TimesTen In-Memory Database.
Oracle Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide (Part Number E21641). ODP.NET support for Oracle TimesTen In-Memory Database (TimesTen) enables ADO.NET data access from .NET client applications to TimesTen databases. This document covers features specific to ODP.NET 11.2 support of and use with TimesTen.
Oracle Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide (Part Number E38358). ODP.NET support for Oracle TimesTen In-Memory Database (TimesTen) enables ADO.NET data access from .NET client applications to TimesTen databases. This document covers features specific to ODP.NET 12.1 support of and use with TimesTen.
Oracle TimesTen In-Memory Database Reference (Part Number E21643). This guide provides a reference to all Oracle TimesTen utilities, built-in procedures, attributes and system limits. Also provides a reference to other features of TimesTen.
Oracle TimesTen In-Memory Database SQL Reference (Part Number E21642). This guide contains a complete reference to all TimesTen SQL statements, expressions and functions, including TimesTen SQL extensions.
Oracle TimesTen In-Memory Database Error Messages and SNMP Traps (Part Number E21646). This guide contains a complete reference to the TimesTen error messages and information about using SNMP traps with TimesTen.
Oracle TimesTen In-Memory Database System Tables and Views Reference (Part Number E21644). This document provides a reference for TimesTen system tables and views and replication tables.
Oracle TimesTen In-Memory Database Replication Guide (Part Number E21635). This guide provides background information to help you understand how Oracle TimesTen replication works and step-by-step instructions and examples that show how to perform the most commonly needed tasks. It includes information about TimesTen integration with Oracle Clusterware.
Oracle TimesTen Application-Tier Database Cache User's Guide (Part Number E21634). This guide provides background information to help you understand how to create and manage Oracle TimesTen Application-Tier Database Cache and cache grid.
Oracle TimesTen In-Memory Database Troubleshooting Guide (Part Number E21636). This guide describes how to troubleshoot some of the problems users encounter when using TimesTen.
Oracle TimesTen In-Memory Database JDBC Extensions Java API Reference (Part Number E21647) and Oracle TimesTen In-Memory Database JMS/XLA Java API Reference (Part Number E21648). These references describe TimesTen extensions to JDBC classes and interfaces and the TimesTen JMS/XLA package.
Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database Installation Guide (Part Number E21649) and Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database Release Notes (Part Number E21650). The guide and release notes describe the Oracle Enterprise Manager 11g Plug-in for TimesTen.
Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database User's Guide (Part Number E28645) and Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database Release Notes (Part Number E28646). The guide and release notes describe the Oracle Enterprise Manager 12c Plug-in for TimesTen.
If any of these items is missing, contact Oracle TimesTen support. See "Access to Oracle Support".
This section lists deprecated and removed items.
Using a deprecated item results in a warning.
The -repUpgrade
option of ttMigrate
has been changed to -exactUpgrade
to be consistent with the replication STORE
clause TABLE DEFINITION CHECKING EXACT
. This is the default.
The -noRepUpgrade
option of ttMigrate
has been changed to -relaxedUpgrade
to be consistent with the replication STORE
clause TABLE DEFINITION CHECKING RELAXED
.
The -rename
option has been removed from the ttMigrate
utility.
Features for XLA non-persistent mode have been deprecated and removed from the documentation. Use utilities and APIs for persistent XLA only.
Support has been removed for TTClasses methods that take a TTStatus
object as the last argument and do not return exceptions.
This section contains known problems and limitations in these categories:
TimesTen does not support Positioned Updates and Deletes. Calls to setCursorName
and getCursorName
methods are ignored.
TimesTen does not support extended data types. An extended data type is a VARCHAR2
or NVARCHAR2
data type with a declared size greater than 4000 bytes, or a RAW
data type with a declared size greater than 2000 bytes.
If a user attempts to cache an Oracle database table that contains a column that uses extended data types, TimesTen returns an error.
If a user tries to do a SELECT
on a column that uses an extended database type in passthrough=3
mode, TimesTen returns an error and the command fails.
Alternatively, to access the Oracle data, use SQL*Plus or other methods to query the Oracle database.
The list of known problems and limitations for the Cache Advisor is in the readme.html
file in install_dir
/ttcacheadv
in your TimesTen instance (Linux x8664 only).
In the Windows ODBC Client DSN Setup dialog box, when the Server Name refers to a UNIX host, pressing the Refresh button to get the list of DSNs on that server sometimes fails to obtain the list. Enter a known DSN in the Server DSN field to create the client DSN entry successfully. TimesTen connections from Windows using that client DSN work normally.
On UNIX, when using ttlocalhost
, a client of one TimesTen instance cannot connect with a server of another TimesTen instance. For example, a 32-bit TimesTen client cannot connect to a 64-bit TimesTen server when using ttlocalhost
. The workaround is to use ttShmHost
(shared memory IPC) or localhost
(127.0.0.1
).
While using shared memory as IPC, the application may see the error message 24
from the client driver if the application reaches the system-defined, per process file descriptor limit. This may happen during a connect operation to the Client DSN when the shmat
system call fails because the application has more open file descriptors than the system-defined per-process file descriptor limit.
When using Oracle TimesTen Cache, we recommend that you enable full core dumps by adding the line
DIAG_RESTRICTED=FALSE
in the sqlnet.ora
file that is included with your Oracle Database client installation.
This setting enables core dumps upon an assertion failure. For more details, see your Oracle Database Readme file.
You cannot use a hash (#
) symbol in a table name in a cache group.
Dynamic load might not occur under the following condition: The query specifies more than one table of the cache group and the first table in the plan is a cache group table without a dynamic load condition. Such a plan is possible when the cache group is empty.
This can be fixed by either:
Setting the join order so the table with the dynamic load condition is the left-most table of the join, or
Setting fake statistics so the tables without the dynamic load condition are not empty.
Global cache group operations are not supported on Windows systems.
In the following scenario:
There are multiple AWT cache groups.
There are pending DML operations to be applied to be propagated to Oracle for an AWT cache group.
The AWT cache group is dropped and then recreated.
The expected behavior is that the pending DML will not be applied to the Oracle database. A problem exists where the pending DML is applied to Oracle. To work around this problem, do one of the following:
Drop all AWT cache groups before any cache group is recreated.
OR
Call the ttRepSubscriberWait
build-in procedure against the Oracle database to ensure that all pending DML are applied to Oracle before dropping the cache group.
If a foreign key on an Oracle database corresponds to cached tables, the foreign key must have an index on it. If there is no index on the foreign key, TimesTen returns an error at the time of cache group creation. This restriction applies for AWT cache groups when parallel propagation is enabled.
If an application performs more than one UNLOAD BY ID
operation on a cache group, there is potential for a deadlock with the autorefresh transaction executed by the cache agent. The deadlock occurs only if those same rows are being updated on the Oracle database at the same time.
Oracle Server bug 7512227
causes TimesTen autorefresh to miss inserts and updates on the Oracle base table. Autorefresh does not miss deletes. The Oracle Server bug applies to Oracle 10g releases 10.2.0.3 and above but does not occur in Oracle Database 11g. There are two solutions:
Set the CURSOR_SHARING
Oracle server parameter to EXACT
.
Install the appropriate Oracle patch for Oracle release 10.2.0.5.
See My Oracle Support document 793948.1.
Caching an Oracle synonym that is owned by a different user results in error 5140: Could not find
owner.synonym
in Oracle. May not have privileges
. The workarounds are:
The owner of the synonym can create the cache group.
Create a new private synonym that points to the original synonym and then create the cache group. The user who owns the cache group that caches the synonym must match the owner of the synonym. (BugDB 8243193)
For TimesTen Cache to work correctly, the value returned by the hostname
command and the uname -n
command (UUCP address) must be the same. If hostname
and uname -n
return different values, TimesTen Cache may report constraint violation failures on Oracle. Alternatively, you can use uname -s
to make sure that the Internet and the UUCP addresses are the same. (BugDB 7033084)
Nullable foreign keys can result in rows without a corresponding parent row. The rows may become stale and may not be refreshed properly through a manual refresh or autorefresh operation. They may not get removed through unload or aging operations, and they may not be updated on Oracle through a flush statement. (BugDB 5735286)
When upgrading to this release, TimesTen does not automatically check for missing constraints on AWT tables created in releases 11.2.2.1.x and earlier releases of 11.2.2.2.x. Run the ttCacheCheck
built-in procedure after upgrading to this release.
For improved JDBC Performance on TimesTen, when using a XenNet virtual device with a Windows 2003 virtual machine on Oracle VM hypervisor, configure the LargeSendOffload
parameter to FALSE
. By default, the LargeSendOffload
parameter is set to TRUE
for the XenNet virtual device. You can modify this parameter in the Advanced tab of the XenNet properties dialog.
For databases on Linux systems where PermSize
+TempSize
+LogBufMB
+20MB > 256 GB, you must have Large Pages configured to accommodate the size of the shared segment.
On Windows 64-bit systems, you need to compile the QuickStart TTClasses demos before you can use them.
TimesTen is not supported with these Oracle Linux 5 kernels: Oracle Linux 5 GA with virtualization option (2.6.18-8.el5xen), Oracle Linux 5 Update 1 with virtualization option (2.6.18-53.el5xen), Oracle Linux 5 Update 2 with virtualization option (2.6.18-92.el5xen).
TimesTen is supported with these Oracle Linux 5 kernels: Oracle Linux 5 kernel version 2.6.18* without the xen
suffix and without the virtualization option, Oracle Linux 5 Update 4 with virtualization option (2.6.18-164.el5xen), Oracle Linux 5 Update 5 with virtualization option (2.6.18-194.el5xen).
The uname -r
Linux command displays the Linux kernel version.
If you are installing TimesTen on a new 64-bit Linux system, you may find that it is not enabled for 32-bit applications. Select the Compatibility Arch Support and Compatibility Arch Development Support packages to install architecture specific support for your system.
On Windows systems, you cannot perform a modified or incremental installation. For example, if you originally installed only the Oracle TimesTen Client and later wanted to install the Oracle TimesTen Data Manager, you need to uninstall TimesTen and reinstall all of the components you wish to have on your system.
To run TimesTen 32-bit on AIX, you must install the appropriate fix or higher mentioned at:
http://www-01.ibm.com/support/docview.wss?uid=isg1fixinfo105065
Without this operating system patch, core dumps or other serious problems may occur when running TimesTen.
The root IBM APAR
is: IZ10231: R27 OVERWRITTEN AFTER DLSYM EXECUTION APPLIES TO AIX 5300-06
.
See http://www-01.ibm.com/support/docview.wss?uid=isg1IZ10231
.
When re-installing TimesTen on UNIX, existing sys.odbc.ini
and sys.ttconnect.ini
files are optionally saved as sys.odbc.ini.old
and sys.ttconnect.ini.old
files and new demo files are installed. In this case, you must manually merge any additional DSNs that may have been defined after reinstalling.
If a JDBC application running in a time zone that has Daylight Savings Time selects a nonexistent time using ResultSet.getTimestamp()
, it gets a time that is an hour behind. For example, in Pacific Standard Time, on the day when the time changes from Standard to Daylight Savings Time, the time between 2:00 a.m. and 2:59 a.m. does not exist. So, if a JDBC application running in Standard Time selects a value of '2002-04-07 02:00:00'
using getTimestamp()
it gets '2002-04-07 01:00:00'
.
SQL statements in JDBC applications should contain only characters from the database character set. Unicode characters not in the database character set are converted to replacement characters during parsing of the query. Potential workarounds include:
Using AL32UTF8
as the database character set.
Parameterizing the statement to avoid characters that are not in the database character set in the query text.
The ODBC SQLExtendedFetch
function appears in TimesTen header files. However, TimesTen does not support this function.
PLSQL_CODE_TYPE=NATIVE
can be specified, but it is implemented as INTERPRETED
.
JRockit on 32-bit Linux allocates a default heap that is 50 percent of available physical memory up to 1 GB. Users of JRockit on 32-bit platforms may need to choose a value for PLSQL_MEMORY_ADDRESS
other than the default (10000000
). Consider values such as B0000000
, which ensures that the PL/SQL shared memory is not part of the JRockit heap.
Using q'
(quoting syntax) is not supported.
UTL_FILE
access is limited to a temporary directory located in install_dir
/plsql/utl_file_temp
. The instance administrator can grant access to UTL_FILE
to specific database users. Users can reference the directory using UTL_FILE
if and only if they provide the string 'UTL_FILE_TEMP'
for the location parameter string.
The default handling of cache groups when duplicating databases is inconsistent between the ttRepAdmin -duplicate
command line utility and the ODCB ttRepDuplicateEX
utility. When using ttRepAdmin
, cache groups are converted to regular tables by default (-noKeepCG
). When using ttRepDuplicateEX
, cache groups are retained by default.
Replication for an altered table can fail if the replication agent is stopped immediately after the ALTER TABLE
statement has been issued and the agent has not advanced past the end of the ALTER TABLE
transaction. This problem can occur regardless of return service policy. If you need to stop the replication agent after an ALTER TABLE
transaction, issue a ttRepSubscriberWait
call to ensure that the replication agent restart point has advanced beyond the alter table operation.
If the first operation in a two-safe user session is an ALTER TABLE
operation, the ALTER TABLE
is not replicated. The workaround is to do some other operation on the table in the same session before altering the table.
Under very rare circumstances, it is possible for a pair of replicated detail tables and their corresponding materialized view to diverge. This divergence can only happen if the materialized view satisfies both of the following conditions:
The view definition has two or more predicates.
One of the predicates contains an expression that can generate an exception such as numeric overflow, division by zero or string truncation.
Replicating an update to a detail table can cause divergence if differences in the order of predicate evaluation on the two databases cause a predicate to be evaluated and generate an exception only on the receiving database. The store then rejects the update, resulting in divergence of the detail table and the materialized view. To prevent such divergence, users should avoid replicating materialized views that have predicates that can generate exceptions during expression evaluation. The SQL CAST
operator can be used in some cases to avoid arithmetic overflow.
Foreign key and uniqueness constraints cannot be checked at the statement level if ttXlaApply
is used to implement replication.
To use this release of the ttStats
utility with databases created in previous releases of TimesTen, you must migrate the database to 11.2.2.6.0.
Foreign key constraints are not enforced by the execution of the ttLoadFromOracle
built-in procedure. When using this built-in procedure (or the ttIsql
command) to load rows into a table that is the referencing table (child table) of a foreign key, it is possible that a row without any matching parent is loaded. TimesTen does not detect this foreign key violation. If the data loaded from Oracle may violate a foreign key constraint, verify the foreign key constraint manually after loading both the child and the parent table.
TimesTen BINARY_DOUBLE
and BINARY_FLOAT
are approximate data types. When storing and retrieving data of these types, the least significant digits may be rounded or truncated. You should avoid using columns of these types in primary keys, unique keys and foreign keys.
When the same column alias name is used in a view definition and a query that accesses 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.
Deleting rows from a table that has out-of-line columns and dropping that table in the same transaction results in an assertion failure when using DDLCommitBehavior=1
. To work around this problem, add a commit between the DELETE
statement and the DROP TABLE
statement.
The maximum sum of the total number of tables specified in a query and all temporary aggregates needed to handle the query is 32. A temporary aggregate is needed to handle scalar or aggregate subqueries. A query fails with the message Statement that needs more than 31 nesting levels has not been implemented
when the sum of tables and temporary aggregates in a query is greater than 32.
COUNT
DISTINCT
with CHAR
type uses binary sorting order and binary comparison semantics even when the NLSSORT
attribute was set to a value different than binary
.
When the NLS_SORT
session parameter is set to a multilingual sort (for example, FRENCH_M
), the LIKE
operator may produce incorrect results when the pattern match wild-card symbols are applied to the space character.
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.
TimesTen does not support SQL*Plus connections to TimesTen databases. Use ttIsql
.
A problem exists with TimesTen support for Oracle Clusterware where killing the ttCRSMaster
process of the active database results in a role switch.
TimesTen does not support Clusterware on Windows platforms.
When you perform one of these actions:
Answer the prompt for which host should be designated as the host for the active database.
Enter the ttCWAdmin
-create
command.
You receive the message:
"Warning!! Data store on host(s)
host list
may be destroyed in Order to be duplicated from active after the roll out. Please back up this data store manually if necessary, before executing ttCWAdmin -start"
.
If a database with the specified DSN exists on the host for the standby database, the old database will be destroyed and replaced with the database that is created by the ttCWAdmin -create
command.
The warning has no meaning if there is no database with the specified DSN on the standby host.
If NLS_LANG
is set to a value that is not supported by TimesTen, spurious errors such as "Cannot connect" may result.
On Windows platforms, the link line for a Pro*C application that uses SQLLIB
functions should include both OCI.LIB
and ORASQL11.LIB
. The correct order is OCI.LIB
first, then ORASQL11.LIB
. Reversing the order can lead to the SQLLIB
functions not working.
When compiling a Pro*C/C++ demo, this message may appear: "System default option values taken from:
install_dir
/ttoracle_home/instantclient_11_2/precomp/admin/pcscfg.cfg
." The path name may be incorrect.
The TTCmd::setParamNull()
method cannot be used to set NULL
LOB data in an Oracle Database table using passthrough. Instead, use literals in INSERT
or UPDATE
statements.
The ttMigrate
utility cannot migrate foreign key dependencies between objects owned by different users to TimesTen release 11.2.1 and later from release 7.0 and older without a workaround. To work around this problem, first restore the parent tables. Then grant the owner of the child tables the appropriate REFERENCES
privileges on its parent tables. Finally, restore the child tables.
The ttMigrate
utility cannot migrate materialized views to TimesTen release 11.2.1 and later from release 7.0 and older without a workaround. To work around this problem, first restore the detail tables referenced by the materialized view. Then grant the owner of the materialized view SELECT
privileges on every detail table. Finally, restore the materialized view.
See Oracle TimesTen In-Memory Database C Developer's Guide for details about XLA (Transaction Log API). See Oracle TimesTen In-Memory Database Java Developer's Guide for details about JMS/XLA.
XLA and JMS/XLA return incorrect information for index types for a CREATE INDEX
statement. The value reflected in the flag
field of ttXlaCreateIndexTup_t
in XLA and the INDEX_TYPE
value of CREATE_INDEX
in JMS/XLA are always R
, indicating regular indexes, regardless of the actual index type.
This limitation applies to JMS/XLA, ODBC/XLA and TTClasses/XLA. When a modification of a LOB column is committed, XLA does not return the value of the LOB. XLA does indicate the following:
Whether the LOB has been inserted, updated or deleted
Whether the value of the LOB column is NULL
or not NULL
Whether the length of the LOB is zero
Whether the value of the LOB is undefined
TimesTen does not generate an XLA record for CREATE MATERIALIZED VIEW LOG
operations.
JMS/XLA depends on the Oracle GDK for internationalization support. TimesTen distributions include a version of orai18n.jar
in install_dir
/lib
that JMS/XLA is tested against. JMS/XLA may work with other versions of orai18n.jar
but those versions are not supported.
To achieve the highest throughput, JMS/XLA applications running on Linux should follow performance guidelines presented in the section entitled "Handling high event rates" in Oracle TimesTen In-Memory Database Java Developer's Guide to work around these issues.
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
.
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
if you are hearing impaired.
Oracle TimesTen In-Memory Database Release Notes, 11g Release 2 (11.2.2)
E21630-93
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.