Exalytics - Timesten Configuration

> Exalytics

1 - About

Timesten on Exalytics

3 - 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
Advertising

4 - 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

5 - 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.

5.1 - 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):

{{(PermSize + TempSize + LogBufMB + 20)}/{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
Advertising

5.2 - 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

6 - Database

6.1 - 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
Advertising

6.2 - 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

7 - OBIEE Configuration

7.1 - ODBC Connection

The Client/Server DSN in TimesTen spans computer boundaries and the remote TimesTen server can be configured as part of the DSN.

7.1.1 - Standalone

7.1.1.1 - 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
7.1.1.2 - 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

7.1.2 - 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.

7.1.2.1 - 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
7.1.2.2 - 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

7.2 - 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.

8 - Updating

There are three ways of updating the TimesTen Database on Exalytics:

  • Summary Advisor
  • Golden Gate
  • Oracle Data Integrator

9 - Documentation / Reference