30 March 2013

TimesTen In Memory Database - Data Source Name(DSN)


Timesten In memory database has a configuration file which named as sys.odbc.ini. In this file, DSN(Data Source Name)s  are defined and some configurations are setup( DataStore and PermSize parameters are defined and can be configured with requirements.). A sample of this file is shown below. DSN name is tt01 and PermSize is 10000 Mb and DataStore is saved in the /timesten/TimesTen/tt1121/DataStore/ttds directory, and so on…
[tt01]
Driver=/timesten/TimesTen/tt1121/lib/libtten.so
DataStore=/timesten/TimesTen/tt1121/DataStore/ttds
DatabaseCharacterSet=US7ASCII
AutoCreate=1
Logging=1
DurableCommits=0
LockLevel=0
Temporary=0
PermSize=10000
LogBufMB=64
PrivateCommands=1
CkptFrequency=0
CkptLogVolume=0
Isolation=1
Connections=64
TypeMode=1

When you connect timesten database with ttisql, the information is printed out.

$ ttisql tt01

Copyright (c) 1996-2009, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.



connect "DSN=tt01";


Connection successful: DSN=tt01;UID=g112adm;DataStore=/timesten/TimesTen/tt1121/DataStore/ttds;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=/timesten/TimesTen/tt1121/lib/libtten.so;Isolation=1;PermSize=10000;Connections=64;CkptFrequency=0;CkptLogVolume=0;PrivateCommands=1;TypeMode=1;LogBufMB=64;
(Default setting AutoCommit=1)


If you change PermSize parameter of this file, during connection, an info message is printed and points out that the new parameter has not been taken into consideration. Suppose that you have changed PermSize as 5000 in the sys.odbc.ini file.
[tt01]
PermSize=5000
….


$ ttisql tt01

Copyright (c) 1996-2009, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.



connect "DSN=tt01";

Warning  6226: Ignoring value requested for first connection attribute 'PermSize' -- value currently in use: 10000, requested value: 5000

Connection successful: DSN=tt01;UID=g112adm;DataStore=/timesten/TimesTen/tt1121/DataStore/ttds;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=/timesten/TimesTen/tt1121/lib/libtten.so;Isolation=1;PermSize=51200;Connections=64;CkptFrequency=0;CkptLogVolume=0;PrivateCommands=1;TypeMode=1;LogBufMB=64;
(Default setting AutoCommit=1)

You should stop&start timesten daemon in order to take affect the changed parameter:

$ ttDaemonAdmin -stop
TimesTen Daemon stopped.

Daemon is stopped. If you want to connect timesten db, you will get an error:


$ ttisql tt01

Copyright (c) 1996-2009, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.



connect "DSN=tt01";
  799: Unable to connect to daemon; check daemon status
The command failed.
Done.

After starting daemon, you can connect.
$ ttDaemonAdmin -start
TimesTen Daemon startup OK.

It is also possible to check daemon status:
$ ttStatus
TimesTen status report as of Wed Mar 27 18:51:04 2013

Daemon pid 16195 port 59000 instance tt1121
TimesTen server pid 16200 started on port 59001
------------------------------------------------------------------------
Data store /timesten/TimesTen/tt1121/DataStore/ttds
DATA STORE IN PROCESS OF BEING LOADED INTO RAM

There are no connections to the data store
Obsolete or not yet active connection(s):
Process 16196 context 0x60000000000a7d40 name Manager connid 0, nascent connection, shmKey 0xE8C11AD PLSQL shmKey 0xF8C11AD
RAM residence policy: Always
Replication policy  : Manual
Cache Agent policy  : Manual
PL/SQL enabled.
------------------------------------------------------------------------
Accessible by group g112
End of report

Please note that, if it is configured, the database is flushed into the memory. You will see the message(DATA STORE IN PROCESS OF BEING LOADED INTO RAM). It means that, please wait the flush operation , it is in-progress now.




No comments: