21 Installing IMDB Cache Manager

This chapter describes how to install Oracle Communications Billing and Revenue Management (BRM) In-Memory Database (IMDB) Cache Manager.

Important:

If you have existing BRM data created on a BRM system before IMDB Cache Manager was installed, you must run the load_pin_uniqueness utility to prepare data for migration to an IMDB Cache Manager-enabled system before you load BRM objects into Oracle IMDB Cache.

Before you read this chapter, you should be familiar with the following:

  • IMDB Cache Manager. See "Using Oracle IMDB Cache Manager".

  • Oracle In-Memory Database Cache concepts and architecture. See Oracle In-Memory Database Cache User's Guide.

Important:

IMDB Cache Manager is an optional feature that requires a separate license.

About Setting Up a BRM System with IMDB Cache Manager

Before you set up a BRM system with IMDB Cache Manager, you should plan your system configuration. For example, you should decide whether the system will be configured with logical partitioning, high availability, a single-schema database, or a multischema database.

About Setting Up IMDB Cache Manager for a Basic BRM System

A basic BRM system for rating prepaid and postpaid real-time events using IMDB Cache Manager includes the following components:

  • Client applications (for example, Customer Center)

  • Service-specific applications (for example, GSM AAA Manager and GPRS AAA Manager)

  • Connection Manager, along with the Facilities Modules (FMs)

  • Resource Reservation Framework (RRF)

  • Real-time discounting pipeline, if your rating includes discounting

  • IMDB Cache DM

  • Oracle IMDB Cache

  • Oracle Database

Figure 21-1 shows a basic BRM system for rating prepaid real-time events with IMDB Cache Manager.

Figure 21-1 A Basic BRM System with IMDB Cache Manager

Description of Figure 21-1 follows
Description of ''Figure 21-1 A Basic BRM System with IMDB Cache Manager''

About Setting Up IMDB Cache Manager in a Multischema System

In a BRM system with multiple database schemas, each schema must be mapped to an instance of IMDB Cache DM. Each IMDB Cache DM handles all the operations associated with the accounts in that specific schema. You can configure one CM for each IMDB Cache DM, one CM for multiple IMDB Cache DMs, or multiple CMs for multiple IMDB Cache DMs.

In a BRM system with multiple database schemas, each Oracle IMDB Cache instance is associated with one schema. There is no overlap in the data stored in the different instances of Oracle IMDB Cache.

The installation and configuration steps for setting up IMDB Cache Manager for a multischema system are the same as for a single-schema system. For each schema, follow the steps in "Installing and Configuring a BRM System with IMDB Cache Manager" to install and configure IMDB Cache Manager and Oracle IMDB Cache, except for the following:

  • Before you run pin_tt_schema_gen -a to generate the schema and load SQL files, the following entries must be changed in BRM_home/bin/pin_tt_schema_gen.values file for the specific schema:

    • Update the schema SQL file name to refer to the database number for the schema. For example:

      $fileName="tt_schema_0.0.0.2.sql";
      
    • Update the database user name for the schema. For example:

      $MAIN_DB{'user'}="Secondary_Schema_User";
      
    • Update the password for the schema database user. For example:

      $MAIN_DB{'password'}="Secondary_Schema_User_Password";
      
    • Specify the user name of the primary schema. For example:

      $primary_db_user_name="Primary_Schema_User";
      
    • Update the database number for the logical partition. For example:

      $db_no_for_load_sql="0.0.0.2";
      
  • During IMDB Cache Manager installation, provide the database number for the specific schema. For example, the database number for the second schema should be 0.0.0.2.

Figure 21-2 shows a basic IMDB Cache-enabled system for multiple database schemas.

Figure 21-2 Basic IMDB Cache-Enabled System for a Multischema Database

Description of Figure 21-2 follows
Description of ''Figure 21-2 Basic IMDB Cache-Enabled System for a Multischema Database''

Hardware and Software Requirements

Table 21-1 describes the hardware and software requirements for installing IMDB Cache Manager.

Table 21-1 Hardware and Software Requirements for IMDB Cache Manager

