Oracle® TimesTen In-Memory Database Historical Release Notes
Release 11.2.1
 

 

Oracle® TimesTen In-Memory Database

Historical Release Notes

Release 11.2.1

 

February 2014

This document provides historical release information for TimesTen release 11.2.1.0.0 through 11.2.1.9.8. It is a superset of the current release notes, including older information that has been removed from the release notes.

http://www.oracle.com/technetwork/database/database-technologies/timesten/documentation/index.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/index.htm at the root of the installation media pack.

This document contains the following sections:

1 Changes in this release

This section lists changes in this release:

1.1 Changes for Release 11.2.1.9.8 from Release 11.2.1.9.7

1.1.1 New Feature in Release 11.2.1.9.8

  • Tools have been added to assist users in improving execution of massive data changes for autorefresh, read-only cache groups. See "Appendix: Improving execution of massive data changes for autorefresh, read-only cache groups" at the end of the release notes in your distribution.

1.1.2 Bug fixes in 11.2.1.9.8

  • A bug was fixed which could cause a segmentation violation (or fault) when a TTCmd object is prepared with a SQL statement that references a non-existent table or object.(BugDB 12656887)

  • When duplicating a standby database that did not have a cache group and the options -keepcg, -cacheuid and -cachepwd were passed in, TimesTen returned a misleading error message and created an inaccessible database instead of failing immediately. This problem is fixed. (BugDB 13249851)

  • A problem has been fixed where autorefresh validation reported a false error under certain conditions when the cache group is put in the PAUSE state and then loaded. (BugDB 13889426)

  • For JDBC applications, running in client server mode, SELECT and UPDATE operations would return incorrect data for time data. This problem would occur only when:

    The JDBC client was running on a different endianness of the underlying operating systems than the server.andThe database was running in Oracle Mode (TypeMode=0) and the data type was TT_TIMESTAMP or the database was running in TimesTen mode (TypeMode=1) and the data type was TIMESTAMP. (BUGDB 14323769)

  • The ttBulkCp utility could use too much permanent space during inserts if it encountered uniqueness constraint violations. This problem is corrected. (BugDB 14373539)

  • In previous releases, if ttCRSactiveservice had unexpected difficulty determining the currently active Oracle Clusterware instance on its host, it could crash with a core dump. It now fails with an error message and does not crash. (BugDB 14402612)

  • An access control problem was fixed where a user lacking SELECT privileges on a table was able to select from that table. (BugDB 14488824)

  • When a log file was deleted under certain conditions, replicated XLA would run into a memory leak and output an error message referencing an incorrect log file. Both the problem that generated the error and the incorrect error message are fixed. (BugDB 14501259)

  • A potential hang was fixed in TTClasses that could occur when an error was thrown during the TTConnectionPool::freeConnection method. (BugDB 14501733)

  • The ttXactAdmin utility has been enhanced to return an error when it cannot run. In previous releases, a call to ttXactAdmin -xactIdRollback would fail silently. (BugDB 14582233)

  • In this release, TimesTen prints diagnostic information in the daemon log when it encounters latch contention. (BugDB 14668736)

  • With a bi-directional replication scheme where only one store is receiving updates, transaction log files can build up on the receiving store if the transmitter on that store falls behind. In addition to the buildup of log files you may also see the transmitter thread(s) restarting periodically. The chances of encountering this issue can be reduced by:

    • Ensuring your workload doesn't exceed a rate that is sustainable by replication

    • Increasing the replication timeout parameter for the store.

    • Configuring the largest log buffer that you can with the connection attribute LogBufMB.

    These configuration changes allow the transmitter thread on the receiver to process the backlog as quickly as possible. (BugDB 14700065)

  • A race condition that could cause an assertion failure during a SELECT COUNT (*) query has been fixed. (BugDB 15845780)

  • A problem with TTClasses TTConnectionPool class was fixed where, if a warning occurred while connecting to the database (SQL_SUCCESS_WITH_INFO), the connection would be left unusable in the connection pool. (BugDB 15854639)

1.2 Changes for Release 11.2.1.9.7 from Release 11.2.1.9.6

  • Under high transaction rates with concurrent users, TimesTen connections could hang due to a latch deadlock caused by a semaphore handling issue. Repeated ttXactAdmin -latch outputs showing waiters on the CTN Wrap latch would indicate that this problem had been encountered. This problem is fixed. (BugDB 14368786)

1.3 Changes for Release 11.2.1.9.6 from Release 11.2.1.9.5

  • A problem is fixed where repeatedly calling a PL/SQL anonymous block with identical source text but parameters of different sizes could lead to unusual consumption of PLSQL Shared Memory. (BugDB 13961145 and 14191546)

  • In previous releases, an assertion failure could occur when performing an INSERT, DELETE or TRUNCATE operation on a table while updating column statistics on the same table. In this release, TimesTen returns an error. (BugDB 14133568)

  • A problem is fixed where attempting to add a subscriber to an existing replication configuration could result in the deadlock error TT6002.(BugDB 14177227)

  • Connections that used global temporary tables or PrivateCommands=1 could take 10 seconds or more to disconnect. The efficiency of disconnect in these cases has been dramatically improved. (BugDB 14191539)

  • A problem has been fixed on MontaVista Linux Carrier Grade Edition 6, where a TimesTen uninstall would reference an awk script in the wrong directory. (BugDB 14198378)

  • In rare instances, an assertion failure could invalidate the database when logs were being flushed to disk while concurrent operations were taking place in the database. (BugDB 14204003)

  • Previously, cache group operations, such as dynamic load, would fail when connecting to Oracle if the user or application passed an empty Oracle password or did not provide a password. When multiple TimesTen sessions concurrently attempted to connect without specifying the Oracle password, it resulted in a performance degradation for subsequent connection attempts. This is related to a new Oracle database 11.2.0.2 behavior, which is described in KM Doc ID 1309738.1. Currently, if a TimesTen user or application tries to connect passing an empty password, TimesTen does not connect and returns an error message indicating to the user that the password is either empty or not provided. (BugDB 14205279)

  • A problems has been fixed where creating an active standby pair in a Clusterware environment could fail if the timeout value specified was less than 30. (BugDB 14213946)

  • A problem has been fixed where an assertion failure could occur in the TimesTen function sbMapIx_t when updating data. (BugDB 14218327)

  • A problem has occurred where a PL/SQL procedure could return an ORA-600 [Cursor not typechecked] error when a PL/SQL anonymous block was re-executed with different binds and bind sizes. (BugDB 14297167)

  • The ADMIN_OPTION column was incorrectly defined in the system views SYS.DBA_SYS_PRIVS and SYS.USER_SYS_PRIVS. This problem resulted in the value of the column always being 'NO'. This has been fixed. (BugDB 14319291)

1.4 Changes for Release 11.2.1.9.5 from Release 11.2.1.9.4

1.4.1 New Features in 11.2.1.9.5

  • In this release, you can alter a table to add a NOT NULL column with a default value. The DEFAULT clause is required. In prior releases, you could only add nullable columns.

    The syntax for this feature is:

    ALTER TABLE ADD [COLUMN] columnname columntype NOT NULL DEFAULT defaultvalue

    The restrictions on this feature are:

    • You cannot add a NOT NULL column to a table that is part of a replication scheme. You must remove the table from the replication scheme first before you can add a NOT NULL column to it.

    • If you alter a table and add a column with the NOT NULL DEFAULT clause, you cannot use the column as a primary key column. Specifically, you cannot specify the column in the command ALTER TABLE ADD constraintname PRIMARY KEY (columnname [,...]).

    • If you alter a table and add a column with the NOT NULL DEFAULT clause, you cannot use the column for time- based aging. Specifically, you cannot specify the column in the statement ALTER TABLE ADD AGING USE ColumnName.

    The XLA function ttXlaGenerateSQL has been modified to support the NOT NULL clause for an ALTER TABLE ADD COLUMN...NOT NULL DEFAULT operation.

    For nullable columns, ttXlaColDesc_t.nullOffset points to the column's null byte in the record. This field is 0 (zero) if the column is not nullable, or greater than 0 if the column can be NULL.

    For nullable columns (ttXlaColDesc_t.nullOffset > 0), to determine if the column is NULL, add the null offset to the address of ttXlaUpdate_t* and check the (unsigned CHAR) byte there to see if it is 1 (NULL) or 0 (NOT NULL).

    Example 1

    Command> CREATE TABLE tab1 (col1 number);
    Command> ALTER TABLE tab1 ADD COLUMN col2 NUMBER NOT NULL DEFAULT 10;
    Command> ALTER TABLE tab1 ADD COLUMN col3 NUMBER DEFAULT 10 NOT NULL;
    Command> INSERT INTO tab1 VALUES (10);
        1 row inserted.
    Command> SELECT * FROM tab1;
        < 10, 10, 10 >
        1 row found.
    

    Example 2

    Command> INSERT INTO tab1 VALUES (10,null,null);
        871: COLUMN COL2 CANNOT BE SET TO NULL
        The command failed.
    

1.4.2 Bug Fixes in 11.2.1.9.5

  • A problem is fixed where the replication peer failure state (TT_REPLICATION_INVALID), which is triggered by exceeding the replication threshold, was being reset on a database invalidation or unload. As a result, TimesTen issued the warning TT20100 instead of warning TT8025, after the reload. (BugDB 13777958)

  • A problem is fixed where the memory usage for the TimesTen replication daemon agent could grow over time. This was due to a memory leak that could occur with asynchronous writethrough cache group(s) and CacheAWTMethod=0 (SQL array execution method). (BugDB 14005918)

  • Error message TT116067 is enhanced to provide additional details about the cause of the failure it reports. The daemon log now contains information immediately after the error message about the underlying cause of the error. (BugDB 14009090)

  • In TimesTen Release 11.2.1.7.0, a problem was fixed where an assertion failure could occur with asynchronous writethrough cache groups. The release notes for 11.2.1.7.0 have been updated to reflect this fix. The release note file is located at: http://www.oracle.com/technetwork/products/timesten/documentation/1121-historic-183693.html (BugDB 14146561)

  • A problem is fixed where a core dump could occur on the TimesTen server when using an automatic client failover configuration with Oracle Clusterware. The problem could occur even when the server was idle. (BugDB 14176141)

1.5 Changes for Release 11.2.1.9.4 from Release 11.2.1.9.3

  • A problem has been fixed in which propagation of changes to Oracle from a global cache group could not resume after an active standby failover occurred. (BugDB 14012725)

1.6 Changes for Release 11.2.1.9.3 from Release 11.2.1.9.2

  • This release contains additional diagnostics that are captured in the database .inval file when an assertion is encountered.

