TimesTen内存数据库-第七章 在RAC环境中实现Cache Connect

第七章 在RAC环境中实现Cache Connect

这章将讨论怎样在RAC环境中实现Cache Connect to Oracle。java

在RAC环境中Cache Connect怎样工做

Oracle Real Application Clusters (RAC)可以使多个Oracle实例使用共享资源访问一个数据库,共享资源包括驻留在簇共享磁盘上全部的数据文件、控制文件、PFILE和重作日志文件。在提供高性能的同时,RAC处理连续的读/写和加载平衡。sql

Fast Application Notification (FAN)是一个与Oracle Call Interface (OCI) in Oracle Database 10g Release 2结合使用的RAC特性。FAN发布关于簇上变化的信息给订阅FAN事件的应用。FAN将排除以下的下降效率的行为:数据库

• 当服务被关闭时的试图链接express

• 当服务被关闭时的试图完成事务的进程缓存

• 等待TCP/IP终止服务器

不使用FAN,Cache Connec可能要花费数分钟来接收一个Oracle失败的通知。oracle

Transparent application failover (TAF)是一个Oracle Net Services的特性,以使能够指定失败之后须要应用怎样进行从新链接。Cache Connect将OCI结合FAN使用来接收Oracle事件的通知。OCI应用可使用下列类型之一的Oracle Net失败功能:app

• 会话:若是一用户的链接丢失,一个新的会话将自动为用户建立。此失败的类型不会试图恢复选择。异步

• 选择:此失败的类型可使用户在失败之后使用打开游标来继续在里面取值。async

• 无:这是缺省值。不使用失败功能。也能够显式指定来防止失败的产生。

Cache Connect可以很快地从Oracle失败中恢复过来,而不须要用户的干预。Cache Connect能够与Oracle Database 10g Release 2 server一块儿用于RAC环境。Oracle客户端能够是Oracle9i Release 2或Oracle Database 10g Release 2。

Cache Connect的行为将依赖于TAF的动做和TAF是怎样配置的。RACCallbackCache Connect属性缺省地注册TAF和FAN回叫。若是不须要TAF和FAN可用,则在链接串中设置RACCallback为0。

表 7.1 显示在使用不一样的TAF失败类型的RAC环境中Cache Connect特性和操做的行为。这些行为与Oracle9i Release 2和Oracle Database 10g Release 2客户端同样,除了当Oracle Database 10g Release 2中FAN被激活时,Cache Connect将当即接收到节点失败的通知。

表 7.1 在RAC环境中Cache Connect特性和操做的行为

特性或操做

TAF失败类型

在链接到Oracle数据库失败后Cache Connect的行为

Autorefresh

缓存代理将自动关闭、重启和等待,直到能够创建到Oracle服务的链接。此行为与Cache Connect to Oracle release 6.0.1和非RAC环境中的Cache Connect中的同样。

Autorefresh

Session

将发生下列情形之一:

• 全部失败的链接将恢复。正在进行中的Autorefresh操做将被回滚并重试。

• 若是TAF时间已到或不能恢复链接,则缓存代理将自动关闭、重启和等待,直到能够创建到Oracle服务的链接。此行为与Cache Connect to Oracle release 6.0.1和非RAC环境中的Cache Connect中的同样。

Autorefresh

Select

将发生下列情形之一:

• Autorefresh将从链接失败点继续从新开始。

• 正在进行中的Autorefresh操做将被回滚并重试。

•若是TAF时间已到或不能恢复链接,则缓存代理将自动关闭、重启和等待,直到能够创建到Oracle服务的链接。此行为与Cache Connect to Oracle release 6.0.1中的同样。

Passthrough、

SWT、propagate和flush

通知应用链接丢失并必须回滚TimesTen链接。在下一次passthrough操做期间,Cache Connect试图从新链接到Oracle数据库。全部被修改的会话属性会丢失。此行为与Cache Connect to Oracle release 6.0.1和非RAC环境中Cache Connect中的同样。

