Oracle® TimesTen In-Memory Database Operations Guide 11g Release 2 (11.2.2) E21633-08 |
|
|
PDF · Mobi · ePub |
This section summarizes the new features and functionality of Oracle TimesTen In-Memory Database Release 11.2.2 that are documented in this guide, providing links into the guide for more information.
A parallel load operation may take a long time to execute. You can cancel and cleanly stop all threads that are performing a parallel load operation with either the SQLCancel(
hstmt
)
ODBC function or by pressing Ctrl-C in the ttIsql utility. For more information, see "Use ttIsql to create a table and load SQL query results" and "Use TimesTen built-in procedures to recommend a table and load SQL query results".
TimesTen concurrently processes read and write queries optimally. Your read queries can be optimized for read-only concurrency when you use transaction level optimizer hints such as ttOptSetFlag ('tblLock',1)
or statement level optimizer hints such as /*+ tt_tbllock(1) tt_rowlock(0) */
. Write queries that operate concurrently with read optimized queries may result in contention. You can control read optimization during periods of concurrent write operations with the ttDbWriteConcurrencyModeSet
built-in procedure. For more information, see "Control read optimization during concurrent write operations".
By default, if an automatic recovery of the database is unsuccessful after a fatal error, TimesTen changes the always
and manual
RAM policies to InUse
to prevent reoccuring failures. You can now modify the default recovery process including preventing the RAM policy from changing with the -enablePolicyInactive
option in the ttendaemon.options
file. This option also stops the database from being reloaded. For details, see "Changes to RAM policy after automatic recovery fails".
When recovering a database, TimesTen reloads the database into memory. If the invalidated database still exists in memory, reloading the database can fill up available RAM. See "Preventing an automatic reload of the database after failure" on how to stop automatic reloading of the database with the ttAdmin -noautoreload
command.
You can hold off command invalidation for commands in the SQL command cache until all statistics are generated or until after major changes to tables or indexes are complete. Once complete, you can manually invalidate the commands with the ttOptCmdCacheInvalidate
built-in procedure. For more information, see "Control the invalidation of commands in the SQL command cache".
You can use the CREATE
[UNIQUE
] HASH
INDEX
statement to create a unique or non-unique hash index. For more information on creating hash indexes, see "Understanding indexes".
Historically, during transaction reclaim operations (the portion of a transaction where resources are cleaned up), a small number of the transaction log records have been cached to reduce the need to access the transaction log on disk. This helps only with relatively small transactions, however. To improve performance for large transactions as well, TimesTen has now added the CommitBufferSizeMax
connection attribute, which allows users to configure the size of the cache. See "Transaction reclaim operations" for details.
TimesTen provides built-in procedures that measure and display the execution time of SQL operations to determine the performance of SQL statements. Instead of tracing, the built-in procedures sample the execution time of SQL statements as they are executed. For full details, see "Collect and evaluate sampling of execution times for SQL statements".
You can use the ttStats
utility and TT_STATS
PL/SQL package to collect and display database metrics. You can evaluate the collected metrics to evaluate the performance of your TimesTen database. See "Use metrics to evaluate performance".
You can apply hints to pass instructions to the TimesTen query optimizer. The optimizer considers these hints when choosing the best execution plan for your query. In this release, you can apply a statement level optimizer hint for a particular SQL statement. For details, see "Apply statement level optimizer hints for a SQL statement".
You can configure a range for all shared memory keys used by TimesTen with the -shmkeyrange
daemon option. For details, see "Configuring a range for shared memory keys".
A new tool, the Index Advisor, can be used to recommend a set of indexes that could improve the performance of a specific SQL workload. For more details, see "Using the Index Advisor to recommend indexes".
You can generate a SQL script with the ttOptStatsExport
built-in procedure from which you can restore the table statistics to the current state. For more information, see "Create script to regenerate current table statistics".
New tools have been added that enable you to load the results of a SQL query from a back-end Oracle database into a single table on TimesTen without creating a cache grid, cache group, and cache table to contain the results. TimesTen provides the tools that execute a user provided SELECT
statement on the Oracle database and load the result set into a table on TimesTen. For more information, see "Loading data from an Oracle database into a TimesTen table".
You can defragment a TimesTen database with the ttMigrate
utility. For full details, see "Defragmenting TimesTen databases".
To defragment multiple databases with minimal overall service downtime, use a combination of the ttMigrate
and ttRepAdmin -duplicate
utilities to defragment TimesTen databases that are involved in an active standby pair replication scheme. For details, see "Online defragmentation of TimesTen databases".
You can now declare, use, and set bind variables within ttIsql
with the variable
and setvariable
commands. In addition, automatic bind variables can also be created. See "Using, declaring, and setting variables" for more details.
You can cancel an ODBC function with Ctrl-C. See "Canceling ODBC functions" for more details.
Use the WHENEVER SQLERROR
command to control error recovery within ttIsql
. For more details, see "Error recovery with WHENEVER SQLERROR".
Use the IF-THEN-ELSE
command construct to implement conditional branching logic in a ttIsql
session. See "Conditional control with the IF-THEN-ELSE command construct" for more details.
It is important to verify at frequent intervals that there are no transaction log holds that could result in an excessive accumulation of transaction log files. If too many transaction log files accumulate and fill up available disk space, new transactions in the TimesTen database cannot begin until the transaction log hold is advanced and transaction log files are purged by the next checkpoint operation. See "Monitoring accumulation of transaction log files" for more details.
The LOB data type is now supported. See "SQL string and character functions" for more details.
Range indexes used to be referred to as T-tree indexes. Now all output and commands use range as the identifying terminology. In "Viewing and changing query optimizer plans", the showplan
command now takes tryrange
and trytmprange
as options and the output for the query plan shows range indexes, such as TmpRangeScan
.
There is a new tablesize
command within ttIsql
that shows the actual sizes of tables within the TimesTen database. For full details, see "Using the ttIsql tablesize command".