A TimesTen cache grid provides a means to horizontally scale out cache groups across multiple systems with:
- read and write data consistency across the TimesTen databases
- and predictable latency for database transactions.
A database cache grid is a cluster of TimesTen in-memory databases that collectively manage an application's cache data using the relational data model.
A cache grid contains one or more grid members.
A grid member is either:
- a standalone TimesTen database
- or an active standby pair that consists of at least two replicated TimesTen databases.
A grid member is composed of one or two nodes.
Grid members can reside on the same system or on different systems. Each system must have the same:
- machine architecture,
- operating system version, platform and bit version.
- TimesTen major release number
A TimesTen database that is or is part of a grid member can contain:
- as well as explicitly loaded and dynamic cache groups.
Each database of a grid member is called a grid node. A node is a single TimesTen database that is either a standalone database, or the active database or standby database of an active standby pair.
Relationship / Association
A cache grid can be associated with only one Oracle database.
A TimesTen database can be a member of only one cache grid.
An Oracle database can be associated with more than one cache grid and each grid can be administered by a different cache administration user.
A cache grid has no association with other cache grids.
You can create a cache grid from:
- any of the standalone databases,
- or from either the active or standby database of the active standby pair.
A cache grid is created only once from any one of the grid members.
-- The procedure ttGridCreate creates a cache grid called "samplegrid". call ttGridCreate ('samplegrid'); commit;
You can also manually create a cache grid by running the initCacheGridSchema.sql script.
By default, you must associate a TimesTen database with a cache grid before you can create cache groups in that database. For backward compatibility, you can set the CacheGridEnable connection attribute to 0 so that you do not have to create a cache grid and associate the TimesTen database with the grid before cache groups can be created within that database.
Regardless of the setting of CacheGridEnable, you must create a cache grid and associate the TimesTen database with the grid before you can create global cache groups within that database.
All standalone databases, and the active and standby databases of the active standby pair must be associated with a cache grid before you can create cache groups within those databases.
-- ttGridNameset associates the current database to "samplegrid". call ttGridNameSet ('samplegrid'); COMMIT; -- The commit is normally not needed ...
Get Cache grid info
GRIDNAME CACHEADMINID PLATFORM MAJOR1 MAJOR2 MAJOR3 ---------------- -------------- -------------------- ------ ------ ----- DI_BISAMPLE_GRID CACHE_TT_ADMIN Linux x86-64, 64-bit 11 2 2
call ttGridInfo; call ttGridDestroy('samplegrid'); COMMIT; call ttGridInfo;
Oracle PROCESSES system parameter
If you are planning a grid with ten or more nodes, modify the PROCESSES Oracle system parameter. Use this guideline:
TT5907: The cache admin user id was not set
call ttGridInfo failed, TT5907: The cache admin user id was not set before performing the operation. Set the cache admin user id and password either through the built-in procedure ttCacheUidPwdSet or the utility ttAdmin and try again.
The cache admin user must be set in the timesten database.