Passthrough、

SWT、propagate和flush

Session

将发生下列情形之一:

• 将恢复到Oracle数据库的链接。若是在丢失的链接上有打开的游标、DML或锁定操做,则会产生一个错误,而且用户必须回滚事务。不然用户能够继续而不使用回滚。

• 若是TAF时间到或不能恢复链接,通知应用链接丢失并必须回滚TimesTen链接。在下一次passthrough操做期间,Cache Connect试图从新链接到Oracle数据库。全部被修改的会话属性会丢失。此行为与Cache Connect to Oracle release 6.0.1和非RAC环境中Cache Connect中的同样。

Passthrough

Select

将恢复到Oracle数据库的链接。若是在丢失的链接上有打开的游标、DML或锁定操做,则会产生一个错误,而且用户必须回滚事务。不然用户能够继续而不使用回滚。

SWT、

Propagate、

和flush

Select

将发生下列情形之一:

• 将恢复到Oracle数据库的链接。若是在丢失的链接上有DML或锁定操做,则会产生一个错误,而且用户必须回滚事务。不然用户能够继续而不使用回滚。

• 若是TAF时间到或不能恢复链接,通知应用链接丢失并必须回滚TimesTen链接。在下一次passthrough操做期间,Cache Connect试图从新链接到Oracle数据库。全部被修改的会话属性会丢失。此行为与Cache Connect to Oracle release 6.0.1和非RAC环境中Cache Connect中的同样。

Load和

refresh

应用将收到一个链接丢失的错误。

Load和

refresh

Session

将发生下列情形之一:

• 加载成功。

• 返回一个错误,报告Oracle取值不能执行。

Load和

refresh

Select

将发生下列情形之一:

• 若是Oracle游标被打开,而且游标被恢复或Oracle游标没有被打开,则加载成功。

• 若是TAF不能恢复会话或打开Oracle游标,则返回一个错误。

注意:返回错误的可能性小于TAF失败类型是Session。

AWT

AWT的复制接收线程存在。产生一个新线程并试图链接到Oracle数据库。

AWT

Session、

select

将发生下列情形之一:

• 若是链接被恢复而且在链接上有未提交的DML操做,则批量操做或事务将被回滚并从新执行。

• 若是链接被恢复而且在链接上无未提交的DML操做,则工做继续。

在RAC环境中使用Cache Connect的限制

能够为下列Oracle客户端和服务器的版本在RAC环境中使用Cache Connect to Oracle:

• Oracle Database 10gRelease 2。若是客户端和服务器的版本都是Oracle Database 10gRelease 2,则只能使用FAN。

• Oracle Database 10g Release 1

• Oracle9i Release 9.2

对于每一个版本,要使用Oracle客户端最近的版本。

Cache Connect支持的RAC有下列限制:

• Cache Connect的行为被限制为使用RAC、FAN和TAF的能力。例如,若是服务全部的节点失败,服务将不会重启。Cache Connect将等待用户来从新启动服务。

• TAF不会恢复ALTER SESSION操做。由用户负责在失败以后恢复改变了的会话属性。

• Cache Connect结合FAN事件使用Oracle Client Interface (OCI)。此接口自动产生一个线程来等待一个Oracle事件。在一个直接链接的TimesTen应用中产生一个线程只是TimesTen的特性。建修改ODBC应用以解决此线程的建立。若是不须要额外的线程,设置RACCallbackCache Connect属性为0。则将不会使用TAF和FAN。

在RAC环境中安装Cache Connect

安装Cache Connect和RAC。确保缓存管理用户在s Oracle GV$SESSION动态执行视图上有SELECT权限。

有两个TimesTen环境变量控制TAF超时设置:

• TT_ORA_FAILOVER_TIMEOUT:TAF以分钟数为用户应用(SWT缓存集合、使用propagate选项的缓存集合和使用passthrough特性的缓存集合)进行超时设置。缺省值是5分钟。

• TT_AGENT_ORA_FAILOVER_TIMEOUT:TAF以分钟数为复制代理(对于AWT缓存集合)进行超时设置。缺省值为5小是。

下列Oracle组件也必须启动:

• Oracle实例

• Oracle监听器

• 将用于Cache Connect的Oracle服务

而后执行下列任务:

1. 核实RACCallback链接属性被设置为1(缺省值)。

2. 使用DBMS_SERVICE.MODIFY_SERVICE Oracle PL/SQL包或Oracle Enterprise Manager以使能够进行FAN事件的发布。这将改变Oracle ALL_SERVICES视图的AQ_HA_NOTIFICATIONS列为YES。(这将应用到Oracle Database 10g Release 2客户端。)

3. 经过下列方式之一使得在服务上可以使用TAF:

• 在Oracle tnsnames.ora文件中使用下列字符为Cache Connect建立一个服务:

– LOAD_BALANCE=ON (选项)

– FAILOVER_MODE=(TYPE=SELECT)或FAILOVER_MODE=(TYPE=SESSION)

• 使用DBMS_SERVICE.MODIFY_SERVICE来设置TAF失败类型。

4. 若是应用是一个ODBC直接链接应用,使用一个线程库进行链接,以使它可以接收FAN通知。FAN将产生一个线程来监视失败。(这将应用到Oracle Database 10g Release 2客户端。)

第八章TimesTen和Oracle之间的兼容性

这章将列出TimesTen和Oracle之间的兼容性问题。此列表不完整,但它包括须要特别注意的地方。

注意:TimesTen不支持Oracle Call Interface (OCI)。

兼容性问题总结

考虑下面TimesTen和Oracle之间的不一样:

• TimesTen和Oracle数据库的元数据保存不一样。

• TimesTen和Oracle有不一样的事务隔绝模式。

• TimesTen和Oracle有不一样的链接和语句属性。例如,timesTen不支持目录名、滚动游标或更新游标。

• 对于ROWID,TimesTen和Oracle不一样的类型和长度。TimesTen 不支持Oracle ROWID数据类型。

• Sequence不会被缓存,而且在缓存和Oracle数据库之间不一样步。

• 触发器和过程的做用不会传送到缓存中,直到一个AUTOREFRESH操做或手工REFRESH CACHE GROUP操做以后。

• 在缓存集合中不支持XA和JTA API。

关于Oracle客户端/服务器版本的Cache Connect支持

Cache Connect to Oracle不防碍全部支持的Oracle客户端/服务器相互联合协调工做的配置。例如,在TimesTen服务的机器上Cache Connect使用9.2.0.8 Oracle客户端安装并链接到不一样服务器上的10.2.0.3 Oracle数据库是被支持的。用户应该检查Metalink Documentation Note 207303.一、“Client/Server/Interoperability Support Between Different Oracle Versions”中关于当前Oracle客户端/服务器支持的配置信息。用户也应该检查关于交互问题的Oracle和TimesTen版本注意事项。

事务的意义

TimesTen和Oracle的事务意义的不一样以下:

• Oracle链接的事务在提交时可能失败,由于事务不能被连续化。而TimesTen将使用锁来强制进行连续的事务。

• Oracle用户能够经过显式的SQL来锁定表。此锁定特征在TimesTen中不支持。

• Oracle支持保存点。而TimesTen不支持。

• 在Oracle中,事务能够被设置为只读读/写。这在TimesTen中也是不支持的。

JDBC兼容性

应用到JDBC的兼容性问题包括以下:

• JDBC数据库元数据函数返回TimesTen元数据。若是须要Oracle元数据,可使用带有PassThrough属性的Cache Connect或直接链接到Oracle数据库。

设置/获得链接和语句属性将在TimesTen上。

• 全部Oraclejava.sql.ResultSet元数据(长度、类型、标签)将以TimesTen数据类型长度返回。返回的列标签也是TimesTen列标签。