System Requirement Hardware and Software Version

Operating System

Solaris and Linux

Processor

64-bit architecture

Database Version

  • Oracle 11.1.0.7.0 and required Oracle patches 6890831, 9352179, 6963600.

  • Oracle 11.2.0.1.0

Oracle IMDB Cache

Oracle IMDB Cache 11.2.1.8.2

Oracle Clusterware 11.1.0.7.0

Run Oracle IMDB Cache in its own cluster, not in the Oracle Real Application Clusters (Oracle RAC) cluster.

Java Runtime

J2SE Software Development Kit (JDK) version 1.5

Perl

Perl 5.8.0

Perl Modules:

  • DBI version 1.605

  • DBD-Oracle version 1.16

  • Bit-Vector version 7.1


Installing and Configuring a BRM System with IMDB Cache Manager

This section provides instructions for configuring a basic BRM system with IMDB Cache Manager. The examples demonstrate how to create the data store tt_0.0.0.1 in Oracle IMDB Cache for a single-schema BRM database.

To install and configure a basic BRM system with IMDB Cache Manager:

  1. Install and configure the BRM database.

  2. Install Oracle IMDB Cache. See Oracle TimesTen In-Memory Database Installation Guide.

  3. Install BRM 7.5.

  4. Install IMDB Cache Manager. See "Installing IMDB Cache Manager".

  5. Install any optional components that you want to add to your system.

  6. Create your data stores. See "Creating the Data Store in Oracle IMDB Cache".

  7. If you have existing BRM data that was created before IMDB Cache Manager was installed, run the load_pin_uniqueness utility to prepare data for migration to an IMDB Cache-enabled system.

    Note:

    Stop and restart CM and DM.
  8. Extract the data you want to cache from the BRM database and configure your cache groups schema. See "Generating the BRM Cache Group Schema".

  9. Initialize your data stores. See "Initializing Your Data Stores in Oracle IMDB Cache".

  10. Connecting your data stores to the BRM database. See "Connecting Your Data Stores to the BRM Database".

  11. Connect IMDB Cache DM to your data stores. See "Connecting IMDB Cache DM to Your Data Stores".

  12. Configure your CM to connect to the IMDB Cache DM. See "Connecting the CM to IMDB Cache DM".

Installing IMDB Cache Manager

Note:

The base BRM schema is updated when you install IMDB Cache Manager. The schema updates cannot be undone.

To install IMDB Cache Manager, perform these tasks:

Obtaining Information Needed for Installing IMDB Cache Manager

You will be prompted for the following information about your existing BRM system during the IMDB Cache Manager installation:

Tip:

You can obtain some of the information from the existing BRM_home/setup/pin_setup.values file on your BRM server.
  • The temporary directory for installation (temp_dir)

  • The following information about the BRM database to which IMDB Cache DM will connect:

    • Database alias

    • Database user name

    • Database user password

  • The following information about the machine running the Oracle IMDB Cache:

    • Data store name

    • Database number

    • Port number

Installing IMDB Cache Manager

Important:

IMDB Cache Manager must be installed on the same system where Oracle IMDB Cache is installed.