1.7 Changes for Release 11.2.1.9.2 from Release 11.2.1.9.1

  • A problem existed in which an XLALSN was not advanced in the dbheader file after an XLA application did an acknowledge. This problem is fixed. (BugDB #12317769)

  • An assertion failure could occur in an active/active replication scheme with clients sending concurrent requests to the system. This problem is fixed. (BugDB #13852031)

  • For OCI, a problem was fixed where the schema name was not being used if passed as the leading part of the name to OCIDescribeAny. (BugDB #13852209)

  • In previous releases, mapping of a TT_TINYINT column to a NUMBER column for an Asynchronous Writethrough cache group could result in data getting corrupted. This release fixes the problem. (BugDB #13920878)

1.8 Changes for Release 11.2.1.9.1 from Release 11.2.1.9.0

  • When using cache grid, a problem existed where TimesTen would interpret a temporary failure as a permanent failure. This problem is fixed. (BugDB #13830396)

1.9 Changes for Release 11.2.1.9.0 from Release 11.2.1.8.8

1.9.1 Behavior Changes in Release 11.2.1.9.0

  • Public synonyms cannot be created with the same name as a TimesTen built-in procedure. Previously this was allowed. TimesTen returns an error if an application references a public synonym that has the same name as a TimesTen built-in procedure.

1.9.2 New features in Release 11.2.1.9.0

  • The dynamic cache group functionality has been expanded to include joins across tables that exist in multiple cache groups. The DynamicLoadEnable connection attribute has been enhanced to support this feature. See the Oracle In-Memory Database Cache User's Guide and the Oracle TimesTen In-Memory Database Reference.

  • TimesTen is supported with Oracle Clusterware Release 11.2.0.2.

  • This release contains a new built-in procedure, ttOptCmdCacheInvalidate, that allows applications to recompile or invalidate dependent commands. See the Oracle TimesTen In-Memory Database Reference.

  • In this release, when performing a ttRepAdmin -duplicate operation, you can specify a local or remote IP address for the destination of the duplicate, using the options -localIPAddress and -remoteIPAddress. See "Duplicate a database" in the Oracle TimesTen In-Memory Database Reference. Also see and the Oracle TimesTen In-Memory Database Replication Guide.

1.9.3 Bug fixes in Release 11.2.1.9.0

  • Fixed ttBulkCp NLS conversion problems that could occur with databases that used multibyte character sets. (BugDB 12548957)

  • A problem has been fixed in which setting the PLSQL_MEMORY_SIZE connection attribute to a value of 2048 stopped manual RAM loading from working. (BugDB 12882032)

  • In previous releases, if a user specified an argument that had the wrong data type when using the function TO_CHAR, TO_NUMBER or TO_DATE, TimesTen would fail with an assertion. In this release, TimesTen returns an error, in this case. (BugDB 12965491)

  • Updating statistics on the system table SYS.SYSAUTH$ would prevent users who were not the Instance Administrator from establishing new connections. This is fixed. (BugDB 12883865)

  • A problem is fixed in which, under some circumstances, user log (tterrors.log*) and support log (ttmesg.log*) rotation does not occur. For example, this problem could occur when the main daemon is not logging to the daemon logs but is logging to the replication agent, cache agent or Server, for an extended time. (BugDB 12975853)

  • In TimesTen OCI, using OCIDescribeAny to describe table columns of type CHAR NOT NULL or VARCHAR NOT NULL results in incorrect column length. This problem is fixed. (BugDB 12988605)

  • An assertion was fixed for queries that had two or more nested-level complex views or derived tables in its FROM clause when the same column name was used in each view or derived table. (BugDB 13006645)

  • In previous releases, the cacheCleanUp.sql script may not clean up all cache objects installed on Oracle. This is now fixed. (BugDB 13069393)

  • In previous releases, using the ODBC SQLDescribeCol function to issue a query against a view that included a UNION ALL clause in the definition could result in incorrect column names. This is fixed. (BugDB 13090724)

  • In previous releases, TimesTen would return error 3137 when an application attempted to insert into grid member in an uncommitted transaction. This is fixed. (BugDB 13116969)

  • A problem existed where TimesTen would return error 954 when one connection to a database ran a PL/SQL procedure that executed a query against the database, while another connection altered the table referenced in the query at the same time. This problem is fixed. (BugDB 13147026)

  • Killing a multi-threaded application during a connect could result in an ORA-00600 error. It no longer results in the error. (BugDB 13251708)

  • In previous releases, a SQL statement containing a comparison or calculation involving a column of type TT_BIGINT could cause TimesTen error 4053: Internal error: Bad data type for char. This is fixed. (BugDB 13256717)

  • The ttAdmin utility is enhanced to allow users to determine if a database is automatically reloaded into memory after a failure, when the RAM policy is set to manual. See the Oracle TimesTen In-Memory Database Reference. (BugDB 13339311)

  • The invalid use of aggregate functions with inline views could cause an assertion during compilation. Now error 2765: invalid use of aggregate function is returned instead (BugDB 13349543)

  • In previous releases, for a "group restricted" TimesTen instance, some diagnostic files, such as .inval files, had incorrect permissions. This problem is fixed. (BugDB 13399296)

  • A problem existed where an error was returned during DELETE operations on grid instances owned by multiple nodes in a global dynamic cache group. This problem is fixed. (BugDB 13402540)

  • TimesTen internal bookkeeping is improved to remove unneeded TimesTen objects left behind in an Oracle database once an autorefresh operation was completed. (BugDB 13443440)

  • In this release, multiple ttRepAdmin -duplicate operations can progress concurrently from multiple TimesTen databases caching the same Oracle database. This was not possible in previous releases. (BugDB 13468080)

  • When a member of a grid is detached forcibly, all changes that have not been propagated to Oracle are discarded. In previous releases, global cache groups were unloaded. In this release, local AWT cache groups are unloaded also if any of the changes that were not propagated to Oracle belonged to a local AWT cache group. (BugDB 13516887)

  • Executing multiple CRS admin operations concurrently on the active node of an active standby pair would result in an unexpected failover. This problem is fixed. (BugDB 13525183)

  • On 64-bit systems, the ttIsql utility command cmdcache by cmdid would not accept values larger than the 32-bit TT_INTEGER type. This problem is fixed. (BugDB 13530046)

  • An assertion failure occurred in the function sbColGetTupNumAndPos while executing a complex query that included inline views and GROUP BY clauses. This problem is fixed. (BugDB 13562164)

  • In previous releases, a COMMIT after an update in an active standby pair would fail with TimesTen errors 971 and 16080. This release includes additional integrity checks to prevent the problem from occurring. (BugDB 13590358)

  • For Windows systems, a problem is fixed where oci.dll would be left behind after uninstalling TimesTen. (BugDB 13599945)

  • In previous releases, a SELECT statement that contained multiple AND operators could give unexpected results on a cache table. This is fixed. (BugDB 13701176)

  • In previous releases, customers using readonly cache groups have reported significant User Lock contention on Oracle. This is fixed. (BugDB 13786327)

1.10 Changes for Release 11.2.1.8.8 from Release 11.2.1.8.5

  • The JDBC Client Server driver leaked memory if the number of parameters in a PreparedStatement or CallableStatement was not an integral multiple of four. This is fixed. (BugDB 13018571)

  • In previous releases, any committed deletes on cached tables in a global AWT cache group could not be propagated if the node was not attached; an attach request could not be completed until all committed updates on cached tables are propagated. This has been fixed in this release. During re-attach, after checking with all currently attached nodes that TimesTen can re-attach the failed node, grid enters a state that enables propagation to proceed. (BugDB 13416457)

    This release includes the built-in procedure ttGridFirstMemberAttach. In the case that all attached members of the grid have died, call this built-in instead of ttGridAttach to attach the first member of the grid. The syntax of the ttGridFirstMemberAttach built-in is exactly the same as the existing ttGridAttach built-in procedure, which is documented in the Oracle TimesTen In-Memory Database Reference. Call the ttGridFirstMemberAttach only from one member. Ensure that the cache agents of all other members are stopped before calling this built-in procedure or the procedure fails. (BugDB #13465148)

  • In previous releases, the PLSQL_MEMORY_SIZE was internally limited to 1 GB, which caused problems for PL/SQL applications that requested more memory. In this release, the 1 GB limit has been removed. (BugDB #13548390)

  • In previous releases, the response time for reacting to terminated members of a grid was too long. In this release, TimesTen reduced the response time when there are errors associated with terminated grid members during a dynamic load, global query, or insert of a global cache group. (BugDB #13476427)

1.11 Changes for Release 11.2.1.8.5 from Release 11.2.1.8.4

  • By default in this release, a dynamic load is allowed on queries that specify multiple cache groups. A dynamic load may happen on each cache group that has an equality constraint with a constant or parameter on a primary or foreign key. For a join query, a dynamic load happens only when a scan is executed by the join plan and a row is not found on the local node by the scan. (BugDB 13081079)

1.12 Changes for Release 11.2.1.8.4 from Release 11.2.1.8.3

1.12.1 Behavior Changes in Release 11.2.1.8.4

  • Because of the fix for bug 12700101 to OCIDescribeAny(), the following types now return the proper scale and precision: BINARY_FLOAT, BINARY_DOUBLE, NUMBER, TIMESTAMP, DATE. In addition, CHAR versus BYTE semantics are correctly described for the NCHAR, NVARCHAR data types. You may need to update OCI applications that use OCIDescribeAny().

  • The following statements are prevented from being executed on a standby database in an active standby database pair: CREATE USER, DROP USER, ALTER USER, GRANT and REVOKE. If the connection attribute DDLReplication is set to greater than 1, CREATE SYNONYM and DROP SYNONYM also cannot be executed.

1.12.2 New features in Release 11.2.1.8.4

  • TimesTen is now supported on Oracle Exalogic Elastic Cloud (Exalogic). The Exalogic certification was performed using the TimesTen with a quarter-rack Exalogic version 1.0 server. For details on installing TimesTen on Exalogic, see the Oracle TimesTen In-Memory Database Installation Guide.

  • Using the ttcwadmin -beginAlterSchema command, you can alter an active standby pair scheme managed by Oracle Clusterware. An alter of a replication scheme is typically used to add or drop replicated objects that cannot be replicated automatically using the DDLReplicationLevel=2 connection attribute. The replicated objects that can be included in an alter operation are cache groups, PL/SQL procedures, sequences, materialized views and indexes on tables with data.

1.12.3 Bug fixes in Release 11.2.1.8.4

  • An asynchronous materialized view that was specified with a complete refresh at a specific interval experienced an increasing rate of refreshes. This problem has been fixed. (BugDB 12799775)

  • Showing a plan for a query that contained an OR predicate involving columns with bitmap indexes defined on them caused an assertion. In this example, bitmap indexes are defined on columns a and b:

    EXPLAIN SELECT * FROM bitm WHERE (a=1 OR b=1);
    

    Displaying the query plan caused the database to be invalidated. This problem has been fixed. (BugDB 12381228)

  • In previous releases, in some cases free blocks were not put onto free list causing a failure during checkpoint. Now, free blocks that are not in the free list are added correctly to the free list during database restart. (BugDB 11930552)

  • On Linux systems, the cache agent incorrectly generated daemon log messages indicating that autorefresh had not completed. This release contains diagnostics to understand this problem. (BugDB 12320812)

  • When performing an uninstall or upgrade, TimesTen now returns a warning indicating that all files in the install directory will be removed including user-created files. (BugDB 12399683)

  • When an ALTER USER operation was executed in the standby database of an active standby pair, the standby would respond as if the operation were running in a local transaction. This problem is fixed. The following statements are prevented from being executed on the standby database: CREATE USER, DROP USER, ALTER USER, GRANT and REVOKE. If the connection attribute DDLReplication is set to greater than 1, CREATE SYNONYM and DROP SYNONYM also cannot be executed. (BugDB 12417310)

  • A problem has been fixed where an assertion failure could occur when a query contained two IN lists with different data types on the same table. (BugDB 12548271)

  • The ttBulkCp -t ignore|warn command was not truncating data that contained multibyte character sets. This problem is fixed. (BugDB 12548957)

  • A problem is fixed where a checkpoint failure could occur after a ttXactAdmin -xactIdRollback operation. (BugDB 12555790)

  • A memory leak in the TTClasses TTCmd class has been fixed. (BugDB 12561549)

  • In previous releases, the user setting of the RecoveryThreads attribute was reset to 1 when using CRS and when RamPolicy was set to always or manual. This problem is fixed. (BugDB 12587494)

  • A problem is fixed where the bookmark on the standby database of an active standby pair would not advance when the connection attribute DDLReplication was set to 2. (BugDB 12597878)

  • A problem has been fixed where after switching the active and standby databases, both databases appeared to be using the same daemon port. (BugDB 12598573)

  • A problem has been fixed where an assertion failure could occur when a query contained a subquery that had a GROUP BY, HAVING and an ORDER BY clause. (BugDB 12605257)

  • In previous release, a SQL statement could fail to find a table in the FROM list on first attempt. This would occur in a query that had a left outer join with a view to define a derived table. This problem is fixed. (BugDB 12616424)

  • The OCI client shipped with this release includes patch ARU: 10.2.0.4 ARU 11932704 for Sun Solaris x86-64 systems. The ARU addressed an OCI concurrency issue that prevented the cache agent or an Oracle In-Memory Database Cache application from performing correctly. (BugDB 12629581)

  • The daemon log message "Large page alignment failed with error xxx" has been enhanced to indicate that the memory segment was created in normal pages because there was not enough huge pages. (BugDB 12633652)

  • The ttCacheAutorefreshStatsGet built-in procedure is enhanced to include applied records. (BugDB 12639026)

  • In previous releases, multiple calls to the ttRepSubscriberWait built-in procedure could increase log file growth. This problem is fixed. (BugDB 12641477)

  • In previous releases, a SELECT ... GROUP BY column or a SELECT DISTINCT column FROM operation could produce incorrect output when the column in the GROUP BY clause was a NUMBER data type with a NOT NULL constraint and there were no indexes on the column. This is fixed. (BugDB 12659721 and 12679817)

  • A problem has been fixed where a core dump occurred during a reconnect in the rare case that permissions had been changed on a TimesTen DBI file. (BugDB 12662174)

  • A problem has been fixed where a replication log record was missed. In that case, TimesTen returned multiple TT16999 warning messages. (BugDB 12666539)

  • A problem has been fixed where the TimesTen cache agent could drop user triggers on the Oracle database during startup. The conditions under which this problem could occur were: user triggers existed in the cache admin schema, the name of the user trigger had a number after the sixth character and the number in the user trigger name corresponded to an Oracle user ID. (BugDB 12668360)

  • A problem has been fixed where memory would not be released after a bitmap index was dropped. (BugDB 12681981)

  • A problem has been fixed that caused CREATE ACTIVE STANDBY PAIR and CREATE REPLICATION operations to take an excessive time to complete. (BugDB 12689047)

  • A problem has been fixed where a segmentation fault could occur during a SELECT COUNT operation on an asynchronous writethrough cache group. (BugDB 12695463)

  • Changes were made to the OCIDescribeAny()function to fix a problem where some data types returned incorrect scale and precision. The following types now return the proper scale and precision: BINARY_FLOAT, BINARY_DOUBLE, NUMBER, TIMESTAMP, DATE. In addition, CHAR versus BYTE semantics are correctly described for the NCHAR, NVARCHAR data types. You may need to update OCI applications that use OCIDescribeAny(). (BugDB 12700101

  • A problem is fixed where lock contention could occur when using the ttOptUpdateStats built-in procedure. (BugDB 12742011)

  • In OCI programs that used the TimesTen client driver, batch inserts of input parameters that were Oracle numbers (the SQLT_VNU OCI type) would return invalid string or buffer lengths. This is fixed. (BugDB 12804356)

1.13 Changes for Release 11.2.1.8.3 from Release 11.2.1.8.2

  • Parallel replication performance is improved by reducing compaction operations. Users are encouraged to call the ttckptblocking built-in procedure or the ttcompact utility during maintenance operations to manage their database space and to avoid long compaction operations during subsequent operations. (BugDB 10279257)

  • A problem has been fixed where the subscriber data store in a replication scheme could use more heap memory than the master side and therefore run out of memory, causing replication to fail. (BugDB 11685169)

  • A problem has been fixed where TimesTen would pass internal PL/SQL blocks and SQL statements to Oracle in PassThrough mode 3. In this release, only user provided PL/SQL blocks and SQL statements are passed through to Oracle. (BugDB 11711960)

  • A problem in which calls to the ttOptGetColStats built-in procedure could cause data store invalidations in the sbBlkReportBadBlock function has been fixed. (BugDB 11722743)

  • The message received if a user cannot login after a ttMigrate restore operation has been enhanced to indicate that you must reset user passwords. (BugDB 11785520)

  • In previous releases, when a DROP ACTIVE STANDBY operation failed, the ttCWAdmin -drop operation exited with 0, which is considered "success." Now, ttCWAdmin retries the operation and returns a failure exit code when a DROP ACTIVE STANDBY operation fails. (BugDB 11792124)

  • You can now select PassThrough levels 4 and 5 in the Windows TimesTen ODBC Setup dialog. (BugDB 11791297)

  • In previous releases, system calls may not have appeared in sequential order in the log. In this release, the log write patterns are sequential. (BugDB 11800993)

  • Dynamic load operations for asynchronous writethrough cache groups have been made more efficient by eliminating unnecessary queries against the Oracle database when a child table whose parent table has the same foreign key is already in the TimesTen cache. (BugDB 11818527)

  • A problem has been fixed where TimesTen would generate incorrect checkpoint files resulting in a database recovery failure. (BugDB 11850267)

  • In previous releases, under certain configurations, bidirectional replication could result in a false failed transaction message in the conflict resolution file after duplicate updates. This problem has been fixed. (BugDB 11870111)

  • In previous releases, when using PL/SQL, the TimesTen database would assert when an internal error (ORA-00600) occurred. In this release, the ORA-00600 error is caught and no assertion occurs in the TimesTen database. (BugDB 11871451)

  • By default TimesTen Clusterware now replicates the XLA bookmark. (BugDB 11906642)

  • In previous releases, create replication failed when a replication scheme included a parent table that had an ON DELETE CASCADE relationship with a child table and that child table was not being replicated. TimesTen now returns error message 12275 "Failed to convert replicated XLA bookmarks to non-replicated for read only subscriber." TimesTen also returns additional error messages that explain why the conversion failed. (BugDB 11937457)

  • In previous releases, if an application attempted to retrieve XLA records from a standby or subscriber store using a replicated bookmark, the operation would fail. This problem has been fixed. (BugDB 12347410)

  • A problem has been fixed where the row count returned for a detail table and the materialized view were different. (BugDB 12367259)

  • A problem has been fixed where a query on a table with two multi-column indexes would return an incorrect result set. (BugDB 12386402)

  • A problem has been fixed where values in the systemstats table would only be 0 and would not update. This would occur after a TimesTen installation upgrade for data stores that had been created in a previous release of TimesTen. (BugDB 12394892)

  • A problem has been fixed where bitmap indexes could cause incorrect results for an IN or GROUP BY clause. (BugDB 12400780)

1.14 Changes for Release 11.2.1.8.2 from Release 11.2.1.8.1

  • A problem has been fixed where specific complex queries that contained a COUNT aggregation in one of the SELECT clauses of a SET operator combined with a UNION statement could return inconsistent results. (BugDB 11711323)

  • When an instance needs to be transferred to a new grid member and the current member still needs access to the instance, the thread that moves the instance gives up its lock and retries if there is any chance of a deadlock. The elapsed time of all retries is determined by the lock time out value. (BugDB 11712111)

  • Selecting rows that are being deleted, unloaded or updated could result in the following: Assertion failed: ((((sbCurHdr_p)cur)->state) == sbCurStEmpty) [index.c:/main/47:sbIxCurNext():8330] PID 14031 (timestenorad) CONN 78 (Cache Load). This problem is fixed. (BugDB 13496920)

1.15 Changes for Release 11.2.1.8.1 from Release 11.2.1.8.0

  • In previous releases of TimesTen, a maximum of 50 prepared PL/SQL statements per connection was allowed. This release allows a maximum of 5,000 PL/SQL statements per connection. Previous releases also allowed the caching of only 50 recently-used PL/SQL blocks in each session. This limit also has been increased to 5,000. (BugDB 11827656)

  • A problem was fixed whereby parallel replication tracks could stall due to starvation waiting on a semaphore. (BugDB 11836584)

  • A problem was fixed that could cause parallel replication to get stuck when connections switch tracks and frequently rollback transactions. (BugDB 11893103)

1.16 Changes for Release 11.2.1.8.0 from Release 11.2.1.7.1

1.16.1 New features in Release 11.2.1.8.0

  • You can create or drop a table, index or synonym in an active standby pair without stopping the replication agent. You can choose to have these statements replicated to the standby database. You can include a table in an active standby pair when the table is created. Use the DDLReplicationLevel and DDLReplicationAction connection attributes to control what is replicated. See Oracle TimesTen In-Memory Database Replication Guide.

  • When using Oracle Clusterware, you can add or drop a global cache group while the active database in an active standby pair is attached to a grid. See Oracle TimesTen In-Memory Database Replication Guide.

  • Users of the ttBulkCp utility can write null values as empty strings by using the -nullFormat option. See Oracle TimesTen In-Memory Database Reference. (BugDB 9822277)

  • Enhanced messages about final and recovery checkpoints are displayed in the ttmesg.log file. (BugDB 9794314)

  • ODP.NET support for Oracle TimesTen In-Memory Database and Oracle In-Memory Database Cache is available in the latest release of Oracle Data Access Components (ODAC) 11.2.0.2.1. This release of ODAC supports TimesTen releases 11.2.1.6.1 or later on Microsoft Windows 32-bit and 64-bit platforms.

  • TimesTen has been tested with the following application servers and ORM (Object-Relational Mapping) frameworks:

    J2EE (EJB 3.0) application servers:

    • Oracle WebLogic Server 11g Release 1 (10.3.3)

    • Oracle GlassFish Server 3

    • JBoss Application Server 5

    • WebSphere Application Server 7

    ORM frameworks:

    • JPA with EclipseLink 2

    • Hibernate 3

    • JPA with Hibernate 3.5.6

    • JPA with OpenJPA 2

  • Oracle Clusterware and TimesTen processes report messages to the ttcwmsg.log file that indicate missing checkpoint files or other causes of database invalidation.

1.16.2 Bug fixes in Release 11.2.1.8.0

  • The values set by the ttAgingLRUConfig built-in procedure are persistent across daemon restarts. (BugDB 10162337)

  • The TimesTen daemon sometimes reported that the cache agent or replication agent was running when it was not. Attempts to stop or start either agent resulted in messages that the agent was already started or already stopped. This problem has been fixed. (BugDB 10014011)

  • Oracle error ORA-06550 could occur under these conditions:

    • An AWT cache group is used and the cacheAWTMethod connection attribute is set to 1 (PL/SQL execution method)

    • One or more of the columns in the AWT cache table mapped to an Oracle LOB

    • The primary key contained a column with one of the following data types: CHAR, VARCHAR2, TIMESTAMP, DATE

    This problem has been fixed. (BugDB 10305926)

  • In TimesTen OCI, calling OCIServerVersion() from a multithreaded program could lead to a segmentation violation. This problem has been fixed. (BugDB 9844710)

  • In TimesTen Pro*C, executing a SELECT statement with a cursor and fetching an array of values multiple times could lead to bad results. In particular, the second and subsequent executions of the same array select statement could produce incorrect values, whereas the first execution would produce correct values. A symptom of this problem is that the values that should have been last in the array were placed first, with the other values being empty or zero. (BugDB 10238977)

  • A SELECT statement could generate a different plan when executed within a view than when it was executed directly on a table. This has been fixed. (BugDB 10161402)

  • A scaling issue with frequent updates to the SYS.SYSTEMSTATS table was fixed. (BugDB 10271481)

  • A read performance issue caused by an internal instrumentation of the JDBC driver has been fixed. (BugDB 10236300)

  • A read-only cache group was not being automatically refreshed after inserts to the Oracle table for CHAR data. This problem has been fixed. (BugDB 10334320)

  • When the owner of a view containing a subquery did not have the ADMIN privilege, the owner was unable to select from the view. This problem has been fixed. (BugDB 10270657)

  • Manually refreshing a cache group with multiple tables that is replicated in an active standby pair failed with a foreign key violation. This problem has been fixed. (BugDB 10363168)

  • A query could give incorrect results if the query had an outer join and a subquery with an IN clause and a SET operator in the IN clause. (BugDB 10152127)

  • A PreparedStatement.setNull(parameterIndex,Types.NULL) before any non-null PreparedStatement.setXXX() could fail. This problem has been fixed. (BugDB 10407225)

  • When using the setup.sh -record option for the instance home directory, options 1 and 2 create invalid answer files which cause the -batch option (silent install) to not work as expected. This problem has been fixed. (BugDB 10207746)

  • The output of the query with IN(value) clause and IN(subquery) clause gave different results, even though the subquery returned the same values as the hardcoded values. This problem has been fixed. (BugDB 10164510)

  • In a configuration that is managed by Oracle Clusterware, failover could be triggered by the active database being out of perm space. This has been fixed. (BugDB 11057224)

  • See "TimesTen to TimesTen Replication" for information about cross-release migration and manual parallel replication.

  • A performance regression for a full table scan was fixed. (BugDB 9622365)

  • A REFRESH CACHE GROUP operation could result in errors 16090 (failed to check constraints) or 3001 (foreign key violation). This problem has been fixed. (BugDB 10428647)

  • The optimizer chose table locks when processing SELECT statements with parameterized FIRST n or ROWS m TO n clauses or a ROWNUM condition. It now chooses row locks in these situations unless the use of a table lock is forced by an optimizer hint. (BugDB 1166474)

1.17 Changes for Release 11.2.1.7.1 from Release 11.2.1.7.0

  • A problem with the log reader has been fixed. This problem could cause replicated databases to go out of sync. It also could cause TimesTen to return error 16211: "No matching v* value found for table". (BugDB 10226676)

  • This release supports cross-release replication and migration from a database that does not have manual parallel replication enabled to a database that does have parallel replication enabled. This feature is only supported when migrating from TimesTen releases earlier than 11.2.1.6.0. (BugDB 10232988)

    See "TimesTen to TimesTen Replication" for more information about cross-release migration and manual parallel replication.

    The following is an example of migrating a database to a manually configured parallel replication scheme.

    1. Start with two TimesTen databases from a release earlier than 11.2.1.6.0. Consider two databases, rep1 and rep2, with the following scheme:

      CREATE REPLICATION r 
      ELEMENT e DATASTORE MASTER rep1 SUBSCRIBER rep2 
      ELEMENT e2 DATASTORE MASTER rep2 SUBSCRIBER rep1 
      STORE rep1 PORT 12345 
      STORE rep2 PORT 12346;
      
    2. Set the replication state to pause on rep1.

      ttRepAdmin -state pause rep1
      
    3. Stop replication on database rep2:

      ttAdmin -repStop rep2
      
    4. Create a migration file and destroy database rep2:

      ttMigrate -c -repUpgrade rep2 rep2.mig ttDestroy rep2
      
    5. Set environment to 11.2.1.7.1.

    6. Edit rep2 DSNs to include ReplicationApplyOrdering=1, ReplicationParallelism=n

      At this stage no parallelism is in use on database rep2, but you have configured it and the database will have parallel replication once it is communicating with another parallel replication database.

      Bidirectional replication is possible between databases rep1 and rep2 after you perform these steps. An ALTER TABLE operation on database rep1 will be applied to database rep2. However, an ALTER TABLE operation on a database that has parallel replication enabled is not permitted. The ALTER TABLE operation on database rep2 fails.

    7. On TimesTen 11.2.1.7.1 restore database rep2 with parallel replication from the migration file:

      ttMigrate -r rep2 rep2.mig
      
    8. Start replication on database rep2:

      ttAdmin -repstart rep2
      
    9. Set the replication state on rep1 to start.

      ttRepAdmin -state start rep1
      
    10. Apply a similar procedure to database rep1 to bring both databases up to the latest TimesTen version and to enable parallel replication between both databases. You can use ttRepAdmin -duplicate to upgrade rep1 instead of using ttMigrate.

      Bidirectional replication is possible between databases rep1 and rep2 should now be possible and user defined replication through multiple tracks can be used.

    Once you have enabled parallel replication between two databases, it is not possible to downgrade one side to a non-parallel version and replicate to the parallel-enabled side.

  • A read performance issue caused by an internal instrumentation of the JDBC driver has been fixed. (BugDB 10236300)

  • A scaling issue with frequent updates to the SYS.SYSTEMSTATS table was fixed. (BugDB 10271481)

  • A problem has been fixed in which a TTClasses application that calls the overloaded TTCmd method setParam(char*), setParam(void*, int) or setParam(SQLWCHAR*, int) with a parameter whose length is greater than 4000 bytes long could encounter a memory fault, memory corruption or incorrect result. (BugDB 10275365)

  • In a bidirectional replication scheme that includes sequences, the memory usage of the replication agent on the "passive" database could appear to grow unbounded when the other database was updated. This problem has been fixed. (BugDB 10282229)

  • In previous releases, a replication agent could encounter an assertion failure: EOLCNT == LOGC->USEDSTRANDCNT. This problem has been fixed. (Bug 10332533)

1.18 Changes for Release 11.2.1.7.0 from Release 11.2.1.6.6

The behaviorchanges.txt file is no longer included in the installation directory. Behavior changes are included in this document.

1.18.1 Behavior changes in Release 11.2.1.7.0

  • Previous behavior: If SUBSTR() result is longer than the target column, the result is silently truncated and an insert or update succeeds with the truncated string.

    New behavior: If the result of SUBSTR() is longer than the target column in an insert or update statement, the operation fails with error 982: "String exceeds column width". For example, if column x is of type CHAR(4), SET x=SUBSTR('abcdefg',2) results in error 982. SUBSTRB() in a multibyte character set continues to silently truncate the string, and insert or update continues to succeed with the truncated string.

1.18.2 New features and changes in Release 11.2.1.7.0

See the "What's New" prefaces in the documentation to see the new features documented in a specific guide.

  • You can create an explicitly loaded global cache group in a cache grid. If the cache tables on the local grid member do not contain data that satisfies a query, then the cache instance is transferred from other grid members to the local grid member in a grid data transfer operation. If the grid does not contain the cache instance that satisfies the query, data is not loaded from the Oracle tables and the query returns no results. See Oracle In-Memory Database Cache User's Guide.

  • Oracle Data Provider for .NET 11.1.0.7.110 is available for Oracle TimesTen In-Memory Database. It enables fast data access for .NET applications using ADO.NET. This data provider supports TimesTen release 11.2.1.6.1 or later on Microsoft Windows 32-bit and 64-bit platforms. It supports the .NET 2.0, 3.0 and 3.5 frameworks with Microsoft Visual Studio 2005 or later, and .NET 4.0 with Visual Studio 2010. The Oracle Data Provider for .NET is available for download on Oracle Technology Network:

    http://www.oracle.com/technetwork/database/timesten/downloads
    

    For more information, see Oracle Data Provider for .NET Oracle TimesTen In-Memory Database Support User's Guide.


    Note:

    Oracle Data Provider for .NET 11.1.0.7.110 supports Oracle TimesTen In-Memory Database only. A future release of Oracle Database Provider for .NET will support both Oracle Database and Oracle TimesTen In-Memory Database.
  • TimesTen now supports CALL syntax from any of its programming interfaces to call PL/SQL procedures and functions. TimesTen's name resolution for the CALL statement may differ from Oracle's name resolution for the CALL statement. See Oracle TimesTen In-Memory Database SQL Reference for information about the CALL statement.

  • The SYS_CONTEXT expression can be used to retrieve the connection ID. See Oracle TimesTen In-Memory Database SQL Reference.

  • Tables with aging are not supported with track-based parallel replication. In this release, TimesTen prevents the user from including a table with aging from being part of a replication scheme when ReplicationApplyOrdering=1.

  • TimesTen is supported for SUSE 11 on Linux x86-64.

  • The default value for the -maxsupportlogsize daemon option has been changed from 1 to 10 MB. See Oracle TimesTen In-Memory Database Operations Guide.

  • Aging statistics have been added to the SYS.SYSTEMSTATS system table. See Oracle TimesTen In-Memory Database System Tables and Views Reference.

  • Using TimesTen with IBM Java SDK 1.6 for 32-bit and 64-bit on Linux x86 is supported. To use this Java SDK, a fix from IBM is required, published as APAR IZ76406, which is included in Java 6 SR8 FP1.

  • The ScriptInstallDir attribute is not required to configure Oracle Clusterware with TimesTen. The attribute is deprecated in this release.

1.18.3 Bug fixes in Release 11.2.1.7.0

  • The ttMigrate utility returns exit codes. See Oracle TimesTen In-Memory Database Reference. (BugDB 8637795)

  • In previous releases, ttBulkCp failures returned an incorrect code. This problem has been fixed. (BugDB 9414206)

  • In previous releases, the -showdate daemon option was not enabled for the Server process. This problem has been fixed. (BugDB 9722055)

  • A CREATE VIEW statement fails if the view definition contains a union, and one side of the union is a query that selects from a derived table that is a join. In this release, TimesTen returns an error message that describes the problem. (BugDB 9864076)

  • Create cache group checks if the user has the appropriate Oracle privilege. For example, it checks if the user has SELECT ON privileges on each table in the cache group. In the 11.2.1.7.0 release, the code checks for individual privileges, as well as those granted through a role. In earlier releases, it was not checking against role privileges. (BugDB 9873532)

  • When grid failed to allocate memory a message will be logged to the daemon log to indicate this fact. The message will have the following format: Member 'memberName' failed to allocate temp space, errorcode='errNo' - 'errMessage'. (BugDB 9893472)

  • Public access to TimesTen objects in the Oracle database that are used for cache operations is no longer allowed. (BugDB 9957021)

  • In previous releases, the fractional second field of an Oracle TIMESTAMP value contained in a PL/SQL variable buffer was inadvertently modified when it was prepared for conversion into the TimesTen TT_TIMESTAMP format. This problem has been fixed. (BugDB 9903966)

  • SQL operations executed internally by PL/SQL may generate warnings, for example, because of low memory or replication failures. In previous releases these warnings could cause ORA-0600 errors to be emitted. In this release ORA-0600 errors do not result from these temporary warning conditions. (BugDB 9916812)

  • In a client/server configuration, errors in starting child server processes resulted in an "unexpected server exit" and no additional information. Now startup errors are reported. (BugDB 9934387)

  • Internal trace buffers are now flushed when the database is loaded into memory. Previously, trace data left over from a prior load of the database could interfere with new traces, causing errors that could result in database invalidation. (BugDB 9939628)

  • In previous releases, a call to the ttOptEstimateStats built-in procedure could result in an assertion when a concurrent transaction committed after deleting a large number of rows. In this release, TimesTen returns an error if TimesTen cannot perform the estimate. The new error has the form: "Estimate statistics on owner.table failed due to too some concurrent operation; try again." (BugDB 9954300)

  • In previous releases, altering a cache group could cause a core dump when the TimesTen configuration tables on the Oracle database were empty. This problem has been fixed. (BugDB 9956288)

  • The message for error 6226 has been changed to replace the obsolete LogBuffSize connection attribute name with LogBufMB. (BugDB 9961676)

  • The stability of TimesTen PL/SQL after unexpected application failures is improved. (BugDB 10011855)

  • In previous releases, a master-master replication scheme with two-safe enabled could create a backlog of replication records that were never sent to a subscriber database. This problem has been fixed. (BugDB 10029655)

  • In previous releases, calls to the ttOptSetFlag built-in procedure incorrectly reset the values set by the ttOptUseIndex built-in procedure. This problem has been fixed. (BugDB 10034510)

  • Dynamic load operations use the SQL command cache more efficiently than in previous releases. (Bug DB 10036720)

  • Dynamic load operations no longer cause a round trip to the Oracle database when the parent row is already in the IMDB Cache. (BugDB 10036751)

  • The log.commit.file.reads statistic in the SYS.SYSTEMSTATS system table. keeps track of how often TimesTen reads from the file system during commit processing. In previous releases, this statistic was higher than log.file.reads, which keeps track of total file system reads. The log.commit.file.reads statistic is now calculated correctly. (BugDB 10134912)

  • In previous releases, a replication agent or an XLA application could encounter an assertion failure blklen <= startIdMap->offset in the sbLogBufLRNextLocate function. This problem has been fixed. (BugDB 10145152)

  • A problem has been fixed in which the replication agent would crash with the assertion failure "SbBlkNoInStrandCmp(strandInfo.startBlkNo, blkNo )<=0" or "blklen <= startIdMap->offset" when reading near the end of the logs. This problem is specific to the SPARC architecture. (BugDB 10194728 and 10196227)

  • A problem has been fixed where an assertion could occur while executing SELECT statement through a procedure from a JDBC application. (BugDB 10167873)

  • In previous releases, the replication agent could crash and invalidate the database when the replication agent was reading close to the end of the in-memory logs. This problem could occur when the value of the connection attribute LogBufParallelism was greater than 1. In that case, one particular log record could cause a log strand reader to block and cause other strand-readers to read records in an incorrect order. This problem has been fixed. (BugDB 10174319 and 10176689)

  • In previous releases, a bad pointer caused an assertion in the sblogCtnWrapComplete function. This problem has been fixed. (BugDB 10176825)

  • A problem has been fixed where timing issues after a ttCWAdmin -init operation could generate false positives. (BugDB 10208113)

  • In previous releases, global dynamic AWT cache groups checked the Oracle tables for unique primary keys when inserts were performed on the TimesTen cache tables. This uniqueness check no longer occurs, which enables inserts to take place in TimesTen cache tables when the Oracle database is not available. (BugDB 10211940)

  • In previous releases, when a direct-linked application was terminated abnormally, other active connections or subsequent connections could cause database invalidation. This problem has been fixed. (BugDB 10008657 and 10214446)

  • An assertion could occur when parallel replication was enabled. The transmitter would crash when reading close to the end of the log, causing an incorrect check that failed when a connection changed its replication track number. This problem has been fixed. (BugDB 10218953)

  • A problem has been fixed where parallel replication would hang while running ttrepadmin -dsn DSN -receiver list. (BugDB 10223328)

  • When the CTN value wraps, the application may hit a SEGV and exit suddenly. This problem is fixed. (BugDB 12622568)

  • A problem was fixed in which an assertion failure could occur with asychronous writethrough cache groups. (BugDB 14146561)

1.19 Changes for Release 11.2.1.6.6 from Release 11.2.1.6.5

  • A problem has been fixed where, if a secondary group was chosen during the installation and the TimesTen daemon is started by the root user, the daemon would run under the primary group rather than the intended group. (BugDB 9968811)

  • For AIX on POWER systems, a problem has been fixed in which a misplaced memory barrier could lead to an assertion failure in sbLogStrandGetNextRecord. (BugDB 10008972)

  • A problem has been fixed where information about the group that owned the database was incorrectly removed from the database when duplicating or restoring the database. This caused subsequently created log files to have incorrect ownership, group, and/or permissions. (BugDB 10020189)

  • A problem has been fixed where the delete of the dummy row generated for concurrency control might be incorrectly treated as a deferred delete of AWT cache group. This might cause an error to be returned when the member attempted to reload the instance after it had been transferred or unloaded. (BugDB 10023143)

  • A problem has been fixed where a mutex used for cache grid concurrency control might be released by a process other than the process that acquired the mutex. This problem could cause an assertion failure. (BugDB 10049032)

1.20 Changes for Release 11.2.1.6.5 from Release 11.2.1.6.4

  • You can use the ttRepStateGet built-in procedure to return the grid state as well as the database role after failover in an active standby pair grid member. See Oracle TimesTen In-Memory Database Reference for details.

  • A problem has been fixed where tracing could cause a database to become invalidated. (BugDB 9088582 and 9940513)

  • A problem has been fixed where a FIRST N in a SELECT query with a SET MINUS operator and many joins would choose a bad plan, consume a large amount of temporary space and not execute. (BugDB 9867351)

  • A problem has been fixed where an assertion failure could occur when the allocated buffer to store the foreign key of a dynamic load was too small. (BugDB 9924227)

  • Concurrent operations on detail tables of a materialized view could sometimes cause the materialized view to get out of sync. (BugDB 9977046)

1.21 Changes for Release 11.2.1.6.4 from Release 11.2.1.6.3

  • In previous releases, durable commits could continue after the recovery of a failed standby master node in an active standby pair with RETURN TWOSAFE DURABLE COMMITS specified. This problem is fixed. (BugDB 9296545)

  • A warning message is now included in the ttmesg.log when an error occurs with the configuration of HugePages on Linux systems. (BugDB 9582712)

  • Array binds to PL/SQL are not supported in TimesTen. In previous releases, attempts to bind an array would not return an error message, in some cases. Now the error message ORA-1335 "feature not supported" is returned when the calling program tries to specify an array (of more than one element) to a PL/SQL procedure call. (BugDB 9645256)

  • A problem has been fixed where a multi-table query with a LIKE predicate that passed a string whose length exceeded the width of the target column did not have optimal performance and would take longer to complete than expected. (BugDB 9647431)

  • A problem has been fixed where the ttbackupstatus built-in procedure would return the name of a backup file, even after a the ttBackup operation had been terminated before completing the backup. (BugDB 9658978)

  • Previously, the selectivity of the LIKE predicate with patterns ending in the wildcard character (e.g. "starts_with_this%") was underestimated, causing the optimizer to pick suboptimal plans for queries with an AND condition. (BugDB 9741326)

  • A problem has been fixed where a ttMigrate operation would fail when attempting to migrate a PL/SQL package that contained multibyte character set comments. (BugDB 9747278)

  • In previous releases, SQLFetch and SQLFreeStmt(hstmt, SQL_CLOSE) could, in some circumstances, return the underlying error code (846 or 994) rather than trigger a failover. In this release, a failover notification is returned. (BugDB 9795626)

  • In previous releases, when permanent space was exhausted, a cache grid assertion failure could occur. This problem has been fixed. (BugDB 9871235)

  • A problem has been fixed where the status report that is displayed when a user calls ttRepAdmin -showstatus would incorrectly show fewer receivers than transmitters. This problem occurred when using parallel replication. (BugDB 9837882)

  • A problem has been fixed where applications that use PL/SQL procedures could consume a lot of memory. (BugDB 9846145)

  • A problem has been fixed where receiver thread information would continue to appear in the status report that is displayed when a user calls ttRepAdmin -showstatus even after the receiver had been disconnected. This problem occurred when using parallel replication. (BugDB 9850072)

  • In previous TimesTen 11.x releases, if the database was created group restricted, and there was a failure to change group ownership of a log file, it could cause the database to become invalidated. This has been fixed. TimesTen now retries changing group ownership and returns more details about the operating system error if a failure occurs. (BugDB #9891312)

1.22 Changes for Release 11.2.1.6.3 from Release 11.2.1.6.1

  • In previous 11.2.1 releases, use of an unreplicated XLA bookmark on a standby database in an active standby pair scheme could stop replication between the active and standby stores and also lead to high CPU usage. This problem has been fixed. (BugDB 9800186)

1.23 Changes for Release 11.2.1.6.1 from Release 11.2.1.6.0

  • In previous releases, on AIX systems, the user had to call setsockopt at the kernel level to get the benefits of the TCP_RFC1323 option. It is no longer necessary for the user to make this call. TimesTen makes the call by default. (BugDB 6800684)

  • A problem has been fixed where a disconnect from a standby store in an active standby pair with cache grid could hang. (BugDB 9538780)

  • In previous releases, creating many joins in a large materialized view could hang. This problem has been fixed. (BugDB 9581951)

  • TimesTen now returns ODBC error S1000: Unable to load NLS initialization data from /bogus/nls/data if the TimesTen client driver cannot find or load NLS files. (BugDB 9595956)

  • In previous releases, a replication agent could fail with this assertion failure: eolCnt + eofCnt == logc->strandCnt. This bug has been fixed. (Bug 9644085).

  • During an upgrade from previous 11.2.1 releases to 11.2.1.6.0, the replication agent could fail to start due to error TT2211: Referenced column P.TRACK_ID not found>. This problem is fixed. (BugDB 9733793)

1.24 Changes for Release 11.2.1.6.0 from Release 11.2.1.5.2

1.24.1 Behavior changes in Release 11.2.1.6.0

  • New behavior: The results for addition and subtraction with DATE and TIMESTAMP types for INTERVAL MONTH are not closed. For example, adding 12 months to the DATE or TIMESTAMP of '2004-02-29' results in a date arithmetic error (TimesTen error message 2787) because February 29, 2005 does not exist. (2005 is not a leap year.) Adding INTERVAL '1' MONTH to DATE '2005-01-30' results in the same error because February never has 30 days. This behavior is documented in Oracle TimesTen In-Memory Database SQL Reference, but the code did not return an error previously.

    Previous behavior: If the date is the last day of the month or if the resulting month has fewer days than the day component of DATE, then the result is the last day of the resulting month. Otherwise, the result has the same day component as DATE. Use the ADD_MONTHS function to get the old behavior. For example, ADD_MONTHS(DATE '2004-02-29',12) gives the result as DATE '2005-02-28', the last day of the month. ADD_MONTHS(DATE '2005-01-30',1) results in DATE '2005-2-28', the last day of the month.

  • The SELECT privilege has been granted to PUBLIC on the SYS.SYSTEM_PRIVILEGE_MAP and SYS.TABLE_PRIVILEGE_MAP system tables. Public synonyms have also been created for these two tables.

  • JDBC client/server driver does not validate the index parameter in PreparedStatement.setXXX() calls. Validation occurs during PreparedStatement.execute() calls.

1.24.2 New features and changes in Release 11.2.1.6.0

See the "What's New" prefaces in the documentation to see the new features documented in a specific guide.

  • You can perform a global query on cache tables and noncache tables across all nodes in a cache grid. You can also unload a cache group on all grid members by specifying a global unload operation. Use the GlobalProcessing optimizer flag.

    For a detailed description, see the Oracle In-Memory Database Cache User's Guide.

  • TTClasses now supports PL/SQL IN, OUT and IN OUT parameters and REF CURSORs.

  • User-defined parallel replication can be configured for applications that have predictable transactional dependencies and do not require the commit order on the source database to be the same as the commit order on the target database. User-defined parallel replication is available for replication schemes that are not active standby pairs. See Oracle TimesTen In-Memory Database Replication Guide for more information. This feature includes:

    • New database attributes ReplicationParallelism and ReplicationApplyOrdering and the connection attribute ReplicationTrack.

    • New SQL SET REPLICATION_TRACK clause of the ALTER SESSION statement.

    • The new TT_REPLICATION_TRACK ODBC connection option for the SQLSetConnectOption ODBC function.

    • The new setReplicationTrack() method of the TimesTenConnection JDBC class

    The ALTER TABLE...USE INDEX operation is not permitted when user-defined parallel replication is used and replication agent is running.

  • Oracle Clusterware can be configured with a cache grid by setting the GridPort attribute in the cluster.oracle.ini file. See Oracle TimesTen In-Memory Database Replication Guide.

1.24.3 Bug fixes in Release 11.2.1.6.0

  • In previous releases, if you did a client-only install into a root directory, TimesTen would fail to find TimesTen servers during a Client DSN setup. This problem has been fixed. (BugDB 9261243)

  • A problem has been fixed where a flush cache group operation would hold row locks on child tables. This problem could block an update statement that touched the child table. (BugDB 9359437)

  • In previous releases, executing a query against multiple outer joins with the set operators UNION, MINUS or INTERSECT could result in abnormal termination. This problem has been fixed. (BugDB 9382127)

  • A problem has been fixed where the cache agent would not start if the ORA_NLS, ORA_NLS10 and ORA_NLS33 variables were set in the environment of the TimesTen main daemon. (BugDB 9382534)

  • A deadlock or lock timeout error that could be encountered during a parallel ttMigrate restore operation has been fixed. (BugDB 9388441)

  • In previous releases, an autorefresh polling query incorrectly used a full table scan. In this release, the query uses an index. (BugDB 9434677)

  • An assertion failure that resulted from an inconsistency in TimesTen internal lock structures has been fixed in this release. (BugDB 9436967)

  • In previous releases, an assertion could occur if the total number of rows for a single value needed more than 65K pages in a bitmap index and subsequent fast recoveries would hang. This has been fixed. (BugDB 9445235)

  • In previous TimesTen 11.2.1. releases, replication would fail during an ALTER REPLICATION operation when replicating from a TimesTen 11.2.1.x release to a pre-11.2.1 release. This has been fixed. (BugDB 9447493)

  • A problem has been fixed for Windows systems where Shared Memory IPC client server connections would fail sometimes. (BugDB 9478491)

  • The SQL command ID is included as output to ttXactAdmin. This ID is helpful as input for the built-in procedure ttSQLCmdCacheInfo to associate the SQL statement with the ID. (BugDB 9496444)

  • A problem has been fixed where a TimesTen daemon disconnect would fail with an error -8 in the StopManaging function if a process had exited ungracefully. (BugDB 9499437)

  • A problem has been fixed where projected constants in a JOIN of tables and views could create duplicate result column names. (BugDB 9503696)

  • In previous releases, when timestamp based aging is used, rows with date values in the future could be aged out. This problem has been fixed.(BugDB 9541351)

  • A problem has been fixed where PL/SQL procedures could be stored incorrectly in the database. Any attempt to use these procedures would result in a crash. (BugDB 9542428)

  • In previous releases, when the value of the LogBufParallelism attribute was greater than 1, it could cause the transmitter in the replication agent to crash. This problem has been fixed. (BugDB9588242)

1.25 Changes for Release 11.2.1.5.2 from Release 11.2.1.5.1

  • A bug that could have crashed the replication agent has been fixed. (BugDB 9538156)

1.26 Changes for Release 11.2.1.5.1 from Release 11.2.1.5.0

  • Support for Mac OS X Client, release 10.6, 32-bit is added in this release of TimesTen.

1.27 Changes for Release 11.2.1.5.0 from Release 11.2.1.4.1

1.27.1 New features and changes in Release 11.2.1.5.0

See the "What's New" prefaces in the documentation to see the new features documented in a specific guide.

  • The ttCWAdmin utility contains news options for adding spare hosts to the cluster and for removing spare hosts. These new options are: -addMasterHosts, -delMasterHosts, -addSubscriberHosts and -delSubscriberHosts. For syntax and detailed descriptions of these options, see the Oracle TimesTen In-Memory Database Reference.

  • You can cache Oracle LOB data in TimesTen cache groups. Oracle CLOB data is cached as TimesTen VARCHAR2 data. Oracle BLOB data is cached as TimesTen VARBINARY data. Oracle NCLOB data is cached as TimesTen NVARCHAR2 data. For more details, see the Oracle TimesTen In-Memory Database Reference or the Oracle In-Memory Database Cache User's Guide.

1.27.2 Bug fixes in Release 11.2.1.5.0

  • In previous releases, a single ttAdmin command could not contain both the -cachePolicy and -cacheStart or -cacheStop. In this release, the options can be included on the same command line. (BugDB 8868895)

  • In previous releases, an autorefresh interval error could occur when the cache agent had been running for several months. In this case, the autorefresh interval would silently increase to a significantly larger interval value than specified by the user. This problem has been fixed. (BugDB 8908506)

  • A foreign key defined on a cache group table must reference the primary key of a different table in the same cache group. This rule is now strictly enforced. In previous releases, this rule was not strictly enforced. As a result, when a user tried to create a cache group that had a foreign key that referenced a non-primary unique key, the application could terminate unexpectedly or the cache group was created but later cache operations would return unexpected results. (BugDB 9002425)

  • Free blocks that are not in the free list are now properly added to the free list during database restart. (BugDB 9041503)

1.28 Changes for Release 11.2.1.4.1 from Release 11.2.1.4.0

  • A problem has been fixed where an assertion failure could occur when a DROP CACHE GROUP operation performed global temporary table cleanup. (BugDB 9126569 and BugDB 9230900)

  • When using PL/SQL, additional diagnostic output for deadlocks are now included in TimesTen. If a deadlock occurs, review the stack trace in the file called ORA4024.DMP. You can find this file in the working directory of the application. For more details than those provided in this file, see the TimesTen daemon log, timestend.log. The daemon log contains a process dump that lists metadata for the anonymous blocks currently cached for the database. (BugDB 9228193)

1.29 Changes for Release 11.2.1.4.0 from Release 11.2.1.3.0

1.29.1 Behavior changes in Release 11.2.1.4.0

  • ttXactAdmin -lsn is no longer supported.

  • ttXactAdmin -xact no longer prints Begin LSN and Last LSN. Instead it prints Loghold (the log hold of the specified transaction) and Last ID (two sequence numbers that indicate progress in the number of records written by the transaction).

  • ttMigrate -rename is now restricted to work only in databases that have PL/SQL disabled (connection attribute PLSQL=0). Customers seeking comparable functionality in PL/SQL-enabled database should consider using synonyms.

  • sequence.NEXTVAL values are not allowed on the standby database in an active standby pair replication scheme.

  • When connection attribute DDLCommitBehavior=0, the DDL statement execution transaction is now committed durably.

1.29.2 New features in Release 11.2.1.4.0

See the "What's New" prefaces in the documentation to see the new features documented in a specific guide.

  • PL/SQL with TimesTen is now supported on Windows 32-bit systems.

  • Users can now specify Time-based aging for tables and cache groups in units of seconds as well as minutes, hours, and days. This feature is available with the SQL statements: ALTER TABLE, CREATE CACHE GROUP, CREATE TABLE.

  • The ttCWAdmin utility now includes the -ocrConfig option. Execute ttCWAdmin -ocrConfig before ttCWAdmin -create. For syntax and a detailed description, see the Oracle TimesTen In-Memory Database Reference.

  • The CREATE MATERIALIZED VIEW LOG statement creates a global temporary table called MVLGT$_detailTableID. The global temporary table is dropped when the DROP MATERIALIZED VIEW LOG statement is executed. If an asynchronous materialized view was created in a release before 11.2.1.4.0, the global temporary table is created when the asynchronous materialized view is refreshed.

  • The minimum transaction log file size is now 8MB. In previous releases, the minimum size was 1MB. For existing TimesTen databases that use a transaction log file smaller than 8MB, users must increase the size to 8MB or greater to avoid a connection error. The default transaction log file remains at 64MB. TimesTen recommends using a transaction log file size of 64MB or greater. The maximum transaction log file size remains 1GB.

  • In this release of TimesTen, JDBC support has been enhanced to support Java 6/JDBC 4.0. This feature includes support for the RowId interface and a few additional methods. For a list of the methods that are now supported in TimesTen, see the Oracle TimesTen In-Memory Database Java Developer and Reference Guide.

  • In this release, users can create synonyms for database objects including tables, views, synonyms, sequences, PL/SQL stored procedures, PL/SQL functions, PL/SQL packages, materialized views and cache groups. New SQL statements in this release are CREATE SYNONYM and DROP SYNONYM. New object privileges in this release are CREATE SYNONYM and DROP SYNONYM. New system privileges in this release are CREATE ANY SYNONYM, CREATE PUBLIC SYNONYM, DROP ANY SYNONYM and DROP PUBLIC SYNONYM. For syntax and descriptions of the new SQL statements, see the Oracle TimesTen In-Memory SQL Reference.

  • The following new built-in procedures are included in this release:

    ttCacheAutorefresh initiates an immediate autorefresh operation.

    ttGridDetachAll detaches all grid members from the grid.

    ttGridGlobalCGSuspend disallows global cache group ownership changes among attached grid members.

    ttGridGlobalCGResume enables global cache group ownership changes among attached grid members after a suspension.

    For syntax and detailed descriptions of these procedures, see the Oracle TimesTen In-Memory Database Reference.

1.29.3 Bug fixes in Release 11.2.1.4.0

  • In previous releases, when passthrough mode was set to 1, if a SQL statement contained a function that was not supported in TimesTen, it was not passed through to Oracle. This problem is fixed in this release. (BugDB 8672249)

  • In this release, the polling interval for the fluxwait function has been reduced from 1 second to 100 milliseconds. (BugDB 8783994)

  • In a certain scenario, changes made to an asynchronous writethrough cache group on one TimesTen database could be sent to the wrong Oracle database. For the scenario to occur, there would have to be two different TimesTen databases on the same host machine within the same TimesTen installation, having the same database filenames, and caching data from two different Oracle databases. This bug has been fixed. (BugDB 8788839)

  • A problem has been fixed where a cache load operation could encounter a foreign key violation if Oracle tables were being updated at the same time as the load operation. (BugDB 8818041)

  • A problem has been fixed where the TimesTen Server could core dump when an application tried to execute a query that would return a large number of rows. (BugDB 8833699)

  • A problem has been fixed where an assertion failure could occur during a REFRESH WITH ID operation when the primary key and the table order didn't match. (BugDB 8867191)

  • In previous releases, a single ttAdmin command could not contain both the -cachePolicy and -cacheStart or -cacheStop. In this release, the options can be included on the same command line. (BugDB 8868895)

  • In previous releases, an autorefresh interval error could occur when the cache agent had been running for several months. In this case, the autorefresh interval would silently increase to a significantly larger interval value than specified by the user. This problem has been fixed. (BugDB 8908506)

  • A problem has been fixed where an exception could occur when an application set the flag OCI_DESCRIBE_ONLY in the OCIStmtExecute function. (BugDB 8919045)

  • When using PL/SQL with TimesTen, a memory leak could occur during any exit without a disconnect. This problem has been fixed in this release. (BugDB 9008270)

  • Free blocks that are not in the free list are now properly added to the free list during database restart. (BugDB 9041503)

1.30 Changes for Release 11.2.1.3.0 from Release 11.2.1.2.0

  • In an active standby pair replication scheme with a disaster recovery subscriber, if one or both master databases have a failure threshold configured, then the disaster recovery subscriber inherits the failure threshold value when it is created with the ttRepAdmin -duplicate -initCacheDR utility. If the master databases have different failure thresholds, then the higher value is used for the disaster recovery subscriber. (BugDB 7686572)

  • In JDBC client/server mode, you can reuse a Statement with an open ResultSet for update. (BugDB 8536362)

  • When running a PL/SQL block that uses OUT parameters, ttIsql using the client/server driver did not recognize that the parameters were OUT and did not display the updated values (autoprint). This problem has been fixed. (BugDB 8528518)

  • The TimesTen integration of Oracle Clusterware on Windows did not fail back the virtual IP addresses of the master hosts after a failover. This problem has been fixed. (BugDB 8639286)

  • The TimesTen integration of Oracle Clusterware on Windows did not restart the TimesTen daemon after it was stopped by the task manager. This problem has been fixed. (BugDB 8639248)

1.31 Changes for Release 11.2.1.2.0 from Release 11.2.1.1.0

  • When using TimesTen OCI, incorrect results could be returned when these actions occurred:

    • Execute a SELECT statement.

    • Fetch an array.

    • Execute the SELECT statement again with new define variables.

    This problem has been fixed. (BugDB #8592579)

  • Dynamic read-only cache groups can be replicated only by using an active standby pair. If you attempt to use another type of replication scheme for a dynamic read-only cache group, TimesTen now returns an error. You must now detach a grid member from the grid before you drop an active standby pair replication scheme that is defined within the member database. (BugDB #8581905)

  • The ttGridNodeStatus built-in procedure returned information about the status of a standby master database even though the active standby pair had been dropped. This problem has been fixed. (BugDB #8392567)

  • In some circumstances PL/SQL returned the wrong error message. This problem has been fixed. (BugDB #8541146)

  • The autorefreshChangeLogInfo.sql script has been renamed to cacheInfo.sql. The autorefreshCleanup.sql script has been renamed to cacheCleanup.sql. They are located in the install_dir/oraclescripts directory.

1.32 Changes for Release 11.2.1.1.0 from Release 11.2.1.0.0

1.32.1 Behavior changes in Release 11.2.1.1.0

  • Access Control is mandatory. It has been changed completely to be more compatible with Oracle security standards. See "Managing Access Control" in Oracle TimesTen In-Memory Database Operations Guide and "Privileges" in Oracle TimesTen In-Memory Database SQL Reference. There is new syntax for the ALTER USER, CREATE USER, DROP USER, GRANT and REVOKE SQL statements. See Oracle TimesTen In-Memory Database SQL Reference.

  • A basic change to TimesTen user management is that TimesTen users are now specific to individual TimesTen databases, while in past releases, the different databases in a TimesTen installation shared the same set of users. In the new model, user names and their passwords, privileges and objects they own are stored within the database. If a user is granted a privilege, that grant applies only to the database on which the grant is performed. The only user global to all databases in a TimesTen installation (or instance) is the Instance Administrator (the externally identified OS user who installs and owns the TimesTen installation).

    Only the instance administrator or a user with ADMIN privilege can create or drop users.

  • In previous releases, TimesTen access control only provided for global or system-level privileges. For example, the SELECT system privilege could be used in earlier releases to allow a user to select from any table in the database. This release introduces more fine-grained object-level privileges that can be used to restrict access to individual objects, such as the SELECT ON tableName privilege which confers the grantee the right to select only from table tableName. For a full list of the object privileges, see Oracle TimesTen In-Memory Database SQL Reference.

  • There is also a new set of system-level privileges in this release, and the new privilege names have been chosen to be compatible with the Oracle RDBMS when applicable. Most of the system privileges used in previous TimesTen releases, such as WRITE, DDL, SELECT have been removed. SELECT has been replaced with the SELECT ANY TABLE privilege to be compatible with the privilege name on the Oracle RDBMS. For a full list of the privileges, see Oracle TimesTen In-Memory Database SQL Reference.

    Only the instance administrator or a user with ADMIN privilege can grant or revoke system-level privileges, such as SELECT ANY TABLE.

  • XLA reader applications must connect to the database as a user with XLA privilege.

  • Only the instance administrator can create and destroy databases, and only the instance administrator can connect to a database with OverWrite=1.

    If there is a UID and PWD in the DSN specification (for example, in odbc.ini), in order to create a database you must use an empty PWD= or a different DSN in the connection string.

  • Every object must have an owner that is a user in the database. Table TERRY.EMPLOYEE can only be created if TERRY is a user in the database.

    Every user has complete access to their own objects.

    The instance administrator user, and any user with ADMIN privilege has access to all database objects.

    Other users do not have access to objects owned by a different user unless explicitly granted access by the object's owner or by a user with ADMIN privilege.

    If the PUBLIC role has been granted any privilege such as access to a particular object, all users will have access to that object.

  • You cannot drop a user that owns objects in the database. You must first explicitly drop all of that user's objects. TimesTen does not support DROP USER CASCADE.

  • Privileges necessary to run a SQL statement are checked at statement prepare and statement execute time (for performance, privileges are actually rechecked at execute time only if there had been a revoke issued between the last check and the current execute). In the previous release, privileges were established at connect time. If a privilege was revoked from a user, the revoke would only affect new connections for the user.

  • The built-in procedure has been removed. Applications can obtain a user's system and object privileges by querying the SYS.USER_SYS_PRIVS and SYS.USER_TAB_PRIVS tables respectively.

  • Utility operations requiring privilege (for example most ttAdmin operations) must be run either with the database loaded or as the instance administrator.

  • If ttMigrate restores from a pre-access control database, it will automatically create users for any objects whose owners do not already exist in the database. For example, ttMigrate will create user TERRY if it encounters an object TERRY.BAR and the database has no user TERRY. These implicitly created users will have no privileges and they will have an invalid password. For such users to connect to the database, another user with ADMIN privilege must grant them CREATE SESSION privilege and execute the appropriate ALTER USER statement to assign them a valid password.

    ttMigrate requires ADMIN privilege to save or restore an entire database. If ttMigrate is being used to save (or restore) only a few objects specified on the command-line, the user running ttMigrate only needs the privileges to select (or create) those objects.

  • Only the instance administrator can run ttRepAdmin -duplicate to duplicate a database. The instance administrator must have the same operating system user name on source and target machines in order to run ttRepAdmin -duplicate.

    The utility requires a UID and PWD for an internal user with ADMIN privilege on the remote database.

  • The -u option has been removed from the ttSchema utility. This option would display the users associated with a TimesTen installation. Since users are now associated with individual databases, this option is no longer relevant.

  • Oracle In-Memory Database Cache (IMDB Cache) is no longer supported with Oracle RDBMS releases before 10.2.

  • The cache agent, replication agent, and utilities no longer reference the locally defined TNS_ADMIN variable value. The TNS_ADMIN environment variable should be set during installation or by using the ttmodinstall utility.

  • IMDB Cache requires that a TIMESTEN user and a TT_CACHE_ADMIN_ROLE role be first created on Oracle before any cache operations can be performed. This can be accomplished by running the initCacheGlobalSchema.sql script included with the installation. This script must be run by a user with SYSDBA privilege on Oracle.

  • The cache administration user on Oracle requires new privileges such as CREATE ANY PROCEDURE, EXECUTE ON DBMS_LOCK, TT_CACHE_ADMIN_ROLE. For details on the new privileges, see Oracle In-Memory Database Cache User's Guide. A new grantCacheAdminPrivileges.sql script is included with the installation that grants all the required privileges to the cache administrator user on Oracle. This script must be run by a user with SYSDBA privilege.

  • By default, you must associate a TimesTen database with a cache grid before you can create cache groups within that database. See Oracle In-Memory Database Cache User's Guide.

  • The cache administration UID and PWD must be specified by using the ttCacheUidPwdSet built-in procedure or the ttAdmin utility before any cache groups can be created and before the cache agent is started. In previous releases only AWT and autorefresh cache groups had such a requirement.

  • The ttCacheAwtSchemeModFlagSet built-in procedure has changed. The flag has been change to a session attribute and is no longer reset at the end of the transaction.

  • The ttCacheUidPwdSet built-in procedure must be called within its own transaction. No other operation can be executed in the transaction before calling the built-in. The transaction must be committed or rolled back before any cache operations can be performed.

  • Old default behavior: If the default tablespace for the cache administration user became full because of DMLs on a table being cached in a read-only cache group, pending changes in the change log table on Oracle would be purged and the cached table would be completely reloaded. Reloading the cached table could take a long time and the TimesTen application would block till the reload was complete.

    New default behavior: If the default tablespace for the cache administration user become full because of DML to a table being cached, the out-of-tablespace error is returned to the application performing the DML.

    To revert to the old behavior: The user can revert back to the old behavior by calling the ttCacheConfig built-in procedure to set the TblSpaceFullRecovery parameter to reload for the table.

  • By default TimesTen now issues an implicit commit operation both before and after all SQL DDL statements. This behavior is specified by the connection attribute DDLCommitBehavior whose default is 0. Applications wishing to use the behavior of previous releases should connect to the database with DDLCommitBehavior=1.

  • It is no longer possible to use the ttApplicationContext built-in procedure to associate an application context with a DDL transaction unless the application has connected to the database with DDLCommitBehavior=1.

  • ROWID literal values in SQL statements are now expressed as base-64 encoded character constants instead of binary constants. This is the same format used by the Oracle RDBMS.

  • The character-string form of a rowid is now 18 characters long instead of 32. The binary form of a rowid is now 12 bytes long instead of 16.

  • Old behavior: SQL parameters were partially allowed for some CREATE VIEW statements.

    New behavior: SQL parameters are not allowed in CREATE TABLE, CREATE VIEW, CREATE MATERIALIZED VIEW statements.

  • CREATE USER and ALTER USER statements are not allowed over client/server connections (ttIsqlcs) for security reasons. This is also true for CREATE USER and ALTER USER statements that are passed through to Oracle. Please use a direct driver connection (ttisql) instead to run the CREATE USER and ALTER USER statements.

  • When sequence values are used in CREATE VIEW statements, a warning (Warning 20000: Use of a deprecated feature: create view with sequences) will be issued. Oracle does not allow sequence values in CREATE VIEW statements.

  • A name of a table, sequence or view must be unique across all tables, sequences, and views.

  • New reserved words: UID, TO

    Reserved words in prior releases that are no longer reserved words in this release: BIGINT, BINARY, CHARACTER, DEC, DOUBLE, INT, NATIONAL, NCHAR, NO, NUMERIC, NVARCHAR, REAL, RETURN, TIME, TINYINT, VARBINARY, VARYING

  • The minimum value allowed for TempSize has been increased to 32 MB on all platforms.

  • The minimum value allowed for PermSize has been increased to 32 MB on all platforms.

  • The SQLError ODBC function now reports non-zero native error codes in addition to the SQL state for most parameter conversion-related errors.

  • The network protocol used between client/server applications (both ODBC and JDBC) and the TimesTen server has changed. Applications that use client/server may see that some error conditions are reported at different times as compared with previous TimesTen releases. For example, errors that were previously reported at SQL statement preparation time may now be delayed until execution time.

  • The ttIsql metadata commands have changed. The behavior of the tables command has been split and modified. It now only lists current-user owned tables and the owner pattern has been removed. The alltables command lists all tables that the user has permission to access. A similar split as been made for views, sequences, indexes. The tables and alltables commands will only list tables and not views. The views command now lists only the view names (including materialized views). It no longer lists the view's definition SQL. The procedures command now lists names of PL/SQL procedures. Previously, it listed TimesTen built-ins. Now the builtins command provides that information. The command xladeletebookmark has been renamed to xlabookmarkdelete to match the name of the built-in procedure. The describe command can only describe objects that the user has SELECT privileges on.

  • The output of the ttXactAdmin utility and the ttCkptHistory built-in procedure have changed.

  • The -keepCG option of ttRepAdmin -duplicate is now the default. Use -nokeepCG to duplicate cache group tables as regular tables.

  • The log hold LSNs reported by the ttLogHolds built-in procedure reflect a change in the way log holds are assigned and managed. Multiple log holds, even holds of different types, may be reported as having the same hold LSN.

  • The values of the CHECKPOINT_BYTES_WRITTEN and CHECKPOINT_BLOCKS_WRITTEN columns of the SYS.MONITOR table are now cumulative since the database was loaded into memory, and they now include data written by in-progress checkpoints.

  • TimesTen integration with Oracle Clusterware has had significant changes. The syntax for the ttCWAdmin utility has changed. Attributes for the cluster.oracle.ini file have been changed. See "Clusterware Attributes for TimesTen" and "ttCWAdmin" in Oracle TimesTen In-Memory Database Reference and "Using Oracle Clusterware to Manage Active Standby Pairs" in Oracle TimesTen In-Memory Database Replication Guide.

  • The configuration for the transaction log buffer file size has been modified. See Oracle TimesTen In-Memory Database Operations Guide.

  • JDBC now maps ODBC data types as follows:

    • SQL_FLOAT to Types.DOUBLE

    • SQL_DOUBLE to Types.VARCHAR

    • SQL_REAL to Types.FLOAT

1.32.2 New features in Release 11.2.1.1.0

See the "What's New" prefaces in the documentation to see the new features documented in a specific guide.

  • TimesTen has implemented a parallel log manager.

  • TimesTen supports parallel operation for the ttMigrate utility.

  • TimesTen supports replication of tables with different table definitions. See "Replicating tables with different definitions" in Oracle TimesTen In-Memory Database Replication Guide.

  • Replication throughput of active standby pairs can be increased from one thread to two by setting the ReceiverThreads first connection attribute. See Oracle TimesTen In-Memory Database Reference.

  • An active standby pair replication scheme can replicate XLA bookmarks. See Oracle TimesTen In-Memory Database C Developer's Guide and Oracle TimesTen In-Memory Database Java Developer's Guide.

  • Automatic client failover can be configured for databases that have active standby pair replication schemes. This enables the client to fail over automatically to the server on which the standby database resides. See Oracle TimesTen In-Memory Database Operations Guide.

  • TimesTen materialized views can be refreshed asynchronously. See Oracle TimesTen In-Memory Database Operations Guide and Oracle TimesTen In-Memory Database SQL Reference.

  • TimesTen offers Oracle-style behavior for duplicate parameter names. See "Duplicate parameter names" in Oracle TimesTen In-Memory Database SQL Reference.

  • The DELETE, INSERT, and UPDATE SQL statements have been enhanced with the RETURNING...INTO clause. See Oracle TimesTen In-Memory Database SQL Reference.

  • TimesTen supports the ROWID data type. See Oracle TimesTen In-Memory Database SQL Reference.

  • VARCHAR2, NVARCHAR2, VARBINARY and TT_VARCHAR columns in replicated tables can have a size of 4 megabytes.

  • You can retrieve executed commands such as SQL statements and built-in procedures from the SQL command cache.You can also view the query plan information to monitor and troubleshoot queries. See Oracle TimesTen In-Memory Database Operations Guide.

  • You can monitor DDL operations performed on Oracle tables that are cached in a TimesTen database. See Oracle In-Memory Database Cache User's Guide.

  • Synchronous Data Guard can be used with IMDB Cache. See Oracle In-Memory Database Cache User's Guide.

  • This release includes TimesTen Quick Start. The Quick Start includes demos, tutorials and an overview of the product with links to the product documentation. See quickstart/index.html at the root of your installation.

1.32.3 New attributes in Release 11.2.1.1.0

See Oracle TimesTen In-Memory Database Reference for more information.

  • DuplicateBindMode, LogBufParallelism, PLSQL_CCFLAGS, PLSQL_CONN_MEM_LIMIT, ReceiverThreads

  • DynamicLoadEnable replaces DisableDynamicLoad.

  • LogBufMB replaces LogBuffSize. The units have been changed from kilobytes to megabytes.

1.32.4 New built-in procedures in Release 11.2.1.1.0

See Oracle TimesTen In-Memory Database Reference for more information.

  • ttGridDetachList, ttSQLCmdCacheInfo, ttSQLCmdCacheInfoGet, ttSQLCmdQueryPlan

1.32.5 New clusterware attributes in Release 11.2.1.1.0

Attributes for the cluster.oracle.ini file have been changed significantly. See "Clusterware Attributes for TimesTen" in Oracle TimesTen In-Memory Database Reference.

1.32.6 Utilities enhancements in Release 11.2.1.1.0

The syntax for the ttCWAdmin utility has changed significantly. See "ttCWAdmin" in Oracle TimesTen In-Memory Database Reference.

1.32.7 New SQL statements and functions in Release 11.2.1.1.0

  • SYS_CONTEXT and UID functions

  • CREATE MATERIALIZED VIEW LOG, DROP MATERIALIZED VIEW LOG and REFRESH MATERIALIZED VIEW statements. In addition, the CREATE MATERIALIZED VIEW statement has been enhanced.

1.32.8 New system tables and views in Release 11.2.1.1.0

See Oracle TimesTen In-Memory Database SQL Reference for more information about system tables and views.

SYS.DBA_SYS_PRIVS, SYS.USER_SYS_PRIVS, SYS.ALL_TAB_PRIVS, SYS.DBA_TAB_PRIVS, SYS.USER_TAB_PRIVS, SYS.ALL_USERS, SYS.DBA_USERS, SYS.USER_USERS, SYS.ALL_COL_PRIVS, SYS.DBA_COL_PRIVS, SYS.USER_COL_PRIVS, SYS.SESSION_ROLES

1.33 Changes for Release 11.2.1.0.0 from Release 7.0.5.2.0

  • The release numbering system has been changed. In the release number a.b.c.d.e, a.b.c represents the TimesTen release (11.2.1), d represents the patch release (0) and e represents the port patch (0).

  • Demos are not added by default during installation. You must choose to include the demos at installation time.

  • The TimesTen client library implementation of SQLPrepare performs a deferred prepare. The request is not sent to the server until required. See Oracle TimesTen In-Memory Database C Developer's Guide.

  • TimesTen support has been added for these platforms: AIX 6.1, Asianux 3.0, Monta Vista 5.0, Windows Vista and Windows Server 2008.

  • TimesTen no longer supports these platforms, development kits and compilers: AIX 5.2, HP-UX 11i v1, RedHat 3, Solaris 8 (Sparc), Solaris 10 x86 32-bit, SUSE Linux 9, TRU 64, JDK 1.4.x on all platforms, gcc 3.2.3, VC++ 6.0, VS.NET 2002, Sun Studio 10.

1.33.1 New features in Release 11.2.1.0.0

See the "What's New" prefaces in the documentation to see the new features documented in a specific guide.

  • PL/SQL is supported in TimesTen. See Oracle TimesTen In-Memory Database PL/SQL Developer's Guide.

  • The following SQL statements are new: ALTER FUNCTION, ALTER PACKAGE, ALTER PROCEDURE, CREATE FUNCTION, CREATE PROCEDURE, CREATE PACKAGE, CREATE PACKAGE BODY, DROP FUNCTION, DROP PACKAGE, DROP PROCEDURE. The ALTER SESSION SQL statement has been enhanced for PL/SQL support. See Oracle TimesTen In-Memory Database SQL Reference.

  • OUT and IN OUT parameters are supported. OUT REF CURSORs are supported. See Oracle TimesTen In-Memory Database PL/SQL Developer's Guide, Oracle TimesTen In-Memory Database C Developer's Guide and Oracle TimesTen In-Memory Database Java Developer's Guide.

  • Oracle Call Interface (OCI) applications can be used with TimesTen. See Oracle TimesTen In-Memory Database C Developer's Guide.

  • The Oracle Pro*C/C++ Precompiler can be used with TimesTen. See Oracle TimesTen In-Memory Database C Developer's Guide.

  • Oracle Clusterware can be used with TimesTen. See Oracle TimesTen In-Memory Database Replication Guide.

  • A cache grid is a set of TimesTen databases that collectively manage application data using the relational data model. The cache grid provides users with Oracle databases a means to horizontally scale cache groups across multiple systems with read/write data consistency across the TimesTen databases and predictable latency for database transactions. See Oracle In-Memory Database Cache User's Guide.

  • In a dynamic cache group, data in cache tables is loaded on demand. Dynamic cache groups are supported for read-only and writethrough cache groups. A user managed cache group can also be defined as dynamic if it does not use both the AUTOREFRESH cache group attribute and the PROPAGATE cache table attribute. See Oracle In-Memory Database Cache User's Guide.

  • TimesTen supports bitmap indexes. See Oracle TimesTen In-Memory Database SQL Reference.

  • Set operators are allowed in subqueries. See Oracle TimesTen In-Memory Database SQL Reference.

  • ":" parameter markers have been enhanced. See Oracle TimesTen In-Memory Database SQL Reference.

  • Multiline C-style comments can be included in SQL statements and PL/SQL blocks. See Oracle TimesTen In-Memory Database SQL Reference.

  • XLA is updated when aging and cascading delete operations occur. See Oracle TimesTen In-Memory Database C Developer's Guide and Oracle TimesTen In-Memory Database Java Developer's Guide.

  • TimesTen installation includes the Oracle Instant Client. The use of this client is supported for applications that need to connect to Oracle directly as well as to TimesTen. In addition, this client is to be used by OCI/Pro*C applications against TimesTen.

1.33.2 New attributes in Release 11.2.1.0.0

See Oracle TimesTen In-Memory Database Reference for more information.

  • DDLCommitBehavior

  • PLSQL, PLSQL_MEMORY_ADDRESS, PLSQL_MEMORY_SIZE, PLSCOPE_SETTINGS, PLSQL_OPTIMIZE_LEVEL, PLSQL_TIMEOUT. These attributes are available only on Linux platforms.

  • CacheGridEnable and CacheGridMsgWait

  • DisableDynamicLoad and DynamicLoadErrorMode

  • OracleNetServiceName replaces OracleID.

  • TCP_Port2, TTC_FailoverPortRange, TTC_Server2, TTC_Server_DSN2

1.33.3 Clusterware attributes in Release 11.2.1.0.0

See Oracle TimesTen In-Memory Database Reference and Oracle TimesTen In-Memory Database Replication Guide for more information.

  • The TimesTen integration with Oracle Clusterware requires a cluster.oracle.ini file that contains clusterware attributes.

1.33.4 New built-in procedures in Release 11.2.1.0.0

See Oracle TimesTen In-Memory Database Reference for more information.

  • ttCacheConfig, ttCacheDbCgStatus, ttCacheDDLTrackingConfig, ttGridAttach, ttGridCreate, ttGridDestroy, ttGridDetach, ttGridInfo, ttGridNameSet, ttGridNodeStatus, ttPLSQLMemoryStats

1.33.5 New utilities in Release 11.2.1.0.0

See Oracle TimesTen In-Memory Database Reference for more information.

ttCWAdmin

1.33.6 Utilities enhancements in Release 11.2.1.0.0

See Oracle TimesTen In-Memory Database Reference for more information.

  • ttIsql has been enhanced to support PL/SQL operations. It has new commands for creating and executing PL/SQL blocks, reporting PL/SQL errors and returning server output. It also includes enhanced parameter handling. ttIsql has new commands to list PL/SQL objects and other database objects such as tables, sequences and views. These metadata commands make it possible to list user-owned objects separately from system-owned objects.

  • TimesTen supports parallel operation for the ttMigrate utility.

  • ttRepAdmin -showstatus has a new asynchronous writethrough cache monitoring option: -awtmoninfo.

  • ttSchema has new options to display PL/SQL program units.

1.33.7 New system tables and views in Release 11.2.1.0.0

See Oracle TimesTen In-Memory Database SQL Reference for more information.

SYS.ALL_SYS_PRIVS, SYS.DBA_SYS_PRIVS, SYS.USER_SYS_PRIVS, SYS.ALL_TAB_PRIVS, SYS.DBA_TAB_PRIVS, SYS.USER_TAB_PRIVS, SYS.ALL_USERS, SYS.DBA_USERS, SYS.USER_USERS, SYS.ALL_ARGUMENTS, SYS.DBA_ARGUMENTS, SYS.USER_ARGUMENTS, SYS.ALL_DEPENDENCIES, SYS.DBA_DEPENDENCIES, SYS.USER_DEPENDENCIES, SYS.ALL_DIRECTORIES, SYS.DBA_DIRECTORIES, SYS.ALL_ERRORS, SYS.DBA_ERRORS, SYS.USER_ERRORS, SYS.ALL_IDENTIFIERS, SYS.DBA_IDENTIFIERS, SYS.USER_IDENTIFIERS, SYS.ALL_OBJECTS, SYS.DBA_OBJECTS, SYS.USER_OBJECTS, SYS.ALL_PLSQL_OBJECT_SETTINGS, SYS.DBA_PLSQL_OBJECT_SETTINGS, SYS.USER_PLSQL_OBJECT_SETTINGS, SYS.ALL_PROCEDURES, SYS.DBA_PROCEDURES, SYS.USER_PROCEDURES, SYS.ALL_SOURCE, SYS.DBA_SOURCE, SYS.USER_SOURCE, SYS.ALL_STORED_SETTINGS, SYS.DBA_STORED_SETTINGS, SYS.USER_STORED_SETTINGS, SYS.DBA_OBJECT_SIZE, SYS.USER_OBJECT_SIZE, SYS.PUBLIC_DEPENDENCY

2 Platforms

Environment 32-bit 64-bit Compiler notes
Microsoft Windows 2000, Windows XP, Windows Vista and Windows Server 2003 and 2008 for Intel IA-32 and EM64T and AMD64 CPUs. Yes Yes Compiled and tested with Intel 8.

VS .NET 2003, VS 2005 and VS 2008 are also supported.

To use the TimesTen debug library, you must use VS .NET 2003.

Asianux 2.0 and 3.0 for Intel IA-32 and EM64T and AMD64 CPUs. Yes Yes Compiled and tested with Intel 9.1.

gcc 3.4.6 and 4.1.0 are also supported.

Solaris 9 and 10 for UltraSparc CPUs. Yes Yes 64-bit compiled with Sun Studio 11.

32-bit shipped with a TimesTen client library compiled with gcc 3.4.6 and a client library compiled with SunStudio 11.

Solaris 10 for x86-64. No Yes Compiled with Sun Studio 10. Tested on AMD64 CPUs.
SUSE Linux Enterprise Server 10 for Intel IA-32 and EM64T and AMD64 CPUs. Yes Yes Compiled and tested with Intel 9.1.

gcc 3.4.6 and 4.1.0 are also supported.

SUSE Linux Enterprise Server 10 for Itanium2 CPUs. No Yes Compiled and tested with Intel 9.1.

gcc 3.4.5 and 4.1.0 are also supported.

SUSE Linux Enterprise Server 11 for Linux x86-84 No Yes gcc 4.3
Red Hat Enterprise Linux 4 and 5 for Intel Itanium2 CPUs. No Yes Compiled and tested with Intel 9.1.

gcc 3.4.5 and 4.1.0 are also supported.

Red Hat Enterprise Linux 4 and 5 for Intel IA-32 and EM64T and AMD64 CPUs. Yes Yes Compiled and tested with Intel 9.1.

gcc 3.4.6 and 4.1.0 are also supported.

Oracle Linux 4 and 5 for Intel IA-32 and EM64T and AMD64 CPUs. Yes Yes Compiled and tested with Intel 9.1.

gcc 3.4.6 and 4.1.0 are also supported.

Monta Vista Linux Carrier Grade Edition Release 4.0 and 5.0 for Intel IA-32, EM64T and AMD64 CPUs. Yes Yes Compiled and tested with Intel 9.1.

gcc 3.4.6 and 4.1.0 are also supported.

HP-UX 11i v2 and 11iv3 for PA-RISC. Yes Yes Compiled and tested with the HP compiler.
HP-UX 11i v2 and 11iv3 for Itanium2. Yes Yes Compiled and tested with the HP compiler.
AIX 5L 5.3 and 6.1 for POWER CPUs. Yes Yes Compiled and tested with the AIX compiler.
Mac OS X 10.6 Yes No Compiled and tested with gcc 4.2.1.

TimesTen is supported on Oracle VM guest x86 and x86-64 operating systems on Oracle Linux 4 and 5 or Red Hat Enterprise Linux 4 and 5 systems.

3 Software requirements

For software requirements, refer to Oracle TimesTen In-Memory Database Installation Guide.

4 Deliverables

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 E13080). (See the description above.)

    • Oracle TimesTen In-Memory Database Installation Guide (Part Number E13063). See the description above.

    • Oracle In-Memory Database Cache Introduction (Part Number E14261). This guide describes the features of Oracle In-Memory Database Cache and provides information to help developers plan an IMDB Cache application.

    • Oracle TimesTen In-Memory Database Operations Guide (Part Number E13065). 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 E13066). 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 all C language-specific APIs.

    • Oracle TimesTen In-Memory Database Java Developer's Guide (Part Number E13068). This guide describes how to compile and link 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 E13074). 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 E13076). 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 E14000). 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 E18485). 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 support of and use with TimesTen.

    • Oracle TimesTen In-Memory Database Reference (Part Number E13069). This guide provides a reference to all Oracle TimesTen utilities, built-in procedures and attributes and provides a reference to other features of TimesTen.

    • Oracle TimesTen In-Memory Database SQL Reference (Part Number E13070). 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 E13071). 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 E17114). This document provides a reference for TimesTen system tables, replication tables and system limits.

    • Oracle TimesTen In-Memory Database Replication Guide (Part Number E13072). 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 In-Memory Database Cache User's Guide (Part Number E13073). This guide provides background information to help you understand how to create and manage Oracle In-Memory Database Cache and cache grid.

    • Oracle TimesTen In-Memory Database Troubleshooting Guide (Part Number E13075). 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 E13083) and Oracle TimesTen In-Memory Database JMS/XLA Java API Reference (Part Number E13084). 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 Release Notes (Part Number E13081) and Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database Installation Guide (Part Number E13082). This guide and release notes describe the Oracle Enterprise Manager Plug for TimesTen.

If any of these items is missing, contact Oracle TimesTen support. See "Contacting support".

5 Advance notice

This section lists deprecated and removed items and desupport of platforms, Oracle releases, JDK releases and compilers.

5.1 Deprecated items in Release 11.2.1.8.0

The MonInterval Clusterware attribute

5.2 Deprecated items in Release 11.2.1.7.0

The ScriptInstallDir Clusterware attribute

5.3 Removed items in Release 11.2.1.4.0

The -lsn option of the ttXactAdmin utility

5.4 Deprecated items in Release 11.2.1.1.0

  • LogBuffSize attribute. Use LogBufMB instead. The units have changed from kilobytes to megabytes.

  • Including sequence values in a CREATE VIEW statement is deprecated.

5.5 Removed items in Release 11.2.1.1.0

  • Authenticate attribute

  • It is not possible to set the Logging attribute to 0. The only possible value is 1.

  • Built-in procedures: ttCommitLSN, ttLogBufPrint, ttuser, ttUserPrivileges

  • The -at and -af options of the ttXactLog utility have been removed.

5.6 Deprecated items in Release 11.2.1.0.0

  • The GroupRestrict and Authenticate attributes are deprecated. They are scheduled to be removed in a later release.

5.7 Removed items in Release 11.2.1.0.0

  • SELECT FOR UPDATE ON ORACLE SQL statement

  • DURATION clause in CREATE CACHE GROUP and ALTER CACHE GROUP SQL statements

  • The ttCacheAgingMemoryThresholdSet and ttCacheAgingIntervalSet built-in procedures

  • The TransparentLoad attribute and the TT_TRANSPARENT_LOAD ODBC option have been removed. Use dynamic cache groups instead.

  • The OracleID attribute has been removed. Use OracleNetServiceName instead.

  • The ExclAccess attribute has been removed.

  • The Cache Administrator (web-based user interface) has been removed.

  • TimesTen no longer supports these platforms: AIX 5.2, HP-UX 11i v1, RedHat 3, Solaris 8 (Sparc), Solaris 10 x86 32-bit, SuSE Linux 9 and TRU 64.

  • TimesTen no longer supports Oracle9i or Oracle 10.1.0.x.

  • TimesTen no longer supports JDK 1.4.x on all platforms. Also, classes15.jar and classes16.jar have been removed.

  • TimesTen no longer supports the gcc 3.2.3 compiler, Visual C++ 6.0, Visual Studio .NET 2002 and Sun Studio 10.

6 Known problems and limitations

This section contains known problems and limitations.

6.1 Installing and uninstalling TimesTen

  • 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 Oracle TimesTen on a new 64-bit RedHat Linux system, you may find that it is not enabled for 32-bit applications. According to the Redhat Enterprise Linux installation guide: 'Users of AMD64, Intel(R) EM64T, and Itanium systems who want support for developing or running 32-bit applications are encouraged to select the Compatibility Arch Support and Compatibility Arch Development Support packages to install architecture specific support for their systems.'

  • On Windows 64-bit systems, TimesTen 32-bit and 64-bit instances cannot coexist on the same machine.

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

  • When uninstalling TimesTen on Windows, the oci.dll file shipped with the TimesTen installation sometimes cannot be removed because it is in use by a process that is not part of TimesTen.

  • 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
    
  • For releases 11.2.1.5.0 and later, you must relink applications on AIX after installing TimesTen. Failure to do so results in an application execution error similar to the following:

    Could not load program _application_:
    Dependent module _tt_inst_dir_/lib/libtten.a(libtten.so)
    could not be loaded.
    File _tt_inst_dir_/lib/libtten.a is not an archive 
    or the file could not be read properly.
    System error: Exec format error
    
  • 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.

6.2 Upgrading TimesTen

  • The ttMigrate utility cannot migrate foreign key dependencies between objects owned by different users to TimesTen release 11.2.1.1.0 and later 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.1.0 and later 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.

6.3 Log Files

  • Support log files do not rotate properly on Windows operating systems. When the MaxSupportLogFiles limit is reached, new log files should overwrite old files in the order they were created. On Windows systems, new log files randomly overwrite the old files.

6.4 PL/SQL

  • PL/SQL is not supported on Solaris x86 and Linux Itanium systems.

  • 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 gigabyte. 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.

  • The EXECUTE IMMEDIATE statement cannot be used to execute a PL/SQL anonymous block.

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

  • When using Java 6 on 32-bit AIX, connections to a PL/SQL-enabled database using the TimesTen direct driver may fail because of a memory address conflict between the Java memory segment and the TimesTen PL/SQL memory segment. Such a failure is reported as error TT8517:

    SQLException: [TimesTen][TimesTen 11.2.1.4.0 ODBC Driver]
    [TimesTen]TT8517:
    Cannot attach PL/SQL shared memory; PLSQL_MEMORY_ADDRESS not valid or 
    already in use
    

    The conflict can be resolved by specifying a smaller Java memory maximum size using the -Xmx option to java or the IBM_JAVA_OPTIONS environment variable. For example: java -Xmx64M. Use java -verbose:sizes to see the current default java memory size.

    An alternative solution is to explicitly set the TimesTen PLSQL_MEMORY_ADDRESS connection attribute to a value that does not conflict with the java segment. Potential good values for PLSQL_MEMORY_ADDRESS may include 0xe0000000 and 0xa0000000, depending on the environment and other factors. See the AIX documentation for a complete discussion of how Java uses memory on AIX.

6.5 TimesTen OCI support

See "Oracle Call Interface Support" in Oracle TimesTen In-Memory Database C Developer's Guide for detailed information about known problems and limitations.

  • TimesTen OCI is not supported on Solaris x86 or Linux Itanium systems.

  • Certain PL/SQL blocks with OUT parameters, when executed against TimesTen OCI, can generate an ORA-12899 error when the data coming back from the PL/SQL block overflows the bound output buffer. This occurs only when the parameters are bound with the UTF16 character set.

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

  • When an INSERT or UPDATE statement is executed which has an array of structures bound as parameters (using OCIBindArrayofStruct), the first execution of the statement succeeds. Subsequent executions may result in a numeric overflow error, a uniqueness constraint violation or a truncation error.

6.6 TimesTen support for Oracle Pro*C/C++ Precompiler

  • TimesTen Pro*C is not supported on Solaris x86 or Linux Itanium systems.

  • The windows 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 a variable is declared as long long on 32-bit Solaris and 32-bit HP-UX platforms, Pro*C generates its size as long.

  • When compiling a Pro*C/C++ demo, this message may appear: "System default option values taken from: install_dir/ttoracle_home/instantclient_11_1/precomp/admin/pcscfg.cfg." The path name may be incorrect.

See "TimesTen Support for Oracle Pro*C/C++ Precompiler" in Oracle TimesTen In-Memory Database C Developer's Guide for detailed information about known problems and limitations.

6.7 JDBC

  • On HPUX 11 systems, 32-bit JDBC client and direct drivers cannot coexist in one JVM due to some problems with loading shared libraries.

  • If a JDBC application running in a time zone that has Daylight Savings Time selects a non-existent 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'.

  • JDBC applications may see some memory leak if JDBC objects are not properly closed and have not been garbage collected before the corresponding Connection is closed.

6.8 JMS/XLA

  • TimesTen does not generate an XLA (Transaction Log API) record for CREATE MATERIALIZED VIEW LOG operations. See Oracle TimesTen In-Memory Database C Developer's Guide for other details about XLA.

  • 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 it is not supported. See Oracle TimesTen In-Memory Database Java Developer's Guide for other details.

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

6.9 Cache grid

  • If an insert of a new instance in one grid node does not propagate to the Oracle database before a dynamic load operation for the same instance is executed on a child table in another grid node, then the dynamic load operation results in "0 rows found".

6.10 IMDB Cache

  • When trying to create a global cache group, the database can become invalidated if there are more than 15 errors in the cache group definition. This only happens when connecting to the 11.2.0.1 Oracle Server. The workaround is to either use an Oracle Server release 10g, 11g or an 11gR2 release higher than 11.2.1.0.1.0.

  • There is a known issue (BugDB #9359437) that during a FLUSH CACHE GROUP operation, TimesTen may lock the tables and rows in the cache group tables. This can cause blocking or a deadlock if your application attempts to update the rows concurrently.

  • If an application performs more than one UNLOAD BY ID operation on a cache group, there is a 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.

  • CREATE, ALTER and DROP CACHE GROUP statements are not supported in serializable isolation mode.

  • If DDL tracking is enabled on the Oracle database, destroying a database that has cache groups may result in the DDL trigger on a cached table not being dropped from the Oracle database. The user must manually drop each of these triggers using the DROP TRIGGER statement on the Oracle database. The DDL trigger name of a table with an Oracle object with identifier X is TT_X_DDL_T. The object identifier of an Oracle table can be retrieved from the V$ALL_OBJECTS view on the Oracle database.

  • For autorefresh cache groups, after a transaction that executes several DML operations on an Oracle base table (for example in a bulk insert), we recommend that you coalesce the autorefresh log table index (the logseq column in the change table). Use ALTER INDEX index_name COALESCE.

  • 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 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.3 or above.

    See Metalink 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.

  • For IMDB 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, IMDB 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.

  • Set SQLNET.SEND_TIMEOUT and SQLNET.RCV_TIMEOUT to a value large enough to avoid unnecessary timeouts during normal operations. For example, setting each parameter to 100 seconds forces any communication call from TimesTen to Oracle to time out within 200 seconds.

  • With Passthrough=3, if a JDBC application calls setTimestamp on a passthrough statement when binding more than one field, the session NLS_TIMESTAMP_FORMAT is lost. You can work around this issue by changing the SQL statement to use TO_TIMESTAMP(?, 'syyyy-mm-dd hh24:mi:ss.ff9') and TO_DATE(?,'syyyy-mm-dd hh24:mi:ss').

  • The description of the PassThrough general connection attribute in Oracle TimesTen In-Memory Database Reference should include this statement: "Passthrough execution of DDL statements does not result in commits on TimesTen."

  • Nullable foreign keys can result in rows without a corresponding parent row. The rows may become stale and 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.

  • When using IMDB Cache, the following JDBC methods are not supported with Oracle pass-through modes 1 through 3: PreparedStatement.setAsciiStream, PreparedStatement.setUnicodeStream, PreparedStatement.setBinaryStream, PreparedStatement.setCharacterStream.

6.11 TimesTen integration with Oracle Clusterware

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

  • The TimesTen integration with Oracle Clusterware is not available on these platforms: Solaris 32-bit SPARC, HP-UX PA-RISC, HP-UX Itanium 32-bit, AIX 32-bit, Linux Itanium and Windows 64-bit.

  • Spurious internal errors in the logs may be generated during TimesTen Clusterware operations. These errors are benign. Run ttCWAdmin -status to verify the status of the system.

6.12 TimesTen to TimesTen Replication

  • Cross-release replication and migration from a database that does not have manual parallel replication enabled to a database that does have manual parallel replication enabled does not work when one of the databases is release 11.2.1.6.x or 11.2.1.7.x. Migration from a database without manual parallel replication to a database with manual parallel replication is possible for the following release combinations:

    • Before 11.2.1.6.0 to 11.2.1.6.0

    • Before 11.2.1.6.0 to 11.2.1.8.0 or later

    • 11.2.1.8.0 or later to 11.2.1.8.0 or later

    To migrate from an 11.2.1.6.x or 11.2.1.7.x database without manual parallel replication to a database with manual parallel replication, upgrade each database to 11.2.1.8.0 without manual parallel replication first.

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

  • TimesTen can return error message TT6003 when using master-subscriber two-safe replication and autorefresh cache groups. This can occur, specifically, if the first replicated two-safe transaction has either a LOAD CACHE GROUP or an ALTER CACHE GROUP SET AUTOREFRESH STATE operation on an autorefresh cache group. To work around this problem, either avoid doing a LOAD or ALTER on the first replication transaction or use active standby pair replication.

  • Access to the NEXTVAL SQL function of a sequence is not supported in a query on a standby node of an active standby pair.

  • 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 2 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.

  • For replication to work efficiently, it must be able to quickly translate host names of peers into IP addresses. For this to happen efficiently on Windows, make sure that a Windows machine is set up to query either a valid WINS server or a valid DNS server that has correct information about the hosts on the network. In the absence of such servers, static HOST-to-IP entries can be entered in either a %windir%\system32\drivers\etc\hosts or %windir%\system32\drivers\etc\lmhosts file.

    Without any of these four options, a Windows machine resorts to broadcasting, which is extremely slow, to detect peer nodes. Also, if the Windows machine cannot communicate with a defined WINS server or DNS server, or if incorrect information is stored on those servers, the hostname resolution will be extremely slow. Use the ping command to test whether a host can be efficiently located. The ping command should immediately respond if host name resolution is set up properly.

  • When changing the state of a replication receiver (that is, to start or stop) when replication has been configured to use a secondary IP address, a misconfiguration of the /etc/hosts file may cause ttRepAdmin to print the error: Alter replication with 'ALTER REPLICATION...port 0' failed: TT0907: Unique constraint (REPSTORESIX) violated. This error is caused by replication not recognizing the local database. This situation can be confirmed by the following query:

     SELECT * FROM ttrep.ttstores WHERE is_local_store <> 0x0;
    

    If this query returns either no rows, or a row with the database's main host name set to the result of the hostname command rather than the host you specified, you have encountered a configuration problem with /etc/hosts.

    To correct the problem, you must make sure that the special host name you are using is defined in /etc/hosts and that there is an IP address in common between your special host name and the result of the hostname command.

    Example: your hostname command returns softswitch and your machine has two Ethernet cards with the addresses 10.10.15.136 and 192.168.15.136. Then the IP addresses defined for softswitch should include both IP addresses.

6.13 SQL*Plus

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

6.14 SQL, utilities and procedures

  • Executing a query against multiple outer joins with the set operators UNION, MINUS or INTERSECT can result in abnormal termination. To work around this problem, define a view to encapsulate each of the outer joins. Then, execute the query against the views.

  • When using scalar functions that accept TIME, DATE or TIMESTAMP data types as arguments, you must prefix the function with a literal indicating the data type. For example:

    SELECT GREATEST (TIME '10:10:10', TIME '12:12:12' ) FROM DUAL; 
    

    If you do not specify the datetime literal, TimesTen treats the data type as CHAR. Functions that accept datetime literals as arguments are: GREATEST, LEAST, ROUND and ADD_MONTHS.

  • The ORDER BY clause is not supported in a CREATE TABLE AS SELECT 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 query strings 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 query so as to avoid non-database character set characters in the query text.

  • The TO_CHAR SQL function provides inconsistent results (truncates or rounds) when applied to BINARY_FLOAT and BINARY_DOUBLE values. TO_CHAR also truncates some NUMBER values that should instead be rounded.

  • If an application process on HP-UX is connected to a TimesTen database and if the application process calls the ttXactIdRollback utility API for a transaction associated with the same database, the call may fail due to the inability to attach to the shared memory segment for the database.

  • The fourth argument (stats) to the ttOptSetColIntvlStats built-in procedure is a compound structure that cannot be parameterized using ODBC functions. This means that a statement such as the following fails:

    SQLPrepare(hstmt, "call ttOptSetColIntvlStats('t1', 'c1', 1, ?)", 
                          SQL_NTS);
    

    Similarly, the ttIsql describe command fails because the "stats" argument does not have one of the known types.

6.15 TTClasses

  • A problem with TTClasses causes NCHAR / NVARCHAR2 parameters and columns to be bound incorrectly. This results in parameter and column data being transferred to/from the database without a null terminator.

  • When recompiling TTClasses on AIX 5.3, ensure that the C++ compiler is at least version 8, patch release 13 (8-feb2007). Older versions may cause programs to fail to connect to TimesTen.

6.16 Client/Server

  • In the Windows ODBC Client DSN Setup dialog box, when the Server Name refers to a UNIX host, 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 works normally.

  • When setting multiple client connections to a TimesTen server, do not set the stack size (using the -ServerStackSize daemon option or ServerStackSize attribute) to less than 64KB on 64-bit systems and 48KB for 32-bit systems. If the stack size is too small, the TimesTen Server dies with SIGSEGV on most UNIX system, or SIGBUS on HP-UX. The default stack size is 128 KB on 32-bit systems and 256 KB on 64-bit systems.

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

7 Contacting support

For information about obtaining technical support for Oracle TimesTen products, go to the following Web address: http://www.oracle.com/support/contact.html

8 Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible to all users, including users that are disabled. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/support/contact.html or visit http://www.oracle.com/accessibility/support.html if you are hearing impaired.


Oracle TimesTen In-Memory Database Historical Release Notes, Release 11.2.1

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 software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software 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 which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

This software and documentation may provide access to or information on 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. 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.


In-Memory Replay Banner