• 对于java.sql.CallableStatement方法的输出参数(OUT和INOUT),在TimesTen中不被支持。

• 不支持Oracle扩展(oracle.sql和oracle.jdbc包)。

• 在TimesTen中不支持Java存储过程。

注意:TimesTen不支持语句的异步执行,也不支持从一个不一样的线程取消一条执行语句。

java.sql.Connection

下面的Connection方法没有兼容性问题:

close

commit

createStatement

setAutoCommit

prepareCall

prepareStatement

rollback

下面的方法在本地TimesTen中被执行:

getCatalog

getMetaData

get/setTransactionIsolation

isReadOnly

isClosed– 只返回TimesTen链接状态

nativeSQL

setCatalog

setReadOnly

java.sql.Statement

下面的Statement方法有兼容性问题:

close

execute

executeUpdate

executeQuery

getResultSet

getUpdateCount

getWarnings

executeBatch

clearBatch

addBatch

下面的方法在本地的TimesTen中执行:

get/setMaxFieldSize

get/setMaxRows

get/setQueryTimeout

getMoreResults

setEscapeProcessing

setCursorName

cancel

java.sql.ResultSet

下面的ResultSet方法没有兼容性问题:

close

findColumn(int) 和findColumn(string)

getXXX(number) 和getXXX(name)

getXXXStream(int) 和getXXXStream(string)

getMetaData

java.sql.PreparedStatement

下面的PreparedStatement方法没有兼容性问题:

execute

executeUpdate

executeQuery

setXXX

setXXXStream

close

getResultSet

getUpdateCount

addBatch

下面的方法在本地TimesTen中执行:

get/setMaxFieldSize

get/setMaxRows

get/setQueryTimeout

getMoreResults

setEscapeProccessing

setCursorName

cancel

java.sql.CallableStatement

与显示在java.sql.Statement和应用到CallableStatementjava.sql.PreparedStatement接口有相同的限制。另外,使用任何输出形态的CallableStatement都不被支持。全部参数都被做为输入参数。没有输出参数的Callablestatement可能在准备时返回一个错误,经过registerOutparameter返回错误或应用可能获得非预期的结果。

• 在一个WRITETHROUGH缓存集合中,若是PassThrough=1,则隐藏在存储过程当中或经过触发器产生的间接DML操做可能被传送,但没有被Cache Connect to Oracle发现。

• 从READONLY缓存集合进行更新的、插入或删除的存储过程将在另外一个异步方式的事务中被自动刷新。所以在存储过程被执行的相同事务中将不会出现变化,而且在自动刷新到缓存表以前,会有一段时间间隔。

java.sql.ResultSetMetadata

下面ResultSetMetadata方法没有兼容性问题:

getColumnCount

getColumnType

getColumnLabel

getColumnName

getTableName

isNullable

下面的方法在本地的TimesTen中执行:

getSchemaName

getCatalogName

getColumnDisplaySize

getColumnType

getColumnTypeName

getPrecision

getScale

isAutoIncrement

isCaseSensitive

isCurrency

isDefinitelyWritable

isReadOnly

isSearchable

isSigned

isWritable

Stream support

兼容性问题相关的流是:

• JDBC驱动器在调用executeQuerynext方法时将数据彻底取出并放入到内存缓冲区。getXXXStream条目指针返回今后缓冲区读数据的流。

• Oracle支持最大到2GB的long或long raw数据。

• Oracle老是long/long raw数据流,即便应用没有调用getXXXStream

• TimesTen没有close方法。当它移动到下一行时,将使stream流无效。当移动到下一列时,Oracle将关闭流。

• TimesTen不支持markmarkSupportedreset方法。

ODBC兼容性

下表列出ODBC 2.5 API调用和指出函数是否有兼容性问题。

函数

兼容性

SQLAllocConnect

-

SQLAllocEnv

-

SQLAllocStmt

-

SQLBindCol

-

SQLBindParameter

