(一)Timesten安装

一,安装timesten IMDB并测试

1. 创建数据库相关用户和组

  1. groupadd timesten
  2. useradd -g timesten -G dba timesten
  3. passwd timesten

2. 创建相关目录

  1. mkdir /etc/TimesTen
  2. chmod 775 /etc/TimesTen
  3. chown timesten:timesten /etc/TimesTen
  4. mkdir /u01/app/timesTen
  5. chmod 775 /u01/app/timesTen
  6. chown timesten:timesten /u01/TimesTen

3. 切换到timesten用户,设置环境变量

  1. [[email protected] ~]# su - timesten
  2. [[email protected] ~]$ vi .bash_profile 
  3. export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
  4. export TIMESTEN=/opt/timesten/TimesTen/tt1122
  5. # .bash_profile
  6. # Get the aliases and functions
  7. if [ -f ~/.bashrc ]; then
  8.         . ~/.bashrc
  9. fi
  10. # User specific environment and startup programs
  11. PATH=$PATH:$HOME/bin
  12. export PATH
  13. PATH=$PATH:$HOME/bin
  14. export ORACLE_BASE=/u01/app/oracle11g
  15. export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
  16. export ORACLE_SID=db11
  17. export TIMESTEN=/u01/app/timesten/TimesTen/tt1122
  18. export LD_LIBRARY_PATH=$TIMESTEN/lib:$ORACLE_HOME/lib
  19. export PATH=$TIMESTEN/bin:$ORACLE_HOME/bin:$PATH:$HOME/bin
  20. export TNS_ADMIN=$ORACLE_HOME/network/admin
  21. unset USERNAME
  22. export PATH

