Timesten安装

安装文件:otn.oracle.com

Linux: red-hat ES3, SUSE9

CPU:intel EM64

1. 内核参数调整:

1) sysctl和limit

修改 sysctl.conf

net.ipv4.tcp_rmem=4096 4194304 4194304
net.ipv4.tcp_wmem=98304 4194304 4194304
net.ipv4.tcp_mem=98304 4194304 4194304
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=4194304
net.ipv4.tcp_window_scaling=1

# shmmax根据内存大小和系统位数设置(注意32位/64位)
kernel.shmmax=7782579200
kernel.sem=5000 32000 100 128
net.ipv4.ip_local_port_range=1024 65000

修改limits.conf

echo “* hard nofile 8192″ >> /etc/security/limits.conf
echo “* soft nofile 8192″ >> /etc/security/limits.conf


2. 新建timsten用户

groupadd -g 600 timesten
useradd -g 600 -u 600 timesten
passwd timesten

3. 安装

首先安装JDK(64位系统需安装JDK 64版本)

[root@flypig timesten]#mkdir /etc/TimesTen/
[root@flypig timesten]#chown timesten:timesten /etc/TimesTen/
su – timesten
cd $TIMESTEN_PRODUCT
./setup.sh
Please choose an instance name for this installation? [ tt70 ]
Timesten版本选择:安装AMD64和Intel EM64的版本
Timesten产品选择:Oracle TimesTen In-Memory Database
Timesten组件选择:Client/Server and Data Manager
安装目录:/opt
是否打开 access control:yes
daemon log位置:/opt/TimesTen/log
没有特别说明的部分,都默认回车

4. 环境配置

在/home/timesten/.bash_profile中添加以下行(SUSE9下面是.profile)

. /opt/TimesTen/tt70/bin/ttenv.sh
export JAVA_HOME=/opt/java

5. 增加数据库用户

[timesten@flypig timesten]$ source ~timesten/.profile
[timesten@flypig]$ttisql TT_tt70
Command> create user tt_test identified by ‘tt_test’;
Command> grant ddl,admin to tt_test;
Command> grant write to tt_test;
Command> grant Select to tt_test;
Command> quit

6. 增加用户DSN

[timesten@flypig timesten]$mkdir –p /opt/TimesTen/imdb
[timesten@flypig timesten]$vi /opt/TimesTen/tt70/info/sys.odbc.ini
在 [ODBC Data Sources]下面增加:
imdb=TimesTen 7.0 Driver
在最后面增加:
[imdb]
Driver=/opt/TimesTen/tt70/lib/libtten.so
DataStore=/opt/TimesTen/imdb/imdb
DatabaseCharacterSet=US7ASCII
Authenticate=0
UID=tt_test
PWD=tt_test
#ipcs memory size(M),该内存大小必须比shmmax小,否则用户DSN会进不去
PermSize=5000
Connections=2047
#permsize*20%
TempSize=1000
CkptFrequency=600
CkptLogVolume=256
LogBuffSize=256000
LogFileSize=256
测试用户DSN:
[timesten@flypig timesten]$ttisql imdb
连接成功出现command命令行则配置没有问题!

7. 数据对象安装

[timesten@flypig timesten]$ttisql imdb
Command> 执行标准SQL语句
或者:将SQL语句写在文本里,如imdb.schema.20070507
执行ttisql –f imdb.schema.20070507

8. Active/Standby数据库配置

1) 在另外台服务器上安装新的一套Timesten,配置同上,两台Timesten记为Timesten1和Timesten2,准备将Timesten1为Active,Timesten2为Standby
2) 在/etc/hosts里面加入各台Timesten
3) 同步Timesten1和Timesten2的时间,最好用ntp之类的定时(20分钟)同步一下时钟,否则replication就会失败
4) 在Timesten1上安装好所有的用户数据库对象
5) 创建replication的schema

[timesten@Timesten1 timesten]$ttisql imdb
Command> create active standby pair
IMDB on “Timesten1″, IMDB on ” Timesten2″
store IMDB on ” Timesten1″
port 20000
store IMDB on ” Timesten2″
port 21000;

说明:
Timesten1、Timesten2为hostname
IMDB为用户DSN

6) 将Timesten1置为active,启动replication agent

[timesten@Timesten1 timesten]$ttisql imdb
Command> call ttRepStateSet(‘active’);
[timesten@Timesten1 timesten]ttAdmin –repStart imdb

7) 退出连到imdb(Timesten2)的所有连接,从imdb(Timesten1)复制数据库

[timesten@Timesten2 timesten]$ ttRepAdmin -duplicate -from imdb -host timesten1 -UID tt_test -PWD tt_test imdb
如果出现imdb为in use错误,用ttDestory删除imdb,再试
[timesten@Timesten2 timesten]$ ttDestroy imdb

 启动Timesten2的replication agent

[timesten@Timesten2 timesten]$ ttAdmin –repStart imdb

9) 检查状态

[timesten@Timesten1 timesten]$ ttisql imdb
Command> call ttRepStateGet;
< ACTIVE >

[timesten@Timesten2 timesten]$ ttisql imdb
Command> call ttRepStateGet;
< STANDBY >