当一条SQL语句有相同的参数名时,TimesTen认为它们是相同参数的屡次出现,不容许它们分别绑定。Oracle认为它们是不一样的参数,并容许它们分别绑定。

SQLBrowseConnect

不支持

SQLCancel

TimesTen不支持语句的异步执行,而且不支持从一不一样的线程来取消一条执行语句。

SQLColAttributes

-

SQLColumnPrivileges

不支持

SQLColumns

元数据函数从TimesTen表返回元数据。

SQLConnect

-

SQLDataSource

-

SQLDescribeCol

-

SQLDescribeParam

-

SQLDisconnect

-

SQLDriverConnect

-

SQLDrivers

-

SQLError

是TimesTen错误的本地错误码。用户能够接收到通常错误如“execution at Oracle failed, Oracle error codennn.”。

SQLExecDirect

-

SQLExecute

-

SQLExtendedFetch

不支持

SQLFetch

-

SQLForeignKeys

元数据函数从TimesTen表返回元数据。

SQLFreeConnect

-

SQLFreeEnv

-

SQLFreeStmt

-

SQLGetConnectOption

-

SQLGetCursorName

TimesTen支持get/set游标名,但不支持游标delete/update语句。

SQLGetData

-

SQLGetFunctions

-

SQLGetInfo

-

SQLGetStmtOption

-

SQLGetTypeInfo

元数据函数从TimesTen表返回元数据。

SQLMoreResults

不支持

SQLNativeSql

-

SQLNumParams

-

SQLNumResultCols

-

SQLParamData

-

SQLParamOptions

-

SQLPrepare

-

SQLPrimaryKeys

元数据函数从TimesTen表返回元数据。

SQLProcedureColumns

元数据函数从TimesTen表返回元数据。

SQLProcedures

元数据函数从TimesTen表返回元数据。

SQLPutData

-

SQLRowCount

-

SQLSetConnectOption

设置函数设置TimesTen选项或元数据。

SQLSetCursorName

设置函数设置TimesTen选项或元数据。

SQLSetPos

不支持

SQLSetScrollOptions

不支持

SQLSetStmtOption

设置函数设置TimesTen选项或元数据。

SQLSpecialColumns

元数据函数从TimesTen表返回元数据。

SQLStatistics

元数据函数从TimesTen表返回元数据。

SQLTablePrivileges

不支持

SQLTables

元数据函数从TimesTen表返回元数据。

SQLTransact

-

SQL兼容性

这部分比较TimesTen的SQL与Oracle的SQL的执行。目的是提供用户一个在TimesTen中不支持或使用不一样意义支持的Oracle SQL特性的列表。这部分比较Oracle Database 10g Release 2和Oracle TimesTen In-Memory Database 7.0.0.0.0。

计划对象

TimesTen不认可一些Oracle中支持的计划对象。当语句操做或使用这些对象并传送到Oracle时,TimesTen将返回一个语法错误。不支持的对象是:

• 与存储过程相关的对象

– 存储过程

– 存储函数

– 包

– 触发器

• 访问控制对象

– 角色

– 外形

– 上下文

• 存储管理特性

– 簇

– 表空间

–回滚段

– CREATE/DROP DATABASE语句

– 数据库链节

– 目录

– 分区

• 扩展特性

– 扩展程序库

– Object表

– Object类型

– Object视图

TimesTen支持视图和物化视图,但不支持缓存Oracle视图。当TimesTen中没有相同的本地对象名时,包括视图和物化视图的语句将传送到Oracle。

Oracle和TimesTen表之间的差别

一些TimesTen不支持的Oracle特性是:

• ON DELETE SET NULL

• 约束检查

数据类型支持

下列Oracle数据类型不被TimesTen支持:

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH LOCAL TIME ZONE

INTERVAL YEAR TO MONTH

INTERVAL DAY TO SECOND

ROWID

UROWID

CLOB

NCLOB

BLOB

BFILE

REF

“Any”类型

XML类型

Spatial类型