4. 上传软件,并修改软件的用户和属组,切换到timesten用户

  1. [[email protected] timesten]# su - timesten
  2. [[email protected] ~]$ gzip -d timesten112280.linux8664.gz 
  3. [[email protected] ~]$ ls -l
  4. total 344792
  5. -rw-r--r-- 1 timesten timesten 353064960 May 28 2015 timesten112280.linux8664
  6. [[email protected] ~]$ ls -l
  7. total 344792
  8. -rw-r--r-- 1 timesten timesten 353064960 May 28  2015 timesten112280.linux8664
  9. [[email protected] ~]$ tar -xvf timesten112280.linux8664
  10. linux8664/
  11. linux8664/uninst.sh
  12. linux8664/install.pl
  13. linux8664/README.html
  14. linux8664/LINUX8664/
  15. linux8664/LINUX8664/ttpatchinst
  16. linux8664/LINUX8664/unzip
  17. linux8664/LINUX8664/common.tar.bz2
  18. linux8664/LINUX8664/ttclient.tar.bz2
  19. linux8664/LINUX8664/perl
  20. linux8664/LINUX8664/manifest
  21. linux8664/LINUX8664/timesten.tar.bz2
  22. linux8664/LINUX8664/bzip2
  23. linux8664/LINUX8664/ttserver.tar.bz2
  24. linux8664/3rdparty/
  25. linux8664/3rdparty/ant-1.6.2-bin.tar.bz2
  26. linux8664/3rdparty/jms-1_1-fr-apidocs.tar.bz2
  27. linux8664/doc/
  28. linux8664/doc/doc.zip
  29. linux8664/setup.sh
  30. [[email protected] ~]$ ll
  31. total 344796
  32. drwxrwxr-x 5 timesten timesten      4096 Jan 20 18:12 linux8664
  33. -rw-r--r-- 1 timesten timesten 353064960 May 28  2015 timesten112280.linux8664
  34. ```
  35. ####5. 开始安装软件
  36. ```
  37. [[email protected] ~]$ cd linux8664/
  38. [[email protected] linux8664]$ ll
  39. total 420
  40. drwxr-xr-x 2 timesten timesten   4096 Jan 20 18:12 3rdparty
  41. drwxrwxr-x 2 timesten timesten   4096 Jan 20 18:12 doc
  42. -rwxr-xr-x 1 timesten timesten 256471 Jan 20 18:10 install.pl
  43. drwxr-xr-x 2 timesten timesten   4096 Jan 20 18:12 LINUX8664
  44. -rwxr--r-- 1 timesten timesten 114161 Jan 20 18:10 README.html
  45. -rwxr-xr-x 1 timesten timesten   5759 Jan 20 18:10 setup.sh
  46. -rwxr-xr-x 1 timesten timesten  34886 Jan 20 18:10 uninst.sh
  47. [[email protected] linux8664]$ ./setup.sh
  48. NOTE: Each TimesTen installation is identified by a unique instance name.
  49. The instance name must be a non-null alphanumeric string, not longer
  50. than 255 characters.
  51. Please choose an instance name for this installation? [ tt1122 ]
  52. Instance name will be ‘tt1122‘.
  53. Is this correct? [ yes ]
  54. Of the three components:
  55. [1] Client/Server and Data Manager
  56. [2] Data Manager Only
  57. [3] Client Only
  58. Which would you like to install? [ 1 ]
  59. Of the following options :
  60. [1] /home/timesten
  61. [2] /home/timesten
  62. [3] Specify a location
  63. [q] Quit the installation
  64. Where would you like to install the tt1122 instance of TimesTen? [ 1 ] 3
  65. Please specify a directory to install TimesTen? [ /home/timesten ] /u01/app/timesten
  66. The directory /u01/app/timesten does not exist.
  67. Do you want to create it? [ yes ]
  68. Where would you like to create the daemon home directory? [ /u01/app/timesten/TimesTen/tt1122/info ]
  69. The daemon logs will be located in /u01/app/timesten/TimesTen/tt1122/info
  70. Would you like to specify a different location for the daemon logs? [ no ]
  71. Installing into /u01/app/timesten/TimesTen/tt1122 ...
  72. Uncompressing ...
  73. NOTE: If you are configuring TimesTen for use with Oracle Clusterware, the
  74. daemon port number must be the same across all TimesTen installations
  75. managed within the same Oracle Clusterware cluster.
  76. NOTE: All installations that replicate to each other must use the same daemon
  77. port number that is set at installation time. The daemon port number can
  78. be verified by running ‘ttVersion‘.
  79. The default port number is 53396.
  80. Do you want to use the default port number for the TimesTen daemon? [ yes ]
  81. The daemon will run on the default port number (53396).
  82. NOTE: For security, we recommend that you restrict access to the
  83. TimesTen installation to members of a single OS group. Only members of
  84. that OS group will be allowed to perform direct mode connections to
  85. TimesTen, and only members of that OS group will be allowed to perform
  86. operations that access TimesTen data stores, TimesTen files and shared
  87. memory. The OS group defaults to the primary group of the instance
  88. administrator. You can default to this group, choose another OS group
  89. or you can make this instance world-accessible. If you choose to make
  90. this instance world-accessible, all database files and shared memory
  91. are readable and writable by all users.
  92. Restrict access to the the TimesTen installation to the group ‘timesten‘? [ yes ]
  93. NOTE: Enabling PL/SQL will increase the size of some TimesTen libraries.
  94. Would you like to enable PL/SQL for this instance? [ yes ]
  95. TNS_ADMIN exists in your environment and is set to :
  96. /u01/app/oracle11g/product/11.2.0/dbhome_1/network/admin
  97. Would you like to use this TNS_ADMIN setting for the Oracle TimesTen Application-Tier Database Cache? [ yes ]
  98. TNS_ADMIN will be set to /u01/app/oracle11g/product/11.2.0/dbhome_1/network/admin
  99. You can change TNS_ADMIN later by running <install_dir>/bin/ttmodinstall.
  100. NOTE: It appears that you are running version 4 or higher of the g++
  101. compiler. TimesTen ships with multiple sets of client libraries and server
  102. binaries : one built for compatibility with g++ 3.4.6 and one with
  103. g++ 4.1.0. The installer has created links to the 4.1.0 library in the
  104. <install_dir>/lib directory and to the 4.1.0 server binary in the
  105. <install_dir>/bin directory. If you want to use a different compiler,
  106. please modify the links to point to the desired library and server binary.
  107. Installing server components ...
  108. What is the TCP/IP port number that you want the TimesTen Server to listen on? [ 53397 ]
  109. Do you want to install the Quick Start Sample Programs and the TimesTen Documentation? [ no ]
  110. Would you like to install the documentation (without the Quick Start Sample Programs)? [ yes ]
  111. Where would you like to create the doc directory? [ /u01/app/timesten/TimesTen/tt1122/doc ]
  112. The TimesTen documentation has been installed in /u01/app/timesten/TimesTen/tt1122/doc.
  113. Installing client components ...
  114. Would you like to use TimesTen Replication with Oracle Clusterware? [ no ]
  115. NOTE: The TimesTen daemon startup/shutdown scripts have not been installed.
  116. Run the ‘setuproot‘ script :
  117. cd /u01/app/timesten/TimesTen/tt1122/bin
  118. ./setuproot -install
  119. This will move the TimesTen startup script into its appropriate location.
  120. The startup script is currently located here :
  121. ‘/u01/app/timesten/TimesTen/tt1122/startup/tt_tt1122‘.
  122. The 11.2.2.8 Release Notes are located here :
  123. ‘/u01/app/timesten/TimesTen/tt1122/README.html‘
  124. Starting the daemon ...
  125. TimesTen Daemon startup OK.
  126. End of TimesTen installation.
  127. [[email protected] linux8664]$