[timesten@timesten2 timesten]$ ttRepAdmin -showstatus imdb
Replication Agent Status as of: 2007-04-21 17:28:19
DSN : imdb
Process ID : 21805 (Started)
Replication Agent Policy : manual
Host : TIMESTEN2
RepListener Port : 20000
Last write LSN : 37.202777232
Last LSN forced to disk : 37.202659240
Replication hold LSN : 37.200869520
Replication Peers:
Name : IMDB
Host : TIMESTEN1
Port : 0 (Not Connected)
Replication State : STARTED
Communication Protocol : 23
TRANSMITTER thread(s):
For : IMDB
Start/Restart count : 1
Send LSN : 36.83383088
Transactions sent : 0
Total packets sent : 0
Tick packets sent : 0
Total Packets received: 0
RECEIVER thread(s):
For : IMDB
Start/Restart count : 1
Transactions received : 317358
Total packets sent : 8709
Tick packets sent : 0
MIN sent packet size : 64
MAX sent packet size : 128
AVG sent packet size : 119
Last packet sent at : 17:28:19
Total Packets received: 2238899
MIN rcvd packet size : 64
MAX rcvd packet size : 426
AVG rcvd packet size : 131
Last packet rcvd’d at : 17:28:19

[timesten@timesten1 test]$ ttRepAdmin -showstatus imdb
Replication Agent Status as of: 2007-04-21 17:29:44
DSN : imdb
Process ID : 12368 (Started)
Replication Agent Policy : manual
Host : TIMESTEN1
RepListener Port : 21000
Last write LSN : 38.450704
Last LSN forced to disk : 38.434608
Replication hold LSN : 37.266666832
Replication Peers:
Name : IMDB
Host : TIMESTEN2
Port : 20000 (Connected)
Replication State : STARTED
Communication Protocol : 23
TRANSMITTER thread(s):
For : IMDB1
Start/Restart count : 191
Send LSN : 36.82703464
Transactions sent : 375248
Total packets sent : 27879
Tick packets sent : 16
MIN sent packet size : 15
MAX sent packet size : 16384
AVG sent packet size : 12443
Last packet sent at : 17:29:44
Total Packets received: 10634
MIN rcvd packet size : 64
MAX rcvd packet size : 128
AVG rcvd packet size : 113
Last packet rcvd’d at : 17:29:44
Earlier errors (max 5):
TT16224 in transmitter.c (line 5752) at 17:10:20 on 04-21-2007
TT16224 in transmitter.c (line 5752) at 17:19:49 on 04-21-2007
[timesten@timesten1 test]$

9. 客户端安装

参考以上服务器的安装过程,安装组件选择:[3] Client Only,配置ODBC:

1) 在sys.ttconnect.ini增加Timesten Server

[timesten@flypig timesten]$ vi /opt/TimesTen/tt70/info/sys.ttconnect.ini
增加Timesten Server:
[imdb]
Description=TimesTen Server
Network_Address=10.2.0.99
TCP_PORT=17003

默认情况下,64位Timesten的port是17003,32位试17002
2) 在sys.odbc.ini增加DSN配置

[timesten@flypig timesten]$ vi /opt/TimesTen/tt70/info/sys.odbc.ini
增加DSN:
[imdb]
TTC_SERVER=imdb
TTC_SERVER_DSN=imdb

SERVER就是我们上面配的Timesten Server

3) 在客户机的profile中增加:

[timesten@flypig timesten]$ vi .profile

. /opt/TimesTen/tt70/bin/ttenv.sh

4) 测试配置:

[timesten@flypig timesten]$ ttisqlcs imdb
ttisql在自身服务器上使用,ttisqlcs在客户机上使用

10. 常用命令列表

/opt/TimesTen/tt70/startup/tt_tt70:Timesten起停 
ttSize:计算表大小,如 ttSize -tbl tt_ref imdb 
ipcs:共享内存查看 
ttAdmin –repStop:停replication agent,如 ttAdmin –repStop imdb 
ttAdmin –repStart:起replication agent,如 ttAdmin –repStart imdb 
drop ACTIVE STANDBY PAIR:删除replication配置,ttisql命令 
ttRepAdmin -showconfig:显示repliation配置信息,如ttRepAdmin –showconfig imdb 
ttRepAdmin -showstatus:显示repliation配置信息,如ttRepAdmin –showstatus imdb 
CALL ttRepStateSet(’ACTIVE’);:Replication状态置为active,ttisql命令 
ttDestroy:删除用户DSN所有数据,如ttDestroy imdb 
ttRepAdmin -duplicat:数据库之间复制,如ttRepAdmin -duplicate -from imdb1 -host timesten1 -UID tt_test -PWD tt_test imdb2 
Alter ACTIVE STANDBY PAIR:加复制表,standby机子需要重新复制数据库,如Alter ACTIVE STANDBY PAIR 
INCLUDE TABLE tab1 ttisql

call ttRepStateGet; :获取Replication状态(active/standby),ttisql命令 
ttDaemonLog:Timesten的日志查看,-f可以tail日志 
tables 显示数据库表,ttisql命令 
ttAdmin -ramPolicy:修改ram策略,如 ttAdmin -ramPolicy always imdb 
ttAdmin -repPolicy:修改replication策略,如 ttAdmin -repPolicy always imdb 
11. 已知问题和处理方法

Replication失效: 
1) 确认各台机子的replication agent都在,可以用ttRepAdmin –showstatus命令
2) 确认两台主机的时间一致,不一样的话日志中会有错误信息:
ttDaemonLog | grep Err
17:13:27.61 Err : REP: 12368: IMDB1:transmitter.c(5752): TT16224: Transmitter thread failure due to high clock skew 943 with peer store IMDB3

无法在netapp上使用Timesten 
1) mount参数加exec
2) 修改/opt/TimesTen/tt70/info/ttendaemon.options,在里面加-allowNetworkFiles

你可能感兴趣的:(Timesten安装)