Media类型

下列TimesTen数据类型不被Oracle支持:

TT_TINYINT

TT_SMALLINT

TT_INTEGER

TT_BIGINT

TT_VARBINARY

注意:TimesTen NCHAR/NVARCHAR2数据类型将被编译为UTF-16。Oracle NCHAR/NVARCHR2将被编译为UTF-16或UTF-8。

SQL操做符

TimesTen支持这些Oracle操做符和动词:

一元数的 -

+, -, *, /

=, <, >, <=, >=, <>=

| |

IS NULL, IS NOT NULL

LIKE(Oracle LIKE操做符将忽略后面的空格,但TimesTen不会。)

BETWEEN

IN

NOT IN (list)

AND

OR

+(外链接)

ANY、SOME

ALL (list)

EXISTS

UNION

MINUS

INTERSECT

SQL函数

TimesTen支持这些Oracle函数:

ABS

ADD_MONTHS

AVG

CEIL

COALESCE

CONCAT

COUNT

DECODE

EXTRACT

FLOOR

GREATEST

INSTR

LEAST

LENGTH

LPAD

LTRIM

MAX

MIN

MOD

NUMTOYMINTERVAL

NUMTODSINTERVAL

NVL

POWER

ROUND

RPAD

RTRIM

SIGN

SQRT

SUBSTR

SUM

SYSDATE

TO_DATE

TO_CHAR

TO_NUMBER

TRIM

TRUNC

SQL表达式

TimesTen支持这些Oracle表达式:

• 列引用

• Sequence

• NULL

• ()

• 绑定参数

• 计算表达式

• CAST

SQL子查询

TimesTen支持Oracle子查询:

• IN(子查询)

• >,<,= ANY(子查询)

• >,=,< SOME(子查询)

• EXISTS(子查询)

• >,=,< (分级子查询)

• 在DELETE/UPDATE的WHERE子句中

• 在FROM子句中

注意:一个“单行结果集”的非验证分级子查询直到执行时才能被确认。TimesTen容许在整个查询中至多只能有一个非验证分级子查询,而且子查询不指定在OR表达式中。

SQL查询

TimesTen支持这些查询:

• FOR UPDATE

• ORDER BY

• GROUP BY

• 表别名

• 列别名

Oracle支持闪回查询,以查询数据库一些之前状态(例如,查询昨天的一个表)。TimesTen不支持闪回查询。

INSERT/DELETE/UPDATE语句

TimesTen支持这些Oracle DML语句:

• INSERT INTO ... VALUES

• INSERT INTO ... SELECT

• UPDATE WHERE expression(expression能够包含子查询)

• DELETE WHERE expression(expression能够包含子查询)

• MERGE(TimesTen不支持ODBC批量执行MERGE语句)

只用于TimesTen的SQL和内部程序

这部分列出Oracle不支持的TimesTen SQL语句和内部程序。使用PassThrough= 3时,这些语句将被传送到Oracle并产生一个错误。

• 全部TimesTen缓存集合DDL和DML语句,包括CREATE CACHE GROUP、DROP CACHE GROUP、ALTER CACHE GROUP、LOAD CACHE GROUP、UNLOAD CACHE GROUP、FLUSH CACHE GROUP和REFRESH CACHE GROUP语句。

• 全部TimesTen复制管理DDL语句,包括CREATE REPLICATION、DROP REPLICATION、ALTER REPLICATION、CREATE ACTIVE STANDBY PAIR、ALTER ACTIVE STANDBY PAIR和DROP ACTIVE STANDBY PAIR语句。

• 全部TimesTen内部程序。

其它SQL问题

• Oracle ROWID数据类型是假的ROWID。TimesTen的ROWID数据类型是BINARY(16)。它们的长度不一样。

• PL/SQL是一种Oracle语言,并不被TimesTen支持。

• Oracle内部优化内含在SQL注释中。TimesTen使用内部程序来设置内部优化。

• Oracle和TimesTen的系统表不一样。