6. 启动服务

  1. [[email protected] ~]# cd /u01/app/timesten/TimesTen/tt1122/bin/
  2. [[email protected] bin]# ./setuproot -install
  3. $* is no longer supported at ./setuproot line 260.
  4. Would you like to install the TimesTen daemon startup scripts into /etc/init.d? [ yes ]
  5. Copying /u01/app/timesten/TimesTen/tt1122/startup/tt_tt1122 to /etc/init.d
  6. Successfully installed the following scripts :
  7. /etc/init.d/tt_tt1122
  8. /etc/rc.d/rc0.d/K45tt_tt1122
  9. /etc/rc.d/rc1.d/K45tt_tt1122
  10. /etc/rc.d/rc2.d/S90tt_tt1122
  11. /etc/rc.d/rc3.d/S90tt_tt1122
  12. /etc/rc.d/rc5.d/S90tt_tt1122
  13. /etc/rc.d/rc6.d/K45tt_tt1122

查看进程

  1. [[email protected] bin]# ps -ef | grep times
  2. root 31501 31129 0 Feb24 pts/3 00:00:00 su - timesten
  3. timesten 31503 31501 0 Feb24 pts/3 00:00:00 -bash
  4. timesten 35813 1 0 Feb24 ? 00:00:00 /u01/app/timesten/TimesTen/tt1122/bin/timestend -initfd 13
  5. timesten 35817 35813 0 Feb24 ? 00:00:00 /u01/app/timesten/TimesTen/tt1122/bin/timestensubd -verbose -userlog tterrors.log -supportlog ttmesg.log -id 1000000 -facility user
  6. timesten 35819 35813 0 Feb24 ? 00:00:00 /u01/app/timesten/TimesTen/tt1122/bin/timestensubd -verbose -userlog tterrors.log -supportlog ttmesg.log -id 1000002 -facility user
  7. timesten 35820 35813 0 Feb24 ? 00:00:00 /u01/app/timesten/TimesTen/tt1122/bin/timestensubd -verbose -userlog tterrors.log -supportlog ttmesg.log -id 1000003 -facility user
  8. timesten 35822 35813 0 Feb24 ? 00:00:00 /u01/app/timesten/TimesTen/tt1122/bin/ttcserver -verbose -userlog tterrors.log -supportlog ttmesg.log -id 1000004 -p 53397 -facility user -group timesten
  9. timesten 35834 35813 0 Feb24 ? 00:00:00 /u01/app/timesten/TimesTen/tt1122/bin/timestensubd -verbose -userlog tterrors.log -supportlog ttmesg.log -id 1000005 -facility user

修改配置文件

  1. [[email protected] info]$ vi sys.odbc.ini 
  2. [ODBC Data Sources]
  3. TT_1122=TimesTen 11.2.2 Driver
  4. sampledb_1122=TimesTen 11.2.2 Driver
  5. cachedb1_1122=TimesTen 11.2.2 Driver
  6. repdb1_1122=TimesTen 11.2.2 Driver
  7. repdb2_1122=TimesTen 11.2.2 Driver
  8. sampledbCS_1122=TimesTen 11.2.2 Client Driver
  9. cachedb1CS_1122=TimesTen 11.2.2 Client Driver
  10. repdb1CS_1122=TimesTen 11.2.2 Client Driver
  11. repdb2CS_1122=TimesTen 11.2.2 Client Driver
  12. ```
  13. ####7. 连接测试
  14. ```
  15. [[email protected] info]$ ttIsql TT_1122
  16. Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  17. Type ? or "help" for help, type "exit" to quit ttIsql.
  18. connect "DSN=TT_1122";
  19. Connection successful: DSN=TT_1122;UID=timesten;DataStore=/u01/app/timesten/TimesTen/tt1122/info/TT_1122;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=/u01/app/timesten/TimesTen/tt1122/lib/libtten.so;TypeMode=0;
  20. (Default setting AutoCommit=1)
  21. Command>
  22. Command> tables
  23. 0 tables found.
  24. Command> create table tt_test(id number(20));
  25. Command> insert into tt_test values(12345678);
  26. 1 row inserted.
  27. Command> commit;
  28. Command> select * from tt_test;
  29. < 12345678 >
  30. 1 row found.
  31. Command> insert into tt_test values(1989);
  32. 1 row inserted.
  33. Command> select * from tt_test;
  34. < 12345678 >
  35. < 1989 >
  36. 2 rows found.
  37. Command> commit;
  38. Command> tables
  39. TIMESTEN.TT_TEST
  40. 1 table found.
  41. Command> drop table tt_test;
  42. Command> tables
  43. 0 tables found.
  44. Command>

