`
hua04104
  • 浏览: 248715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

TimesTen for Windows 使用指南(4) Cache Connect

 
阅读更多
下面介绍在Windows平台上,TimesTen如何通过Cache Connect访问Oracle。如果试验的时候,Oracle是和TimesTen在同一台机子上,则不用过多的配置。如果Oracle和 TimesTen不在同一台机子上,则必须安装Oracle的客户端程序,目前TimesTen支持的Oracle客户端如下:

Oracle 10g Release 2 (Oracle 10.2.0.1.0 or above)
Oracle 10g Release 1 (Oracle 10.1.0.5.0 or above)
Oracle 9i Release 2 (Oracle 9.2.0.8.0 or above)

不管通过哪种Oracle模式,首先必须启动Oracle数据库以及listener。

D:\>oradim -startup -sid orcl -syspwd welcome
D:\>lsnrctl

并能成功地通过和TimesTen在同一台服务器上的SqlPlus来成功访问Oracle,才算Oracle配置好。

由于Cache Connect访问Oracle的时候,必须有一个用户在TimesTen和Oracle中是一样的,通过这个用户登录TimesTen之后,然后 Cache Connect的底层通过这个用户去和Oracle通讯,来进行数据的两边同步。在前面我们已经创建了用户tt,那么现在在oracle中,我们也创建同样的用户tt,并授予相应的Oracle权限。

sqlplus / as sysdba
SQL> CREATE USER tt IDENTIFIED BY tt;
SQL> GRANT connect, resource, create any trigger TO testuser;
SQL> COMMIT;
SQL> EXIT

现在到控制面板–>ODBC数据源管理–>系统DSN–>test,双击之后,点击General Connection页,在User Id这一栏填上tt,如下:




然后再点击Cache Connect页,看到Oracle User ID已经填上了tt,且不能被修改了,这是因为这个用户名必须和TimesTen中的一样。在Oracle ID一栏填上Oracle的Service Name,在Oracle Password一栏填上对应的密码。如下图所示:




点击确定即可。现在用tt用户登录Oracle数据库,并创建测试用的表

SQL> connect tt/tt@orcl
已连接。
SQL> create table test(a int primary key, b char(10));
表已创建。
SQL> insert into test values(1,’aaa’);
已创建 1 行。
SQL> insert into test values(2,’bbb’);
已创建 1 行。
SQL> commit;
提交完成。
SQL>


用ttisql登录到test数据源,设置好cacheuidpwd,启动cache agent,并创建只读的cache group,如下:

D:\>ttisql test
Copyright (c) 1996-2008, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
All commands must end with a semicolon character.

connect "DSN=test";
Enter password for ‘tt’:
Connection successful: DSN=test;UID=tt;DataStore=C:\TimesTen\ds\test;DatabaseCha
racterSet=ZHS16GBK;ConnectionCharacterSet=US7ASCII;DRIVER=C:\TimesTen\tt70_32\bi
n\ttdv70.dll;OracleId=orcl;TypeMode=0;
(Default setting AutoCommit=1)
Command> call ttcacheuidpwdset(’tt’,'tt’);

这一步的前提必须设置系统环境变量TNS_ADMIN:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN  ,在这个文件夹里有tnsnames.ora文件。另外要设置oracle的用户tt具有DBA权限。

Command> call ttcachestart;

在此之后要创建一个cache grid,只有cache grid的第一个数据库成员需要执行这个操作。注意,只有cache manager user能创建和管理cache grid,一个cache database只能属于一个cache grid,然后可以使用过程ttgridinfo来检查是否创建成功。在创建cache grid前,要先创建表空间,然后建timesten用户,操作创建grid才不会报错。

创建一个新的表空间:创建一个单独的表空间来管理缓存到timesten 的对象
SQL>create tablespace timesten datafile 'D:\oracle\product\10.2.0\oradata\orcl\timesten.dbf' size 50m;

创建timesten 用户:运行initCacheGlobalSchema.sql脚本来创建用户,这用户拥有存储cache grid 和grid member信息的表。这个脚本在%TimesTen_install_dir%/oraclescripts 目录下。
SQL>@c:\TimesTen\tt1121_32\oraclescripts\initCacheGlobalSchema "timesten";

Command> call ttGridCreate('myGrid');

Command> call ttGridNameSet('myGrid');

Command> create readonly cache group read
>  autorefresh interval 5 seconds
>  from test
> (a int primary key, b char(10));

Command>

这里要说明的是,如果前面创建test的时候的字符集和Oracle数据库中的字符集不一样的话,就会报错而不能登录。这时候要统一两者的字符集,为方便起见,修改test数据源的字符集。首先必须destroy掉test数据源(通过控制台命令ttdestroy test完成),因为字符集是在数据源创建的时候起作用的,所以只能destroy掉,然后在ODBC数据源管理中修改test数据源的字符集,使得它和 Oracle的一样,然后执行上面的步骤即可。

注:在使用destroy时,此操作只有admin用户才能操作,建立的用户tt是不能完成此操作的,此时必须清空之前操作的ODBC数据源中填入的用户名tt,使其默认使用admin用户连接ODBC进行操作。操作完成后C:\TimesTen\ds文件夹相应的文件会被删除,重新建立数据源后会重新建立。

创建完之后可以通过cachegroups命令检查一下,并通过load加载初始化数据:

Command> cachegroups ;

Cache Group TT.READ:
  Cache Group Type: Read Only
  Autorefresh: Yes
  Autorefresh Mode: Incremental
  Autorefresh State: Paused
  Autorefresh Interval: 5 Seconds
  Root Table: TT.TEST
  Table Type: Read Only
1 cache group found.

Command> load cache group read commit every 10 rows;
2 cache instances affected.
Command> select * from test;
< 1, aaa        >
< 2, bbb        >
2 rows found.
Command>

此后,在Oracle数据库中插入到test表的数据,5秒钟之后都会被刷新到TimesTen中来,Cache Connect正常运转了。通过ttstatus命令可以看到cache agent已经启动:

D:\>ttstatus                                                             cache
TimesTen status report as of Wed Dec 24 23:28:50 2008                  
                                                                       
Daemon pid 284 port 17000 instance tt70_32                             
TimesTen server pid 3284 started on port 17002                         
TimesTen webserver pid 3360 started on port 17004                      
                                                                       
————————————————————————
Data store c:\timesten\ds\test                                         
There are 11 connections to the data store                             
Data store is in shared mode                                           
Shared Memory KEY Global\test.SHM.2 HANDLE 0×248                       
Type            PID     Context     Connection Name              ConnID
Cache Agent     3396    0×00b5d310  Handler                           2
Cache Agent     3396    0×00bccf18  Timer                             3
Cache Agent     3396    0×06591ce0  Aging                             4
Cache Agent     3396    0×06601260  ttora70                           5
Cache Agent     3396    0×06662fb8  ttora70                           6
Subdaemon       3120    0×006cc398  Worker                         2042
Subdaemon       3120    0×066d1170  Flusher                        2043
Subdaemon       3120    0×06700628  Checkpoint                     2044
Subdaemon       3120    0×0674f8b0  Aging                          2045
Subdaemon       3120    0×0679eb38  HistGC                         2046
Subdaemon       3120    0×067eded0  Monitor                        2047
Replication policy  : Manual                                           
Cache agent policy  : Manual                                           
TimesTen’s Cache agent is running for this data store                  
————————————————————————
Access control enabled.                                                
End of report                                                          
                                                                       
D:\>                                                                   

而且还多了一堆辅助的子线程。

至此每当oracle数据库中的数据更新后,5秒后timesten里德数据也会同步更新。

注:网上一些例子都是timesten7及之前版本的,在timesten11里并不适用,可参考官方文档:
http://download.oracle.com/docs/cd/E13085_01/doc/timesten.1121/e13073/gettingstarted.htm
分享到:
评论

相关推荐

    Oracle TimesTen 11.2.2.8.0 for Microsoft Windows x64 (64-bit).zip

    2. **下载与解压**:下载提供的"Oracle TimesTen 11.2.2.8.0 for Microsoft Windows x64 (64-bit).zip"文件,然后使用合适的解压缩工具将其解压到指定目录。 3. **阅读readme.html**:这个文件包含了重要的安装指南...

    timesten for windows and linux x64.rar

    【标题】"timesten for windows and linux x64.rar" 涉及的主要知识点是Oracle TimesTen In-Memory Database在Windows和Linux 64位操作系统上的安装与配置。TimesTen是一款高性能、实时的内存数据库系统,适用于需要...

    timesten系列五:如何定义cache,和后台oracle数据库同步数据

    4. **启动Cache Connect to Oracle管理员界面**: - 设置监听的TCP/IP端口。 - 访问URL:`http://localhost:17004/cache`。 通过以上步骤,即可完成Timesten与Oracle数据库之间的数据同步配置。这一过程不仅极大...

    timesten cache connect

    本指南主要介绍如何利用TimesTen Cache Connect技术在TimesTen内存数据库与Oracle数据库之间实现高效的数据交换。通过此指南,用户可以深入了解缓存组(cachegroups)的概念、数据交换机制以及如何快速设置并配置...

    Oracle TimesTen SQL 参考指南

    ### Oracle TimesTen SQL 参考指南 #### 关于Oracle TimesTen In-Memory Database Oracle TimesTen In-Memory Database是一款高性能的内存数据库系统,专为实时应用程序设计,旨在提供极低延迟的数据访问。它通过...

    Oracle TimesTen C 开发人员和参考指南.pdf

    ### 使用指南与技术支持 “关于本指南”部分提供了TimesTen文档的概览,建议了相关的背景阅读材料,并详细说明了在文档中使用的约定和术语,以便读者更好地理解和应用指南中的内容。对于遇到问题的用户,“技术支持...

    Oracle TimesTen API 和 SQL 参考指南

    - **关于此指南**:这部分简要介绍了文档的组织结构和使用指南,为读者提供了一个清晰的导航路径。 - **约定**:概述了文档中使用的术语和符号约定,帮助读者更好地理解和应用文档中的内容。 - **技术支持**:提供了...

    Oracle TimesTen 应用服务器配置指南

    ### Oracle TimesTen 应用服务器配置指南 #### 关于Oracle TimesTen In-Memory数据库与应用服务器 Oracle TimesTen是一款高性能的内存数据库系统,专为实时应用程序设计,它能够提供超低延迟的数据处理能力,适用...

    TimesTen for windows数据库安装及配置教程(图文详解包括详细错误解决方案)

    如何安装配置使用Timesten,并且实现自动更新oracle磁盘数据库中数据

    Oracle TimesTen API 参考指南

    通过深入理解 Oracle TimesTen API 参考指南中的数据存储属性及其用途,开发者能够更加熟练地掌握 TimesTen 的配置和使用技巧,从而构建出高性能、高可靠性的实时应用程序。这对于那些需要快速处理大量数据的业务...

    Oracle TimesTen操作指南

    4. **SQL支持**:TimesTen对标准SQL的支持程度,包括DML(数据操纵语言)和DDL(数据定义语言)操作,以及可能的扩展或限制。 5. **连接与客户端工具**:介绍如何使用各种工具(如SQL*Plus或其他第三方工具)连接到...

    TimesTen for java 开发指导手册

    # TimesTen for Java 开发指导手册 ## 关于 TimesTen In-Memory Database ### 背景介绍 TimesTen In-Memory Database 是一款专为高性能、低延迟的应用场景设计的内存数据库系统。它通过将数据存储在内存中来提供...

    Oracle TimesTen 开发指南

    C开发指南(C_dev.pdf)将深入探讨如何使用C语言与Oracle TimesTen进行交互。开发人员可以学习到如何利用TimesTen的API(如TimesTen C API)来创建、查询和管理数据库对象,如表、索引和触发器。C API允许程序员直接...

    timesten客户安装文档

    4. **安全设置**:安装程序建议限制对TimesTen安装的访问权限,仅允许特定的OS组成员进行直接模式连接和数据操作。默认情况下,该组是实例管理员的主组。 按照提示逐步进行,安装程序会创建所需的目录,解压缩文件...

    TimesTen配置及使用.pdf

    《TimesTen配置及使用》 TimesTen是一款由Oracle公司开发的高性能、内存中的关系型数据库管理系统,专为实时事务处理和分析而设计。它的主要特点在于其极快的数据处理速度,通过将数据存储在内存中,实现了亚毫秒级...

    Oracle TimesTen 操作指南.pdf

    Oracle TimesTen是一款高性能的内存数据库系统,由Oracle公司开发,主要...通过深入学习和实践《Oracle TimesTen 操作指南》,用户能够熟练掌握TimesTen的使用,充分利用其内存数据库的优势,为实时业务提供强大支撑。

    oracle timesten内存数据库文档

    该指南介绍了如何使用Cache Connect技术将TimesTen与Oracle数据库或其他外部数据源集成,实现快速缓存和数据同步。 8. **Oracle TimesTen Java Developer and Reference Guide**: 针对Java开发者,提供了关于...

    Oracle缓存连接——Timesten体系结构 .docx

    Oracle缓存连接——Timesten体系结构是一种优化数据库性能的技术,它通过在内存中缓存Oracle数据库的部分或全部数据来加速查询和...为了更全面地理解Timesten,查看专门的Cache Connect to Oracle文档将是十分有益的。

    TimesTen11.2 for Linux 64bit安装

    Oracle TimesTen11.22 For Linux setup scripts manual

Global site tag (gtag.js) - Google Analytics