• TimesTen不支持Oracle INSERT、UPDATE和DELETE语句中的RETURNING子句。

• Oracle存储函数可能经过输出参数返回游标引用或返回值。TimesTen不支持这种特性。

• 当一条SQL语句有相同的名字的参数时,TimesTen认为它们是相同参数的重复出现,而且不容许对它们进行分别绑定。Oracle则认为它们是不一样的参数并容许分别绑定。

术语表

age out

在一个指定的时间周期以后(基于时间)或当数据的使用已经达到指定的水平(基于使用),将从缓存集合中删除缓存实例。

asynchronous writethrough cache group

TimesTen中一个缓存集合中的数据被更新,并异步的传送到Oracle。

autorefresh

Oracle上的更新经过Oracle触发器的手段被自动地传送到TimesTen缓存集合。

AWT cache group

同asynchronous writethrough cache group。

bidirectional propagation

为了将Oracle或TimesTen缓存集合中的更新拷贝到另外一方。

cache agent

一个TimesTen进程以保证缓存集合的操做,如AUTOREFRESH和COMMIT EVERYnROWS。

cache group

将Oracle表中的数据缓存到一个TimesTen数据存储中。缓存集合能够建立来缓存一个单表的全部或部分,或是缓存一个Oracle相关联的表集。若是缓存了多个Oracle表,则缓存集合中的每一个表必须与缓存集合中另外一个表经过一对多相关联。

cache group primary key

缓存集合中根表的主键。

cache instance

由缓存集合根表中的主键指定的数据中一指定的行。若是缓存集合中有多个表,则缓存实例由经过外键与根表中行关联的相关的行集组成。

cache instance key

根表中指定行的主键,用来肯定根表的行和缓存集合子表中引用根表此行的全部子表行。

child table

缓存集合中有一个引用根表主键的外键或引用另外一个直接或间接引用根表的子表主键的外键的表。缓存集合中表的层次能够指定子表是另其它子表的父表。缓存集合中不能有多个父表的子表。

flush

为了将缓存集合中的插入或更新从TimesTen拷贝到Oracle。

load

为了从Oracle只拷贝新实例。不会更新或删除缓存中已经存在实例。

propagate

为了在Oracle和TimesTen缓存集合之间拷贝数据。

refresh

为了使用最近的Oracle数据来替换TimesTen缓存集合中全部的缓存实例。

replication

在多个数据存储中保持数据的副本拷贝的过程。

replication agent

经过一个replication agent来控制在每一个主和从数据存储的复制。在主数据存储上的复制代理来从事务日志读记录并向前查找全部改变以复制到从数据存储上的复制代理。从数据存储上的复制代理而后将更新应用到它的数据存储中。

root table

缓存集合中的主表不经过外键约束来引用缓存集合中的任何其它表。根表的主键就是缓存集合的主键。

synchronous writethrough cache group

一个缓存集合中缓存数据在TimesTen中被更新,而且同步地传送到Oracle。

system-managed cache group

System-managed cache group强制指定行为。系统管理缓存集合是READONLY、SYNCHRONOUS、WRITETHROUGH和ASYNCHRONOUS WRITETHROUGH。

READONLY缓存集合强制地将Oracle表中的更新经过AUTOREFRESH机制应用到TimesTen。不能在READONLY缓存集合中直接更新表。

ASYNCHRONOUS WRITETHROUGH (SWT)缓存集合强制将TimesTen中缓存数据的更新传送到Oracle。当应用提交事务时,在向TimesTen提交以前向Oracle提交。

ASYNCHRONOUS WRITETHROUGH (AWT)缓存集合的强制缓存行为与SWT缓存集合相同,即TimesTen中缓存数据的更新被传送到Oracle,但TimesTen提交的发生与Oracle提交不一样步。

user-managed cache group

一个user-managed cache group实现自定义行为,如双向传送。

unload

为了从缓存集合中删除一此或全部缓存实例。