二. 同步用户数据设置

在timesten安装目录的oraclescripts有相关的oracle脚本

  1. [[email protected] tt1122]# cd oraclescripts/
  2. [[email protected] oraclescripts]# ll
  3. total 104
  4. -r--r----- 1 timesten timesten 8815 Jan 20 18:09 cacheCleanUp.sql
  5. -r--r----- 1 timesten timesten 5840 Jan 20 18:09 cacheInfo.sql
  6. -r--r----- 1 timesten timesten 12344 Jan 20 18:09 grantCacheAdminPrivileges.sql
  7. -r--r----- 1 timesten timesten 21528 Jan 20 18:09 initCacheAdminSchema.sql
  8. -r--r----- 1 timesten timesten 9569 Jan 20 18:09 initCacheGlobalSchema.sql
  9. -r--r----- 1 timesten timesten 7217 Jan 20 18:09 initCacheGridSchema.sql
  10. -r--r----- 1 timesten timesten 5744 Jan 20 18:09 README.TXT
  11. drwxr-x--- 3 timesten timesten 4096 Jan 20 18:09 supporting_scripts
  12. -r--r----- 1 timesten timesten 5688 Jan 20 18:09 ttca_setupRepository.sql
  13. -r--r----- 1 timesten timesten 2272 Jan 20 18:09 ttca_setupTarget.sql
  14. [[email protected] oraclescripts]#
  15. [[email protected] oraclescripts]# cp initCacheGlobalSchema.sql /tmp
  16. [[email protected] oraclescripts]# cp grantCacheAdminPrivileges.sql /tmp
  17. [[email protected] oraclescripts]# cd /tmp/
  18. [[email protected] tmp]# chmod 777 initCacheGlobalSchema.sql
  19. [[email protected] tmp]# chmod 777 grantCacheAdminPrivileges.sql
1. 创建timesten用户使用TimesTen自带脚本
  1. [[email protected] tmp]# su - ora11g
  2. [email protected] /home/ora11g$ 
  3. [email protected]  /home/ora11g$
  4. [email protected] /home/ora11g$ cd /tmp/
  5. [email protected]  /tmp$ sqlplus / as sysdba
  6. SQL*Plus: Release 11.2.0.4.0 Production on Wed Feb 25 01:58:16 2015
  7. Copyright (c) 1982, 2013, Oracle. All rights reserved.
  8. Connected to:
  9. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  10. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  11. SQL> @initCacheGlobalSchema
  12. Please enter the tablespace where TIMESTEN user is to be created
  13. users
  14. The value chosen for tablespace is users
  15. ******* Creation of TIMESTEN schema and TT_CACHE_ADMIN_ROLE starts *******
  16. 1. Creating TIMESTEN schema
  17. 2. Creating TIMESTEN.TT_GRIDID table
  18. 3. Creating TIMESTEN.TT_GRIDINFO table
  19. 4. Creating TT_CACHE_ADMIN_ROLE role
  20. 5. Granting privileges to TT_CACHE_ADMIN_ROLE
  21. ** Creation of TIMESTEN schema and TT_CACHE_ADMIN_ROLE done successfully **
  22. PL/SQL procedure successfully completed.
  23. SQL>