To install IMDB Cache Manager:

  1. Go to the Oracle Software Delivery Cloud web site (http://edelivery.oracle.com).

  2. Download the software to a temporary directory (temp_dir).

    Important:

    • If you download to a Windows workstation, use FTP to copy the .bin file to a temporary directory on your UNIX server.

    • You must increase the heap size used by the Java Virtual Machine (JVM) before running the installation program to avoid ”Out of Memory” error messages in the log file.

  3. Go to the directory where you installed the Third-Party package and source the source.me file.

    Caution:

    You must source the source.me file to proceed with installation, otherwise ”suitable JVM not found” and other error messages appear.

    Bash shell:

    source source.me.sh
    

    C shell:

    source source.me.csh
    
  4. Go to temp_dir and enter this command:

    7.5.0_TimesTen_Manager_platform.bin
    

    Note:

    You can use the -console parameter to run the installation in command-line mode. To enable a graphical user interface (GUI) installation, install a GUI application such as X Windows and set the DISPLAY environment variable before you install the software.
  5. Follow the instructions on the screen and, when prompted, provide the information you collected. The default installation directory for IMDB Cache Manager is opt/portal/7.5.

    Note:

    If you plan to install IMDB Cache Manager with high availability, ensure that you enter the following details during installation:
    Restrict access to the TimesTen installation to the group 'pin'? [ yes ] no
    Do you want to restrict access to the TimesTen installation to a different group? [ yes ] no
    Are you sure you want to make this instance world-accessible? [ yes ] yes 
    
  6. Go to the directory where you installed the IMDB Cache Manager package and source the source.me file:

    Bash shell:

    source source.me.sh 
    

    C shell:

    source source.me.csh
    

Running the pin_setup Script

The pin_setup script reads the pin_setup.values file, configures IMDB Cache DM, and starts IMDB Cache DM. If necessary, open the BRM_home/setup/pin_setup.values file and change the configuration entries.

To run the pin_setup script:

  1. Log in as user pin.

  2. Go to the BRM_home/setup directory and run the pin_setup script:

    ./pin_setup
    
  3. Check the BRM_home/setup/pin_setup.log file for status and errors.

Granting Privileges to the Global Transaction Tables

To grant read privileges to the IMDB Cache global transaction tables, perform the following for each BRM database user:

  1. Using SQL*Plus, log in to your database as the SYSTEM user.

    sqlplus system/manager@databaseAlias
    
  2. Grant read privileges to the global transaction tables:

    GRANT SELECT ON SYS.DBA_2PC_PENDING TO User;
    GRANT SELECT ON SYS.DBA_2PC_NEIGHBORS TO User;
    
  3. Exit SQL*Plus.

  4. To initialize the database instance with your changes, stop and restart the BRM database.

Creating the Data Store in Oracle IMDB Cache

You create data stores in Oracle IMDB Cache for storing your BRM database tables. When creating your data stores, ensure that they adhere to the following naming convention:

tt_0.M.0.N

where:

  • M specifies the logical partition. The first logical partition is 0, the second logical partition is 1, and so on.

  • N specifies the database schema.

Creating Data Stores for a Basic BRM System

To create a data store in Oracle IMDB Cache:

  1. On the system where Oracle IMDB Cache is installed, create a directory for storing database files:

    mkdir IMDB_home/Database_Files_Location
    

    where:

    • IMDB_home is the directory in which you installed Oracle IMDB Cache.

    • Database_Files_Location is the directory in which you want to store the BRM database files.

    For example:

    mkdir IMDB_home/BRMFiles
    

    Note:

    Oracle recommends using a local disk for the database files instead of a network-mounted disk.
  2. Go to the user home directory:

    cd IMDB_home/info
    
  3. Create a data store configuration file named sys.odbc.ini with the following entries:

    Note:

    For information on configuring the data store attributes in the sys.odbc.ini file, see Oracle TimesTen In-Memory Database Operations Guide.

    sys.odbc.ini configuration file

    [DSN]
    DataStore=Database_Files_Location/Datastore_Name
    OracleNetServiceName=Oracle_Database_Service_Name
    DatabaseCharacterSet=Character_Set
    ConnectionCharacterSet=Character_Set
    PLSQL=1
    OracleNetServiceName=BRM_Database_Service_Name
    oraclepwd=Oracle_DB_Password
    Driver=$TIMESTEN_HOME/lib/libtten.so
    #Shared-memory size in megabytes allocated for the datastore.
    PermSize= Shared_Memory_Size 
    #Shared-memory size in megabytes allocated for temporary data partition, generally half the size of Permsize.
    TempSize=Half_of_PermSize
    PassThrough=0
    #Use large log buffer, log file sizes
    LogFileSize=512
    #Async repl flushes to disk before sending batches so this makes it faster 
    #on Linux
    LogFlushMethod=2
    CkptFrequency=200
    CkptLogVolume=0
    #Limit Ckpt rate to 10 mb/s
    CkptRate=10
    Connections=200
    #Oracle recommends setting LockWait to 30 seconds.
    LockWait=30
    DurableCommits=0
    CacheGridEnable=1
    

    where:

    • DSN is the data source name, which is the same as the data store name. DSN must also be the same as the database alias name in the tnsnames.ora file.

    • DatabaseFilesLocation is the directory where you want to store the database files.

    • DataStoreName is the name of the data store in the Oracle IMDB Cache.

    • Oracle_Database_Service_Name identifies the service name for the BRM database instance.

    • Character_Set specifies the database character set of either UTF8 or AL32UTF8. This value must match the BRM database character set.

    • Oracle_DB_User is the BRM database user.

    • Oracle_DB_Password is the password for the BRM database user.

    • Shared_Memory_Size is the size of the data store's shared-memory segment.

  4. Save and close the file.

  5. Go to IMDB_home/bin and source the ttenv.csh file:

    cd IMDB_home/bin
    source ttenv.csh
    
  6. Set up the Oracle IMDB Cache grid privileges in the BRM database:

    1. Connect to the BRM database as a system administrator:

      cd IMDB_home/oraclescripts
      sqlplus sys as sysdba
      
    2. Run the following SQL scripts:

      @IMDB_home/oraclescripts/initCacheGlobalSchema.sql
      @IMDB_home/oraclescripts/grantCacheAdminPrivileges.sql
      
    3. Run the following commands to grant privileges:

      grant all on TIMESTEN.TT_GRIDID to "Oracle_DB_User";
      

      where Oracle_DB_User is the BRM database user.

    For more information, see Oracle In-Memory Database Cache User's Guide.

  7. Create the data store by using the TimesTen ttIsql utility:

    cd IMDB_home/bin
    ttIsql DataStoreName
    

    where DataStoreName is the name of the data store you defined in the sys.odbc.ini file.

  8. Create the data store user:

    create user DataStoreName identified by DataStorePassword;
    

    where:

    DataStoreUser is the Oracle IMDB Cache data store user.

    DataStorePassword is the password for the Oracle IMDB Cache data store user.

    Important:

    The Oracle IMDB Cache data store user must be the same as the BRM database user. However, the data store password can be different from the BRM database user password.

    To initialize data stores for a multischema setup, you must create the primary user along with the secondary user in all the secondary logical partitions.

    create user Primary_Data_Store_User identified by Primary_Data_Store_Password;
    

    where:

    • Primary_Data_Store_User is the primary data store user.

    • Primary_Data_Store_Password is the password for the primary data store user.

  9. Grant all permissions to the data store user:

    grant all to Data_Store_User;
    
  10. Set the data store user and password:

    ttIsql "uid=Data_Store_User; pwd=Data_Store_Password; dsn=tt_0.0.0.1"
    call ttcacheuidpwdset('Cacheadminuser','Cacheadminuserpwd');
    

    where:

    • Cacheadminuser is the cache user name.

    • Cacheadminuserpwd is the cache password.

  11. Make the data store grid-enabled.

    For example:

    call ttGridCreate('ttGrid');
    call ttGridNameSet('ttGrid');
    call ttGridAttach(1,'LogicalPartition',Host, Port);
    

    where:

    • LogicalPartition is the logical partition number, such as 0.1.0.1.

    • Host is the host on which the data store resides.

    • Port is a free port on the system.

See Oracle TimesTen In-Memory Database Reference for more information on the procedures for creating a data store.

Creating Data Stores for Logical Partitioning

To create the cache grid ttGrid with data stores tt_0.0.0.1 and tt_0.1.0.1:

  1. On the system where Oracle IMDB Cache is installed, create a directory for storing database files:

    mkdir BRM_home/Database_Files_Location
    

    For example:

    mkdir BRM_home/brm_database_files
    

    Note:

    Oracle recommends using a local disk for database files instead of a network mounted disk.
  2. Go to the user home directory:

    cd IMDB_home/info
    
  3. Create (or edit) a data store configuration file named sys.odbc.ini with the data store attributes.

    For example:

    [tt_0.0.0.1]
    DataStore=/opt/portal/7.5/brm_database_files/tt_0.0.0.1
    DatabaseCharacterSet=AL32UTF8
    ConnectionCharacterSet=AL32UTF8
    PLSQL=1
    OracleNetServiceName=pin_db
    oraclepwd=pin01
    Driver=$TIMESTEN_HOME/lib/libtten.so
    # Shared-memory size in megabytes allocated for the datastore.
    PermSize=32
    #Shared-memory size in megabytes allocated for temporary data partition, generally half the size of PermSize.
    TempSize=16
    PassThrough=0
    #Use large log buffer, log file sizes
    LogFileSize=512
    #Async repl flushes to disk before sending batches so this makes it faster 
    #on Linux
    LogFlushMethod=2
    #Limit Ckpt rate to 10 mb/s
    CkptFrequency=200
    CkptLogVolume=0
    CkptRate=10
    Connections=200
    #Oracle recommends setting LockWait to 30 seconds.
    LockWait=30
    DurableCommits=0
    CacheGridEnable=1
    
    [tt_0.1.0.1]
    DataStore=/opt/portal/7.5/brm_database_files/tt_0.1.0.1
    DatabaseCharacterSet=AL32UTF8
    ConnectionCharacterSet=AL32UTF8
    PLSQL=1
    OracleNetServiceName=pin_db
    oraclepwd=pin01
    Driver=$TIMESTEN_HOME/lib/libtten.so
    #The shared-memory size in megabytes allocated for the datastore. 
    PermSize=32
    #Shared-memory size in megabytes allocated for temporary data partition, generally half the size of PermSize.
    TempSize=16
    PassThrough=0
    #Use large log buffer, log file sizes
    LogFileSize=512
    #Async repl flushes to disk before sending batches so this makes it faster 
    #on Linux
    LogFlushMethod=2
    #Limit Ckpt rate to 10 mb/s
    CkptFrequency=200
    CkptLogVolume=0
    CkptRate=10
    Connections=200
    #Oracle recommends setting LockWait to 30 seconds.
    LockWait=30
    DurableCommits=0
    CacheGridEnable=1
    

    Note:

    In the examples above [tt_0.0.0.1] is the DSN for data store tt_0.0.0.1 and [tt_0.1.0.1] is the DSN for data store tt_0.1.0.1. The DSNs must be the same as the database alias name in the tnsnames.ora file.
  4. Save and close the file.

  5. Go to the directory where you installed Oracle IMDB Cache and source the ttenv.csh file:

    cd IMDB_home/bin
    source ttenv.csh
    
  6. Set up the Oracle IMDB Cache grid privileges in the BRM database:

    1. Connect to the BRM database as a system administrator:

      cd IMDB_home/oraclescripts
      sqlplus sys as sysdba
      
    2. Run the following SQL scripts:

      IMDB_home/oraclescripts/initCacheGlobalSchema.sql
      IMDB_home/oraclescripts/grantCacheAdminPrivileges.sql
      
    3. Run the following commands:

      grant all on TIMESTEN.TT_GRIDID to "Oracle_DB_User";
      grant all on TIMESTEN.TT_GRIDINFO to "Oracle_DB_User";
      

      where Oracle_DB_User is the BRM database user.

    For more information, see Oracle TimesTen In-Memory Database Cache User's Guide.

  7. Perform the following tasks on the Oracle IMDB Cache system.

    1. Create the data stores for each logical partition. For example:

      cd IMDB_home/bin
      ttIsql tt_0.0.0.1
      ttIsql tt_0.1.0.1
      
    2. Create the data store user for each data store and grant all permissions:

      ttIsql tt_0.0.0.1
      create user TimesTen_DB_User identified by TimesTen_DB_Password; 
      grant all to TimesTen_DB_User;
      
      ttIsql tt_0.1.0.1
      create user TimesTen_DB_User identified by TimesTen_DB_Password; 
      grant all to TimesTen_DB_User;
      

      where:

      TimesTen_DB_User is the Oracle IMDB Cache data store user and must be the same as the BRM database user.

      TimesTen_DB_Password is the Oracle IMDB Cache data store password.

      Important:

      TimesTen_DB_User must be the same as the BRM database user.

      TimesTen_DB_Password can be different from the BRM database user password.

    3. Set the data store user and password and make each data store grid-enabled:

      ttIsql "uid=TimesTen_DB_User;pwd=TimesTen_DB_Password;dsn=tt_0.0.0.1"
      call ttcacheuidpwdset('Cache_Admin_User', 'Cache_Admin_User_Pwd');
      call ttGridCreate('ttGrid');
      call ttGridNameSet('ttGrid');
      
      ttIsql "uid=TimesTen_DB_User;pwd=TimesTen_DB_Password;dsn=tt_0.1.0.1"
      call ttcacheuidpwdset('Cache_Admin_User', 'Cache_Admin_User_Pwd');
      call ttGridNameSet('ttGrid');
      

      where:

      Cache_Admin_User is the cache user.

      Cache_Admin_User_Pwd is the cache user password.

    For more information on the procedures for creating a cache grid, see Oracle TimesTen In-Memory Database Cache User's Guide.

Initializing Your Data Stores in Oracle IMDB Cache

After following the instructions in "Generating the BRM Cache Group Schema" for generating your schema and load SQL scripts, you must create and initialize the schema in the Oracle IMDB Cache data store.

To initialize your data stores, perform the following steps for each data store in your system:

  1. Set the data store user and password:

    ttIsql "uid=TimesTen_DB_User; pwd=TimesTen_DB_Password; dsn=tt_0.0.0.1"
    call ttcacheuidpwdset('Cache_Admin_User','Cache_Admin_User_Pwd');
    
  2. Start the cache agent:

    call ttcachestart;
    
  3. Create the schema:

    run BRM_home/bin/tt_schema.sql;
    
  4. Create stored procedures:

    run BRM_home/sys/dm_tt/data/tt_create_pkg_pin_sequence.plb;
    run BRM_home/sys/dm_tt/data/tt_create_procedures.plb;
    run BRM_home/sys/dm_tt/data/create_tt_wrappers.plb;
    

    Note:

    The stored procedures in tt_create_pkg_pin_sequence.plb must be loaded before the procedures in tt_create_procedures.plb.
  5. If your system uses logical partitioning, attach the data store to the cache grid:

    call ttGridAttach(1,'LogicalPartition', 'Host', Port);
    

    where

    • LogicalPartition is the logical partition number, such as 0.1.0.1.

    • Host is the host on which the data store resides

    • Port is a free port on the system

  6. Load the BRM data into the data store:

    run BRM_home/bin/tt_load.sql;
    
  7. Get the status and exit:

    call ttrepstart;
    statsupdate;
    exit;
    

Connecting Your Data Stores to the BRM Database

To configure your data stores to establish connections with the BRM database:

  1. Open the tnsnames.ora file located in the directory specified by $TNS_ADMIN.

  2. Add the following entry:

    Note:

    For systems with logical partitions, add a separate tnsnames.ora entry for each logical partition.
    Database_Alias_Name = (DESCRIPTION = (ADDRESS = (PROTOCOL = ) (HOST = ) (PORT = )) 
    (CONNECT_DATA = (SERVICE_NAME = DataStore_Name) (SERVER = timesten_direct )))
    

    where:

    • Database_Alias_Name is the DSN specified in the sys.odbc.ini file

    • DataStore_Name is the name of the data store specified in the sys.odbc.ini file

    • timesten_direct indicates that Oracle IMDB Cache can connect directly to the BRM database

    For example, if your system contains two logical partitions (0.0.0.1 and 0.1.0.1):

    tt_0.0.0.1= (DESCRIPTION = (ADDRESS = (PROTOCOL = ) (HOST = ) (PORT = )) (CONNECT_DATA = (SERVICE_NAME = tt_0.0.0.1) (SERVER = timesten_direct )))
    
    tt_0.1.0.1= (DESCRIPTION = (ADDRESS = (PROTOCOL = ) (HOST = ) (PORT = )) (CONNECT_DATA = (SERVICE_NAME = tt_0.1.0.1) (SERVER = timesten_direct )))
    
  3. Save and close the file.

Note:

To initialize data stores for a multischema setup, you must generate the schema and load SQL files for each database schema by using the pin_tt_schema_gen utility. Then, follow the procedures in "Creating the Data Store in Oracle IMDB Cache" and "Initializing Your Data Stores in Oracle IMDB Cache" to create and initialize the data stores for each schema.

Connecting IMDB Cache DM to Your Data Stores

Each IMDB Cache DM instance must be connected to a data store.

Connecting the IMDB Cache DM to Your Data Store

To configure IMDB Cache DM to connect to your data store:

  1. Open the IMDB Cache DM configuration file (BRM_home/sys/dm_tt/pin.conf) in a text editor.

  2. Set the sm_database_tt entry to the data store. For example:

    - dm sm_database_tt tt_0.0.0.1
    
  3. Set the sm_pw_tt entry to the data store password.

    - dm sm_pw_tt Datastore_Password
    
  4. Save and close the file.

  5. Restart IMDB Cache DM.

Connecting Each IMDB Cache DM Instance to a Data Store

For logical partitioning, there is a one-to-one relationship between data stores and IMDB Cache DM instances. This section describes how to create additional IMDB Cache DM instances and connect each one to a unique data store.

To connect each IMDB Cache DM instance to a data store:

Connecting IMDB Cache DM to Your First Data Store

Use the existing IMDB Cache DM directory to configure the settings for your first data store.

To configure the IMDB Cache DM for your first data store:

  1. Open the BRM_home/sys/dm_tt/pin.conf file in a text editor.

  2. Set the sm_database_tt entry to the data store's SQL*Net alias that you defined in the tnsnames.ora file. For example, for data store tt_0.0.0.1:

    - dm sm_database_tt tt_0.0.0.1
    
  3. Set the sm_tt_pw entry to the data store password:

    - dm sm_tt_pw Datastore_Password
    
  4. Set the logical_partition entry to 1 to enable logical partitioning:

    - dm logical_partition 1
    
  5. Save and close the file.

Creating Additional IMDB Cache DM Instances for Each Subsequent Data Store

You add new IMDB Cache DM instances to your system by making copies of the existing IMDB Cache DM directory. You then connect each new IMDB Cache DM instance to its associated data store.

To connect a new IMDB Cache DM instance to a subsequent data store:

  1. Add a new IMDB Cache DM instance by making a copy of the IMDB Cache DM directory:

    1. In BRM_home/sys, create a subdirectory named dm_tt_DataStoreNumber. For example, create a subdirectory named dm_tt_0.1.0.1 for data store tt_0.1.0.1.

    2. Copy the contents of BRM_home/sys/dm_tt into dm_tt_DataStoreNumber.

      For example, copy the contents of BRM_home/sys/dm_tt into dm_tt_0.1.0.1

  2. Connect the new IMDB Cache DM instance to its associated data store:

    1. Open the BRM_home/sys/dm_tt/dm_tt_DataStoreNumber/pin.conf file in a text editor.

    2. Update the following entries:

      - dm sm_database_tt tt_0.1.0.1 
      - dm sm_pw_tt Datastore_Password
      - dm logical_partition 1
      
    3. Configure dm_tt_0.1.0.1 to have its own log file location and its own port:

      - dm dm_logfile BRM_home/sys/dm_tt_0.1.0.1/dm_tt_0.1.0.1.pinlog- dm dm_port Port
      
    4. Save and close the file.

  3. Configure the pin_ctl utility for starting and stopping the new IMDB Cache DM instance:

    1. Open the BRM_home/bin/pin_ctl.conf file in a text editor.

    2. Add the following line to the components list:

      start_sequence DMTT_Instance2_Service_Name=DMTT_Instance1_Service_Name
      

      where:

      start_sequence is the start and stop sequence number. This determines the order in which components are started or stopped.

      DMTT_Instance2_service_name is the name of the IMDB Cache DM instance.

      DMTT_Instance1_service_name indicates that DMTT_Instance2_service_name is different from the standard service name.

      For example:

      1 dm_tt #This line is preconfigured with IMDB Cache DM installation.
      
      1 dm_tt2=dm_tt #This line is added for multiple IMDB Cache DM instances.
      
      
    3. Add the following line to the startup configuration section of the file:

      start_DMTTInstance_Service_Name cpidproc:DMTTInstance_Service_Name: cport:DMTT_Port host:DMTT_Host dbno:DSN
      

      where:

      start_DMTTInstance_Service_Name is the name of the start command for the IMDB Cache DM instance.

      cpidproc:DMTTInstance_Service_Name is a simple process name matching filter.

      cport:DMTT_Port is the IMDB Cache DM port number.

      host:DMTT_Host is the IMDB Cache DM host name.

      dbno:DSN is the data store database number.

      For example:

      start_dm_tt cpidproc:dm_tt: cport:1234 host:vm31230 dbno:0.0.0.1
      
      start_dm_tt2 cpidproc:dm_tt2: cport:2233 host:vm31230 dbno:0.1.0.1
      
    4. Save and close the file.

    See "Using the pin_ctl Utility to Monitor BRM".

  4. Go to the BRM_home/bin directory and start the IMDB Cache DM instance by running the following command:

    pin_ctl start dm_tt
    

Connecting the CM to IMDB Cache DM

To configure the Connection Manager (CM) to connect to IMDB Cache DM:

  1. Open the CM pin.conf file (BRM_home/sys/cm/pin.conf) in a text editor.

  2. Set the enable_publish entry to 0:

    - fm_publish enable_publish 0
    
  3. Add a dm_pointer entry for each IMDB Cache DM instance in your system. Replace Hostname with the host of the IMDB Cache DM instance, and replace Port with the port number of the IMDB Cache DM instance.

    For example, if your system contains two IMDB Cache DM instances:

    - cm dm_pointer 0.0.0.1 ip Hostname Port
    - cm dm_pointer 0.1.0.1 ip Hostname Port
    
  4. Add a dm_attribute entry for each logical partition in your system:

    - cm dm_attributes LogicalPartition Attribute, Attribute, ... 
    

    where:

    LogicalPartition specifies the logical partition number.

    Attribute is set to one or more of the following:

    • scoped: Use this option only when you use branding. It restricts database access for separate brands. You can disable this option if branding is not used.

    • assign_account_obj: Assigns an owner account reference when the object is created. If you use branding, all objects are associated with an account. You can disable this option if branding is not used.

    • searchable: Limits access to certain logical partitions in a multischema environment. The CM can search all nodes in a single cache grid or perform a global search on all nodes in all the cache grids. This option lets the CM know which nodes are searchable.

    For example, if your system contains two logical partitions:

    - cm dm_attributes 0.0.0.1 assign_account_obj, scoped, searchable 
    - cm dm_attributes 0.1.0.1 assign_account_obj, scoped, searchable 
    
  5. Set the timesten entry to 1, which indicates that this environment uses Oracle IMDB Cache:

    - cm timesten 1
    
  6. If your system contains logical partitions, set the logical_partition entry to 1:

    -cm logical_partition 1
    
  7. Save and close the file.

  8. Verify that IMDB Cache DM is running.

  9. Restart the CM.

About Installing Optional Components

Consider a scenario where you are using BRM with IMDB Cache Manager, and you install an additional optional component, which creates additional tables in the BRM database. You may want these additional tables to be cached in Oracle IMDB Cache to improve the performance of your BRM system.

To cache additional tables in Oracle IMDB Cache, you must rerun the pin_tt_schema_gen utility, schema SQL script, and load SQL script. See "Generating the BRM Cache Group Schema".

Note:

You may need to configure your BRM system for using the additional component with Oracle TimesTen In-Memory Database cache.

Uninstalling IMDB Cache Manager

To uninstall IMDB Cache Manager, run the uninstaller.bin utility from the BRM_home/uninstaller/TimesTen_Manager directory.