About
Timesten on Exalytics
Articles Related
Setting Resource Limits for TimesTen
To set the resource limits for TimesTen:
Make the following changes and additions to the /etc/security/limits.conf file:
* hard nofile 131072
* soft nofile 131072
* hard memlock unlimited
* soft memlock unlimited
* hard core unlimited
* soft core unlimited
* hard nproc 131072
* soft nproc 131072
Make the following shared memory kernel settings in the /etc/sysctl.conf file:
kernel.shmmax = 1099511627799
kernel.shmall = 4294967296
kernel.shmmni = 4096
Make the following settings for semaphores in the /etc/sysctl.conf file:
kernel.sem = 2048 64000 256 64
Reboot the machine or run the following command as the root user:
/sbin/sysctl -p
Running the Daemon Configuration Scripts
Perform this task on each computer in the cluster.
Run the TimesTen daemon configuration scripts as root, using the following command:
/home/oracle/TimesTen/tt1122/bin/setuproot.sh -install
Configuring Large Pages
This task must be performed on each computer in the cluster.
- If a TimesTen database larger than 256GB is required, then you must configure and use large pages.
- The largest recommended size for a TimesTen database on a single machine is a total of 800GB, which includes the values for the PermSize and TempSize attributes.
at the Kernel Level
You can configure and activate the number of large pages by setting the nr_hugepages parameter in the /etc/sysctl.conf file. For an 800GB TimesTen database, you must specify greater than 410122 pages to create an 800GB store based on the following calculation (All in Byte):
hugepage_size
(400*1024*1024*1024) + (400*1024*1024*1024) + (1024*1024*1024) + (20*1024*1024) = 860088172544
860088172544 / (2 * 1024 * 1024) = 410122
For example, to allow for spare capacity, modify the following setting in the /etc/sysctl.conf file:
vm.nr_hugepages = 410200
then either restart the machine or run the following command as the root user:
/sbin/sysctl –p
for TimesTen Databases
You can configure large pages for the TimesTen database by editing the following file:
/home/oracle/TimesTen/tt1122/info/ttendaemon.options
and adding the following line:
-linuxLargePageAlignment 2
Database
Configuration
The TimesTen In-Memory Databases are defined using a DSN that is contained in the sys.odbc.ini file in the following directory:
/home/oracle/TimesTen/tt1122/info
Sample file on an Exalytics Machine of a TimesTen instance that is used for aggregate storage:
[ODBC Data Sources]
TT_AGGR_STORE=TimesTen 11.2.2 Driver
[TT_AGGR_STORE]
Driver=/home/oracle/TimesTen/tt1122/lib/libtten.so
DataStore=/home/oracle/aggregate_store/tt_aggr_store
LogDir=/home/oracle/aggregate_store/logs
DatabaseCharacterSet=AL32UTF8
ConnectionCharacterSet=AL32UTF8
LogFileSize=1024
LogBufMB=1024
LogBufParallelism=16
Preallocate=0
PermSize=25000
TempSize=25000
MemoryLock=4
CkptFrequency=30
CkptLogVolume=0
CkptRate=20
PrivateCommands=1
RecoveryThreads=40
This DSN supports a TimesTen In-Memory Database of 25GB with overall memory consumption of approximately 50GB.
To support larger in-memory data stores, increase the settings of the PermSize and TempSize parameters.
To support this DSN definition, the semi-automated installation process creates the following directories on the Exalytics Machine:
/home/oracle/aggregate_store
/home/oracle/aggregate_store/logs
Instantiation
The TimesTen In-Memory Database is instantiated when the first connection is made to the database.
cd /home/oracle/TimesTen/tt1122/bin
./ttIsql
connect dsn=TT_AGGR_STORE;
create user exalytics identified by welcome1;
grant create session to exalytics;
grant create table to exalytics;
grant select on SYS.OBJ$ to exalytics;
Use the following sample commands to test the connection to the TimesTen In-Memory Database. There are no tables of data yet configured to return.
connect "DSN=TT_AGGR_STORE;uid=exalytics";
tables;
exit
OBIEE Configuration
ODBC Connection
The Client/Server DSN in TimesTen spans computer boundaries and the remote TimesTen server can be configured as part of the DSN.
Standalone
Odbc.ini
Create the OBIEE Linux DSN in the odbc.ini
/EXALYTICS_MWHOME/instances/instance1/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
In a cluster, the directory name includes the string “instance2” for the second computer instead of “instance1”.
The following provides sample modifications to the odbc.ini file:
[ODBC Data Sources]
AnalyticsWeb = Oracle BI Server
Cluster = Oracle BI Server
SSL_Sample = Oracle BI Server
TT_AGGR_STORE = TimesTen 11.2.2 Driver
[TT_AGGR_STORE]
Driver = /home/oracle/TimesTen/tt1122/lib/libttclient.so
TTC_SERVER_DSN = TT_AGGR_STORE
TTC_SERVER = <tt_hostname>
TTC_TIMEOUT = 0
sys.ttconnect.ini
Define the logical Server name for TimesTen by modifying the following file:
TimesTen-root-dir/tt1122/info/sys.ttconnect.ini
The following provides sample modifications to the file:
[tt_hostname]
Description=TimesTen Server
Network_Address=example1.com
TCP_PORT=53397
Cluster
In a multiple node cluster, you achieve high availability of in-memory aggregates by installing a TimesTen instance on each computer and ensuring that each instance is aware of the TimesTen instance on the other computer. You edit the odbc.ini file for Oracle Business Intelligence to contain references to both TimesTen instances.
odbc.ini
A two-node cluster might contain the following configuration details in the odbc.ini file on each computer:
[ODBC Data Sources]
AnalyticsWeb = Oracle BI Server
Cluster = Oracle BI Server
SSL_Sample = Oracle BI Server
TT_AGGR_STORE1 = TimesTen 11.2.2 Driver
TT_AGGR_STORE2 = TimesTen 11.2.2 Driver
[TT_AGGR_STORE1]
Driver = /home/oracle/TimesTen/tt1122/lib/libttclient.so
TTC_SERVER_DSN = TT_AGGR_STORE
TTC_SERVER = <tt_hostname1>
TTC_TIMEOUT = 0
[TT_AGGR_STORE2]
Driver = /home/oracle/TimesTen/tt1122/lib/libttclient.so
TTC_SERVER_DSN = TT_AGGR_STORE
TTC_SERVER = <tt_hostname2>
TTC_TIMEOUT = 0
sys.ttconnect.ini
With this configuration, edit the sys.ttconnect.ini in the /home/oracle/TimesTen/tt1122/info directory to correspond to the odbc.ini file as shown in the following example:
[tt_hostname1]
Description=TimesTen Server
Network_Address=<fully qualified hostname>
TCP_PORT=53397
[tt_hostname2]
Description=TimesTen Server
Network_Address=<fully qualified hostname>
TCP_PORT=53397
Physical Layer
When mapping a TimesTen source into the Physical layer of the Oracle BI repository, ensure that:
- the database type and version are set correctly in the Database field of the General tab of the Database dialog.
- the Call interface field in the General tab of the Connection Pool dialog is set correctly. For TimesTen version 11.2.2., use the ODBC 3.5 call interface.
Updating
There are three ways of updating the TimesTen Database on Exalytics:
- Summary Advisor
- Golden Gate
- Oracle Data Integrator