2. 创建一个管理cache的用户
  1. SQL> create user cacheadmin identified by cacheadmin;
  2. User created.
  3. SQL> @grantCacheAdminPrivileges "cacheadmin"
  4. Please enter the administrator user id
  5. The value chosen for administrator user id is cacheadmin
  6. ***************** Initialization for cache admin begins ******************
  7. 0. Granting the CREATE SESSION privilege to CACHEADMIN
  8. 1. Granting the TT_CACHE_ADMIN_ROLE to CACHEADMIN
  9. 2. Granting the DBMS_LOCK package privilege to CACHEADMIN
  10. 3. Granting the CREATE SEQUENCE privilege to CACHEADMIN
  11. 4. Granting the CREATE CLUSTER privilege to CACHEADMIN
  12. 5. Granting the CREATE OPERATOR privilege to CACHEADMIN
  13. 6. Granting the CREATE INDEXTYPE privilege to CACHEADMIN
  14. 7. Granting the CREATE TABLE privilege to CACHEADMIN
  15. 8. Granting the CREATE PROCEDURE privilege to CACHEADMIN
  16. 9. Granting the CREATE ANY TRIGGER privilege to CACHEADMIN
  17. 10. Granting the GRANT UNLIMITED TABLESPACE privilege to CACHEADMIN
  18. 11. Granting the DBMS_LOB package privilege to CACHEADMIN
  19. 12. Granting the SELECT on SYS.ALL_OBJECTS privilege to CACHEADMIN
  20. 13. Granting the SELECT on SYS.ALL_SYNONYMS privilege to CACHEADMIN
  21. 14. Checking if the cache administrator user has permissions on the default
  22. tablespace
  23. No existing permission.
  24. 15. Altering the cache administrator to grant unlimited tablespace on USERS
  25. 16. Granting the CREATE TYPE privilege to CACHEADMIN
  26. 17. Granting the SELECT on SYS.GV$LOCK privilege to CACHEADMIN (optional)
  27. 18. Granting the SELECT on SYS.GV$SESSION privilege to CACHEADMIN (optional)
  28. 19. Granting the SELECT on SYS.DBA_DATA_FILES privilege to CACHEADMIN
  29. (optional)
  30. 20. Granting the SELECT on SYS.USER_USERS privilege to CACHEADMIN (optional)
  31. 21. Granting the SELECT on SYS.USER_FREE_SPACE privilege to CACHEADMIN
  32. (optional)
  33. 22. Granting the SELECT on SYS.USER_TS_QUOTAS privilege to CACHEADMIN
  34. (optional)
  35. 23. Granting the SELECT on SYS.USER_SYS_PRIVS privilege to CACHEADMIN
  36. (optional)
  37. ********* Initialization for cache admin user done successfully *********
3. 创建一个业务用户
  1. SQL> create user hxy identified by hxy;
  2. User created.
  3. 进行一样的授权
  4. SQL> @grantCacheAdminPrivileges "hxy"
  5. Please enter the administrator user id
  6. The value chosen for administrator user id is hxy
  7. ***************** Initialization for cache admin begins ******************
  8. 0. Granting the CREATE SESSION privilege to HXY
  9. 1. Granting the TT_CACHE_ADMIN_ROLE to HXY
  10. 2. Granting the DBMS_LOCK package privilege to HXY
  11. 3. Granting the CREATE SEQUENCE privilege to HXY
  12. 4. Granting the CREATE CLUSTER privilege to HXY
  13. 5. Granting the CREATE OPERATOR privilege to HXY
  14. 6. Granting the CREATE INDEXTYPE privilege to HXY
  15. 7. Granting the CREATE TABLE privilege to HXY
  16. 8. Granting the CREATE PROCEDURE privilege to HXY
  17. 9. Granting the CREATE ANY TRIGGER privilege to HXY
  18. 10. Granting the GRANT UNLIMITED TABLESPACE privilege to HXY
  19. 11. Granting the DBMS_LOB package privilege to HXY
  20. 12. Granting the SELECT on SYS.ALL_OBJECTS privilege to HXY
  21. 13. Granting the SELECT on SYS.ALL_SYNONYMS privilege to HXY
  22. 14. Checking if the cache administrator user has permissions on the default
  23. tablespace
  24. No existing permission.
  25. 15. Altering the cache administrator to grant unlimited tablespace on USERS
  26. 16. Granting the CREATE TYPE privilege to HXY
  27. 17. Granting the SELECT on SYS.GV$LOCK privilege to HXY (optional)
  28. 18. Granting the SELECT on SYS.GV$SESSION privilege to HXY (optional)
  29. 19. Granting the SELECT on SYS.DBA_DATA_FILES privilege to HXY (optional)
  30. 20. Granting the SELECT on SYS.USER_USERS privilege to HXY (optional)
  31. 21. Granting the SELECT on SYS.USER_FREE_SPACE privilege to HXY (optional)
  32. 22. Granting the SELECT on SYS.USER_TS_QUOTAS privilege to HXY (optional)
  33. 23. Granting the SELECT on SYS.USER_SYS_PRIVS privilege to HXY (optional)
  34. ********* Initialization for cache admin user done successfully *********
  35. SQL>
4. 设置/u01/app/timesten/TimesTen/tt1122/info/sys.odbc.ini
  1. [TT_1122]
  2. Driver=/u01/app/timesten/TimesTen/tt1122/lib/libtten.so
  3. DataStore=/u01/app/timesten/TimesTen/tt1122/info/TT_1122
  4. DatabaseCharacterSet=ZHS16GBK
  5. OracleNetServiceName=db11
  6. PermSize=2048
  7. TempSize=1024
5. 启动TimesTen
  1. [[email protected] info]$ ttdaemonadmin -stop
  2. TimesTen Daemon stopped.
  3. [[email protected] info]$ ttdaemonadmin -start
  4. TimesTen Daemon startup OK.
  5. [[email protected] info]$ ttisql TT_1122
  6. Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  7. Type ? or "help" for help, type "exit" to quit ttIsql.
  8. connect "DSN=TT_1122";
  9. Connection successful: DSN=TT_1122;UID=timesten;DataStore=/u01/app/timesten/TimesTen/tt1122/info/TT_1122;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=/u01/app/timesten/TimesTen/tt1122/lib/libtten.so;PermSize=2048;TempSize=1024;TypeMode=0;OracleNetServiceName=db11;
  10. (Default setting AutoCommit=1)
  11. Command>
6. 创建TimesTen内存数据库的用户,用户必须和Oracle数据库名称相同
  1. Command> create user cacheadmin identified by cacheadmin;
  2. User created.
  3. Command> grant create session,cache_manager,create any table to cacheadmin;
  4. Command> create user hxy identified by hxy;
  5. User created.
  6. Command> grant create session,create any table to hxy;
7. 从TimesTen链接到Oracle数据库
  1. Command> connect "dsn=TT_1122;uid=cacheadmin;PWD=cacheadmin;OraclePwd=cacheadmin";
  2. Command> call ttcacheuidpwdset(‘cacheadmin‘,‘cacheadmin‘);
8. 创建Grid,TimesTen特性必须把cache group让在grid中
  1. connect "dsn=TT_1122;uid=cacheadmin;PWD=cacheadmin;OraclePwd=cacheadmin";
9. 创建cache grid,TimesTen特性必须把cache group让在grid中
  1. con1: Command> call ttGridCreate(‘myGrid‘);
  2. con1: Command> call ttGridnameSet(‘myGrid‘);
10.在Orace数据库里面建立表和唯一索引,TimesTen必须需要是一个主键和唯一索引
  1. [email protected] /home/ora11g$ sqlplus / as sysdba
  2. SQL*Plus: Release 11.2.0.4.0 Production on Thu Feb 26 01:09:06 2015
  3. Copyright (c) 1982, 2013, Oracle. All rights reserved.
  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  7. SQL>
  8. SQL>
  9. SQL> conn hxy/hxy
  10. Connected.
  11. SQL> create table a (id number,name varchar2(20));
  12. Table created.
  13. SQL> create unique index a_idx on a(id);
  14. Index created.

把权限授予cache管理用户

  1. GRANT SELECT ON a TO cacheadmin;
  2. GRANT INSERT ON a TO cacheadmin;
  3. GRANT UPDATE ON a TO cacheadmin;
  4. GRANT DELETE ON a TO cacheadmin;
11. Load数据到TimesTen中
  1. ttisql "dsn=TT_1122;uid=cacheadmin;PWD=cacheadmin;OraclePwd=cacheadmin";

1.启动cache

  1. Command>call ttcachestart

2.启动cache之后就可以创建cache group了

创建group时,需要将表的名字和结构设置成与oracle数据库中test用户下的需要加载的表的名字和结构一模一样,这样才能匹配找到相应的表,否则无法加载数据。(这里创建的readonly类型的group)

  1. con1: Command> create readonly cache group cache_a Autorefresh interval 5 seconds mode incremental From hxy.a(id number not null primary key , name varchar2(20));
  2. con1: Command> cachegroups;
  3. Cache Group CACHEADMIN.CACHE_A:
  4. Cache Group Type: Read Only
  5. Autorefresh: Yes
  6. Autorefresh Mode: Incremental
  7. Autorefresh State: Paused
  8. Autorefresh Interval: 5 Seconds
  9. Autorefresh Status: ok
  10. Aging: No aging defined
  11. Root Table: HXY.A
  12. Table Type: Read Only
  13. 1 cache group found.
  14. 3. load cache group cache_a commit every 10 rows;
12.退出ttisql,重新进入,把对a表的查询权限在timesten数据库中授予cacheadmin
  1. [[email protected] ~]$ ttisql TT_1122
  2. Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  3. Type ? or "help" for help, type "exit" to quit ttIsql.
  4. connect "DSN=TT_1122";
  5. Connection successful: DSN=TT_1122;UID=timesten;DataStore=/u01/app/timesten/TimesTen/tt1122/info/TT_1122;DatabaseCharacterSet=ZHS16GBK;ConnectionCharacterSet=US7ASCII;DRIVER=/u01/app/timesten/TimesTen/tt1122/lib/libtten.so;PermSize=2048;TempSize=1024;TypeMode=0;OracleNetServiceName=db11;
  6. (Default setting AutoCommit=1)
  7. GRANT SELECT ON hxy.a TO cacheadmin;
  8. GRANT INSERT ON hxy.a TO cacheadmin;
  9. GRANT UPDATE ON hxy.a TO cacheadmin;
  10. GRANT DELETE ON hxy.a TO cacheadmin;

连接

  1. Command> connect "dsn=TT_1122;uid=cacheadmin;PWD=cacheadmin;OraclePwd=cacheadmin";
  2. Connection successful: DSN=TT_1122;UID=cacheadmin;DataStore=/u01/app/timesten/TimesTen/tt1122/info/TT_1122;DatabaseCharacterSet=ZHS16GBK;ConnectionCharacterSet=US7ASCII;DRIVER=/u01/app/timesten/TimesTen/tt1122/lib/libtten.so;PermSize=2048;TempSize=1024;TypeMode=0;OracleNetServiceName=db11;
  3. (Default setting AutoCommit=1)
  4. con1: Command> select * from hxy.a;
  5. 0 rows found. ----没有数据

在oracle数据库中插入数据

  1. SQL> show user
  2. USER is "HXY"
  3. SQL>
  4. SQL> insert into a values(1,‘hello‘);
  5. 1 row created.
  6. SQL> insert into a values(2,‘hxy‘);
  7. 1 row created.
  8. SQL> commit;

去IMDB查询

  1. con1: Command> select * from hxy.a;
  2. < 1, hello >
  3. < 2, hxy >
  4. 2 rows found.

可见,在oracle中提交,数据会自动复制到IMDB中

错误:

1.字符集设置成ZHS16GBK报下面的错误:

  1. [[email protected] info]$ ttisql TT_1122
  2. Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  3. Type ? or "help" for help, type "exit" to quit ttIsql.
  4. connect "DSN=TT_1122";
  5. 6228: Invalid value (AL32UTF8) for DatabaseCharacterSet connection attribute -- value must be the same as the current data store value (US7ASCII)
  6. The command failed.
  7. Done.
  8. Command> call ttcacheuidpwdset(‘cacheadmin‘,‘cacheadmin‘);
  9. 8296: TimesTen and Oracle database character sets do not match. TimesTen: US7ASCII, Oracle: ZHS16GBK
  10. 5935: Could not validate Oracle login: uid = CACHEADMIN, pwd = HIDDEN, OracleNetServiceName = db11, TNS_ADMIN = "/u01/app/oracle11g/product/11.2.0/dbhome_1/network/admin", ORACLE_HOME= "/u01/app/oracle11g/product/11.2.0/dbhome_1"
  11. The command failed.
  12. Command> exit
  13. Disconnecting...

分析
这个问题是因为已经初始化一次TT_1122后又修改了sys.odbc.ini中DatabaseCharacterSet=AL32UTF8参数。

解决方法:
删掉TT_1122重新初始化并且重新建立用户

  1. [[email protected] info]$ ttDestroy TT_1122
  2. -bash-4.1$ ttisql TT_1122
  3. Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  4. Type ? or "help" for help, type "exit" to quit ttIsql.
  5. connect "DSN=TT_1122";
  6. Connection successful: DSN=TT_1122;UID=timesten;DataStore=/opt/timesten/TimesTen/tt1122/info/TT_1122;DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;DRIVER=/opt/timesten/TimesTen/tt1122/lib/libtten.so;PermSize=2048;TempSize=1024;TypeMode=0;OracleNetServiceName=NINVOICE;
  7. (Default setting AutoCommit=1)
  8. Command> exit
  9. Disconnecting...
  10. Done.

2.刚开始使用

connect "dsn=TT_1122;uid=cacheadmin;PWD=cacheadmin;OraclePwd=cacheadmin";
连接的时候一直报下面的错误:

  1. Command> connect "dsn=TT_1122;uid=cacheadm;OraclePWD=cacheadm;OraclePwd=cacheadm";
  2. 7001: User authentication failed
  3. The command failed.

郁闷的不行,最后在内存数据库中又执行了一次

  1. Command> create user cacheadmin identified by cacheadmin;
  2. User created.
  3. Command> grant create session,cache_manager,create any table to cacheadmin;
  4. Command> create user hxy identified by hxy;
  5. User created.
  6. Command> grant create session,create any table to hxy;

然后再次连接成功,奇怪,难道内存中的用户消失了???

3.创建cache group的时候报错

  1. con1: Command> create readonly cache group cache_a Autorefresh interval 5 seconds mode incremental From hxy.a(id number not null primary key , name varchar2(20));
  2. 5140: Could not find HXY.A in Oracle. May not have privileges.
  3. The command failed.


解决办法:

把对表的查询权限授予cache管理用户cacheadmin

  1. GRANT SELECT ON hxy.a TO cacheadmin;
  2. GRANT INSERT ON hxy.a TO cacheadmin;
  3. GRANT UPDATE ON hxy.a TO cacheadmin;
  4. GRANT DELETE ON hxy.a TO cacheadmin;

参考:

http://blog.itpub.net/16381228/viewspace-764825 ---有错误,已在上文中修正

来自为知笔记(Wiz)

时间: 2024-10-17 02:59:24

(一)Timesten安装的相关文章

TIMESTEN安装配置指南-中文版

TimesTen内存数据库 第一章 Cache Connect to Oracle概念 TimesTen数据交换技术提供在Oracle数据库和TimesTen数据管理器之间进行连接和双向数据传送.数据交换技术也使得能够方便的捕获和处理进入到TimesTen数据管理器的大流量事件流,而且能进行并发传送数据到Oracle数据库. TimesTen同意通过创建cache group来快速缓存Oracle数据,以在TimesTen中映射一个或多个Oracle表. 同意快速缓存Oracle数据的Times

内存数据库Timesten安装过程全记录

[[email protected] timesten]# su - tt [[email protected] ~]$ cd /timesten/linux8664/ [[email protected] linux8664]$ ls 3rdparty  doc  install.pl  LINUX8664  README.html  setup.sh  uninst.sh [[email protected] linux8664]$ ./setup.sh WARNING: You are r

极简.NET连接TimesTen程序

和OCI, PRO*C, JDBC连接Timesten一样,.NET连接TimesTen也非常简单.只不过需要安装的组件比较多些而已. 在运行示例程序之前,需要在Windows上先安装: 1. TimesTen Windows客户端,本例中,由于TimesTen数据库在Windows上,因此完整安装TimesTen 2. Oracle Database or Oracle Data Access Components (ODAC),其中包含了ODP.NET 12.1 3. Miicrosoft

用哪种命名方法连接TimesTen? TNS还是DSN

先来看一下下面这张概念图: Java程序支持DSN文件连接TimesTen(参见极简Java连接TimesTen程序),也支持绕过DSN直接连接目标数据库(参见开发者和DBA-不通过DSN连接TimesTen). 需要指出, JAVA不支持TNS方式,因为对于TimesTen,TNS的支持是在OCI中实现的,而JAVA并不基于OCI而是基于ODBC. 由于Pro*C基于OCI,因此C的API全都支持TNS和DSN两种方式. 详见极简OCI连接TimesTen程序 和 极简ProC连接TimesT

64位Windows 7平台安装32位Timesten,配置ODBC数据源

问题: 由于系统版本原因,客户机只能安装32位的Timesten,但客户机的平台是64位的win 7,安装完成后按照常规的控制面板->管理工具->数据源(ODBC)打开的ODBC数据源管理器中没有Timesten的驱动程序,如图1. 图1 无Timesten的驱动程序 解决方案:打开加载32位驱动程序的ODBC管理器 通过传统的方式之所以无法找到Oracle Database驱动程序,原因在于平台是64位,但安装的是32位的Oracle Database软件,常规的ODBC管理器不会加载32位

1.TimesTen初识

声明:本文章转自麻袋爸爸 一,TimesTen应用场景 在谈论TimesTen内存数据库应用场景之前,我们先来介绍一下什么是内存数据库,及其工作原理吧.内存数据库,顾名思义就是将数据存放在内存中,并通过内存操作直接完成数据库相关操作.与磁盘相比,数据在内存中的读写速度要高出几个数量级,能够极大地提高应用程序的性能.同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中,重新设计了体系结构,并且在数据缓存.快速算法.并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处

TimesTen的逻辑服务器名概念

概念 TimesTen中逻辑服务器名(logical server name)的概念用的很少,但是了解一下还是必要的. 首先,logical server是在客户端定义,指向服务器端. 其次,当用非TCP/IP的通讯协议或者TimesTen Server不在缺省的端口监听时,必须使用logical server name. A logical server name is a definition for a server system on the TimesTen Client. In so

timesten升级

ttIsql "DSN=ttwind;UID=cacheuser;PWD=cacheuser;OraclePWD=cacheuser;" --1.查看当前版本号 Command> version TimesTen Release 11.2.2.7.0 Command> cachegroups; Cache Group CACHEUSER.CACHETBLORDERS: Cache Group Type: Read Only Autorefresh: Yes Autorefr

实战:oracle timesten 11.2.2.7.0 on centos 6.5

入门级别,但是步骤比较细致,没有理论,可以当做入门手册. [plain] view plaincopy [plain] view plaincopy ************************************************************************ 1.新建用户 ************************************************************************ -----1.create os user