7 Installing a Multischema System

Learn how to install Oracle Communications Billing and Revenue Management (BRM) in a multischema system.

Topics in this document:

Before Installing a Multischema System

Before you install a multischema system, verify the following:

  • Your system meets the minimum hardware and software requirements.

    See "System Requirements".

  • You have all the software required to run BRM with an Oracle database in an Oracle Real Application Clusters (Oracle RAC) system.

    See "Database Requirements".

  • All database schemas in your system use the following:

    • A unique schema name

    • The same tablespace names

Multischema Installation Overview

You can distribute BRM data among multiple database schemas to increase scalability and availability. For more information about multischema systems, see "A BRM Multischema Production System".

Typically, a multischema system includes one or more database schema machines and several machines running BRM. You configure the additional BRM machines so that each Oracle Data Manager (DM) process communicates with one particular schema across the network.

For example, Figure 7-1 shows a multischema system with two BRM installation machines and two schemas.

Figure 7-1 Two-Schema BRM Multischema Environment

Description of Figure 7-1 follows
Description of "Figure 7-1 Two-Schema BRM Multischema Environment"

In a multischema system:

  • The primary installation machine must contain, at a minimum, the primary Connection Manager (CM), the primary Oracle DM, and a database client. The primary CM communicates with both primary and secondary Oracle DMs, and the primary DM is dedicated to the primary database schema.

  • The secondary installation machine must contain, at a minimum, a secondary DM and a database client. In figure Figure 7-1, it also contains a secondary CM. The secondary CM communicates with the secondary DM, and the secondary DM is dedicated to the secondary database schema. Although the secondary CM is not required, it enables you to perform dedicated operations, such as billing, on the secondary database schema.

  • The primary database schema contains all the configuration, pricing, audit trail, and uniqueness objects. Modifications to configuration, pricing, and audit trail objects are always performed by the primary DM in the primary database schema. Secondary DMs can modify uniqueness objects in the primary database schema by using schema qualifications. The primary database schema also contains subscriber data, such as events and account objects.

  • The secondary database schema contains subscriber data. Each secondary database schema also has access to the configuration, pricing, audit trail, and uniqueness objects stored in the primary database schema.

Installing a Multischema System: Task List

This section provides an overview of the tasks you must perform to install and configure a multischema system.

  1. Install an Oracle database across all the servers in your Oracle RAC system.

    For more information, see the following:

  2. Through one Oracle RAC node, create the primary database schema.

    See "Creating the BRM User for Oracle".

    Note:

    The term "BRM user" is synonymous with the term "database schema."

  3. Through each of the other Oracle RAC nodes, create a secondary database schema.

    See "Creating the BRM User for Oracle".

  4. Configure each database schema in your system to connect to all the other database schemas, and verify that the connections work.

    Note:

    This enables the database links created when you run the pin_multidb.pl script (see step 17) to work across the schemas.

    For information, see your Oracle database documentation.

  5. For each database schema, grant execute permission for dbms_lock.

    See "Granting Execute Permission to pin_user".

  6. On your primary installation machine, install the PERL libraries and the JRE required to install BRM components.

  7. On each of your secondary installation machines, install the PERL libraries and the JRE required to install BRM components.

  8. On your primary installation machine, install BRM.

    See "Installing BRM on the Primary Installation Machine".

  9. On your secondary installation machines, install BRM.

    See "Installing BRM on a Secondary Installation Machine".

  10. Verify that the BRM installation machines can connect to all the schemas.

    See "Verifying That the Installation Machines Connect to All Schemas".

  11. Install Multidatabase Manager on the primary installation machine.

    See "Installing and Configuring Multidatabase Manager on the Primary Installation Machine".

  12. (Optional) Disable the creation of uniqueness objects.

    See "Disabling Creation of Uniqueness Objects".

  13. Edit the pin_multidb.conf file on the primary installation machine.

    See "Configuring pin_multidb.conf on the Primary Installation Machine".

  14. Edit the client wallet on the primary installation machine.

    See "Configuring Client Wallet on the Primary Installation Machine".

  15. If your system includes an SSL-enabled Oracle database, edit the SSL database wallet on the primary installation machine. See "Connecting to SSL-Enabled Oracle Database".

  16. Grant Oracle database system privileges to each database schema in your system.

    See "Granting System Privileges to Each Database Schema".

  17. Run the pin_multidb.pl script on the primary installation machine.

    See "Running pin_multidb.pl on the Primary Installation Machine".

  18. (Optional) Make custom tables available to all the schemas in your system.

    See "Creating Custom Tables That Are Available to All Database Schemas" in BRM System Administrator's Guide.

  19. (Optional) Configure BRM to enforce the creation of unique account numbers.

    See "Enforcing the Creation of Unique Account Numbers".

Setting Up Oracle RAC for a Multischema System

To configure Oracle RAC for a multischema system:

  1. Set up an Oracle RAC instance for each database schema that you plan to create.

    For more information, see your Oracle RAC documentation.

  2. Configure Oracle database services.

    See "Configuring Oracle Database Services".

  3. Add entries for the Oracle database services to all tnsnames.ora files that will be referenced by the Oracle DMs in your system.

    See "Defining Connections to the Oracle Database Services".

Configuring Oracle Database Services

You use Oracle database services to connect Oracle DMs to Oracle RAC instances. You must map each database service to one Oracle RAC instance.

For example, if your system has four database schemas and five Oracle RAC instances, configure the database services as shown in Table 7-1.

Table 7-1 Example Database Service Configuration

Database Service Oracle RAC Instance Backup Oracle RAC Instance for High Availability

Service1

Oracle RAC instance 1

Oracle RAC instance 5

Service2

Oracle RAC instance 2

Oracle RAC instance 5

Service3

Oracle RAC instance 3

Oracle RAC instance 5

Service4

Oracle RAC instance 4

Oracle RAC instance 5

Note:

Oracle RAC systems are typically configured for high availability, so a backup Oracle RAC instance is included in the examples in this section. The backup instance is not required, however, for a multischema system.

To create the services in the preceding table, log on to any Oracle RAC node as the Oracle database administrator, and run the following commands:

srvctl add service -d racDatabaseName -s service1 -r racInstanceName1 -a racInstanceName5 -P Basic
srvctl add service -d racDatabaseName -s service2 -r racInstanceName2 -a racInstanceName5 -P Basic
srvctl add service -d racDatabaseName -s service3 -r racInstanceName3 -a racInstanceName5 -P Basic
srvctl add service -d racDatabaseName -s service4 -r racInstanceName4 -a racInstanceName5 -P Basic

For information about the srvctl command, see your Oracle RAC documentation.

Defining Connections to the Oracle Database Services

Perform the following procedure in the appropriate tnsnames.ora files.

To define connections to the Oracle database services:

  1. Open the tnsnames.ora file in a text editor.

    By default, that file is in the Oracle_home/network/admin/ directory.

  2. For each database service, add the following connect descriptor:
    connectionString =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = primaryRacInstanceHostName)(PORT = oraHostPortNo))
        (ADDRESS = (PROTOCOL = TCP)(HOST = backupRacInstanceHostName)(PORT = oraHostPortNo))
        (LOAD_BALANCE = OFF)
        (CONNECT_DATA = 
          (SERVER = DEDICATED)
          (SERVICE_NAME = serviceName)
          (FAILOVER_MODE =
            (TYPE = SELECT)
            (METHOD = BASIC)
            (RETRIES = 180)
            (DELAY = 5)
          )
        )
      )
    

    where:

    • connectionString is the connection name.

      Note:

      The sm_database entry in the Oracle DM pin.conf file must match this entry. See "Installing BRM on the Primary Installation Machine" and "Installing BRM on a Secondary Installation Machine".

    • ADDRESS defines a single listener protocol address. Add an entry for the primary Oracle RAC instance's listener and the backup Oracle RAC instance's listener.

    • primaryRacInstanceHostName is the name of the computer on which the service's primary Oracle RAC instance resides.

    • backupRacInstanceHostName is the name of the computer on which the service's backup Oracle RAC instance resides.

    • oraHostPortNo is the port number for the Oracle database on the host computer. Typically, this number is 1521.

    • LOAD_BALANCE specifies whether to distribute connection requests across the listeners specified in the ADDRESS entries. For high-availability BRM systems, set this to OFF.

    • serviceName specifies the name of the database service.

      Note:

      The sm_svcname entry in the Oracle DM pin.conf file must match this entry. See "Installing BRM on the Primary Installation Machine" and "Installing BRM on a Secondary Installation Machine".

    • For FAILOVER MODE,

      TYPE = SELECT specifies that work in progress is not lost when failover occurs from the primary to the backup Oracle RAC node.

      METHOD = BASIC specifies that applications connect to a backup Oracle RAC node only after their connection to the primary Oracle RAC node fails. Backup connections are not preestablished.

  3. Save and close the file.

Installing BRM on the Primary Installation Machine

The primary installation machine must contain, at a minimum, the primary CM, the primary Oracle DM, and a database client.

Note:

The database client is required because the primary Oracle DM and the primary database schema are installed on different machines.

To set up the primary installation machine:

  1. Install BRM. See "Installing BRM".

  2. Connect the Oracle DM to the primary Oracle RAC instance:

    1. Open the Oracle DM configuration file in a text editor:

      BRM_home/sys/dm_oracle/pin.conf

    2. Set the sm_database entry to the connect descriptor configured for the primary Oracle RAC instance:

      - dm sm_database connectionString
      

      connectionString must match the connectionString entry for the primary Oracle RAC instance in the tnsnames.ora file.

    3. Add the following entry:

      - dm sm_svcname serviceName
      

      serviceName must match the SERVICE_NAME entry in the connect descriptor specified in the preceding step.

    4. Save and close the file.

    5. Stop and restart the Oracle DM.

  3. Configure the primary database client to connect to each secondary database schema.

    For information, see "Installing the Database and Oracle DM on Separate Machines".

  4. Install the optional components you purchased that might add tables to your database.

    Note:

    • You must install optional components before you run the pin_multidb.pl script to ensure that configuration objects from your optional component tables are made available to your secondary database schemas. See "Running pin_multidb.pl on the Primary Installation Machine".

    • If you are installing optional managers, such as GSM Manager, you must run the "object_auditing" script after you run the pin_multidb.pl script. Otherwise, object auditing for that optional manager's storable classes will fail.

Installing BRM on a Secondary Installation Machine

A secondary installation machine must contain, at a minimum, an Oracle DM and a database client.

Note:

  • The database client is required because a secondary installation machine and its corresponding secondary database schema machine (which is in an Oracle RAC system) are different machines.

  • You must install all of the BRM software on all machines that run a BRM process, even if you run only a CM or a DM on a particular machine.

To set up a secondary installation machine:

  1. Copy the BRM wallet from your primary installation machine to your secondary installation machine.

  2. Set the BRM_WALLET and BRM_CONF_WALLET environment variables to the location of your BRM wallet on the secondary installation machine:

    setenv BRM_WALLET BRM_home/wallet/client
    setenv BRM_CONF_WALLET BRM_home/wallet/client
  3. Install BRM. See "Installing BRM".

  4. Connect the Oracle DM to a secondary Oracle RAC instance:

    1. Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor.

    2. Set the sm_database entry to the connect descriptor configured for a secondary Oracle RAC instance:

      - dm sm_database connectionString

      connectionString must match the connectionString entry for a secondary Oracle RAC instance in the tnsnames.ora file.

    3. Add the following entry:

      - dm sm_svcname serviceName

      serviceName must match the SERVICE_NAME entry in the connect descriptor specified in the preceding step.

    4. Save and close the file.

    5. Stop and restart the Oracle DM.

  5. Configure the secondary database client to connect to the primary database schema.

    For information, see "Installing the Database and Oracle DM on Separate Machines".

  6. Install the same optional components that you installed on the primary installation machine.

  7. On the primary installation machine, generate the root key by running the following command:

    pin_crypt_app -genrootkey 

    The root key is generated.

  8. On both primary and secondary installation machines, set the generated primary root key in the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf).

Verifying That the Installation Machines Connect to All Schemas

Verify that BRM was installed and set up properly on your installation machines by connecting to the primary and secondary database schemas.

Using testnap to Verify Access to Your Schemas

The BRM testnap utility tests your installation machine's connection to the database schema by establishing a Portal Communications Module (PCM) connection with the CM and executing PCM opcodes using that connection. For more information, see "testnap" in BRM Developer's Reference.

Verifying Access between Primary Installation Machine and Primary Schema

Perform the following procedure on the primary installation machine to verify that it can connect to the primary database schema:

  1. Log in as user pin, go to the BRM_home/sys/test directory, and open the pin.conf file in a text editor such as vi:

    su - pin
    cd BRM_home/sys/test
    vi pin.conf
    
  2. Modify the following entries in the pin.conf file:

    - nap cm_ptr ip primary_hostname port_number
    - nap login_name login_name

    where:

    • primary_hostname is the host name of the primary installation machine.

    • port_number is the port number of the primary CM.

    • login_name is the login for the primary CM (the default is root.0.0.0.1).

  3. Run the testnap utility from the BRM_home/sys/test directory, and check for connection errors:

    testnap
    ====>database 0.0.0.1 from pin.conf "userid"
    q

Verifying Access between Secondary Installation Machines and Secondary Schemas

Perform the following procedure on each secondary installation machine to verify that it can connect to its secondary database schema:

  1. Log in as user pin, go to the BRM_home/sys/test directory, and open the pin.conf file in a text editor such as vi:

    cd BRM_home/sys/test
    vi pin.conf
  2. Modify the following entries in the pin.conf file:

    - nap cm_ptr ip secondary_hostname port_number
    - nap login_name login_name

    where:

    • secondary_hostname is the host name of the secondary installation machine.

    • port_number is the port number of the secondary CM.

    • login_name is the login for the secondary CM (the default is root.0.0.0.2).

  3. Run the testnap utility from the BRM_home/sys/test directory, and check for connection errors:

    testnap
    ====>database 0.0.0.2 from pin.conf "userid"
    q

Installing and Configuring Multidatabase Manager on the Primary Installation Machine

To install and configure Multidatabase Manager, perform the following procedure on the primary installation machine:

  1. Stop all BRM processes if running. See "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

  2. Install Multidatabase Manager. See "Installing Individual BRM Components".

  3. Go to the BRM_home/setup directory, and run the pin_setup script.

  4. Log in as user pin and copy the Multidatabase Manager configuration file (BRM_home/apps/multi_db/pin.conf) to the BRM_home/setup/scripts directory:

    su - pin
    cp BRM_home/apps/multi_db/pin.conf BRM_home/setup/scripts
    
  5. Go to the BRM_home/setup/scripts directory, and open the pin.conf file in a text editor such as vi:

    cd BRM_home/setup/scripts
    vi pin.conf
  6. Modify the following entries in the pin.conf file:

    - nap cm_ptr ip primary_hostname port_number
    - nap login_name login_name

    where:

    • primary_hostname is the host name of the primary installation machine.

    • port_number is the port number of the primary CM.

    • login_name is the login for the primary CM (the default is root.0.0.0.1).

  7. Start the CM and Oracle DM processes.

    See "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

  8. Run the testnap utility from the BRM_home/setup/scripts directory, and check for connection errors:

    testnap
    ====>database 0.0.0.1 from pin.conf "userid"
    q

Disabling Creation of Uniqueness Objects

BRM requires unique service login names. The /uniqueness objects maintain a list of unique login names across multiple database schemas. The list is used during authentication. You can disable creation of /uniqueness objects. For example, you might want to disable creation of /uniqueness objects if you use your own authentication software.

To disable creation of /uniqueness objects:

  1. Open the CM configuration file (BRM_home/sys/cm/pin.conf).

  2. Edit the following entry:

    -cm uniqueness_login 1

    where:

    • 0 does not create uniqueness objects.

    • 1 creates uniqueness objects. This is the default.

  3. Save the file.

  4. Stop and restart the CM.

Configuring pin_multidb.conf on the Primary Installation Machine

You must enter configuration parameters for your multischema setup in the pin_multidb.conf file.

Note:

This file is accessible only if you installed Multidatabase Manager for the appropriate platform. See "Installing and Configuring Multidatabase Manager on the Primary Installation Machine".

To configure a BRM multischema system:

  1. Open the BRM_home/setup/scripts/pin_multidb.conf file in a text editor such as vi:
    vi BRM_home/setup/scripts/pin_multidb.conf
  2. Modify the configuration entries listed in Table 7-2.

    Note:

    Include a set of $PIN_MD_SECONDARY*[x] entries for each secondary database schema in your system. For example, if your system contains three secondary database schemas, the file should contain a set of $PIN_MD_SECONDARY* entries ending in [0], a set ending in [1], and a set ending in [2].

Table 7-2 pin_multidb.conf File Entries

Entry Description

$JDBC_JAR_FILE

Specify the location of the JDBC Library (ojdbc8.jar).

$PIN_MD_SQL_PLATFORM

Specify the database software your multischema system uses.

Enter 'Oracle'.

$PIN_MD_SQL_BASE

Set this to $ORACLE_HOME.

$PIN_MD_INFRANET_BASE

Specify the directory in which you installed BRM on your primary installation machine.

You must change this value if you installed BRM in a directory other than the default directory.

$PIN_MD_CM_HOST

Enter the machine name where the primary CM is running.

$PIN_MD_CM_PORT

Enter the primary CM's port number. The default is 11960.

Check the port number by looking in the BRM_home/sys/cm/pin.conf file.

$PIN_MD_PRIMARY_DBNO

Enter the primary database number. The default is "0.0.0.1".

$PIN_MD_PRIMARY_OWNER

Enter the name of the primary database schema. The default is "PIN".

This value must match the $PIN_MD_SECONDARY_PARENT_SCHEMA [x] value.

$PIN_MD_PRIMARY_DBNAME

Enter the database alias for the primary database schema.

$PIN_MD_PRIMARY_HOSTNAME

Enter the machine name where the primary Oracle DM is running.

$PIN_MD_PRIMARY_PORT

Enter the port number for the primary DM. The default is 12950.

$PIN_MD_SECONDARY_START_INST

Specify the $PIN_MD_SECONDARY*[x] array number for the first secondary database schema to add to your system, where x is the array number.

For example:

  • When initially setting up a multischema system containing three secondary database schemas, set this entry to "0" and set $PIN_MD_SECONDARY_STOP_INST to "2". This tells the pin_multidb.pl script to configure secondary database schemas based on arrays 0, 1, and 2.

  • When adding secondary database schemas to an existing multischema system, enter the $PIN_MD_SECONDARY*[x] array number for the first schema being added to the system. For example, if your system contains three secondary database schemas (0, 1, and 2) and you are adding two more schemas, set this entry to "3" and set $PIN_MD_SECONDARY_STOP_INST to "4". This tells the pin_multidb.pl script to configure secondary database schemas based only on arrays 3 and 4 and to ignore arrays 0, 1, and 2.

Note: You must include a set of $PIN_MD_SECONDARY*[x] entries for each secondary database schema in your system. For example, if your system contains three secondary database schemas, the pin_multidb.conf file should contain a set of $PIN_MD_SECONDARY* entries ending in [0], a set ending in [1], and a set ending in [2].

The default is "0".

$PIN_MD_SECONDARY_END_INST

Specify the $PIN_MD_SECONDARY*[x] array number for the last secondary database schema to add to your system, where x is the array number.

For example, when you initially set up a multischema system containing three secondary database schemas, enter "2".

When adding secondary database schemas to an existing multischema system, enter the $PIN_MD_SECONDARY*[x] array number for the last schema being added to the system. For example, if your system contains three secondary database schemas (corresponding to arrays 0, 1, and 2) and you are adding two more schemas, enter "4".

The default is "0".

$PIN_MD_SECONDARY_DBNO [x]

Enter the secondary database number. The default is "0.0.0.2".

$PIN_MD_SECONDARY_OWNER [x]

Enter your user name for the secondary database schema. The default is "PINB".

$PIN_MD_SECONDARY_DBNAME [x]

Enter the database alias for the secondary database schema.

Note: Ensure that you enter a unique database alias for each secondary database schema.

$PIN_MD_SECONDARY_HOSTNAME [x]

Enter the machine name where the secondary Oracle DM is running.

$PIN_MD_SECONDARY_PORT [x]

Enter the DM port number for the secondary database schema.

$PIN_MD_SECONDARY_PARENT_DBNO [x]

Enter the database number of the primary database schema. The default is "0.0.0.1".

$PIN_MD_SECONDARY_PARENT_SCHEMA [x]

Enter the name of the primary database schema.

This value must match the $PIN_MD_PRIMARY_OWNER [x] value.

Configuring Client Wallet on the Primary Installation Machine

On your primary installation machine, enter the configuration parameters for your multischema setup in the client wallet by using the pin_crypt_app utility. See "pin_crypt_app" in BRM Developer's Guide for more information about the utility's syntax and parameters.

To configure the client wallet, perform the following on the primary installation machine for each secondary database schema:

  1. Go to the BRM_home/bin directory.

  2. Add or modify the values in the client wallet by running the following command:

    pin_crypt_app -setconf -wallet clientWalletLocation -parameter configEntry -value value

    where:

    • clientWalletLocation is the path to the client wallet.

    • configEntry is the configuration entry in the client wallet. See Table 7-3 for the entries to be added or modified.

    • value is the value of the configuration entry to store in the client wallet.

      Note:

      Ensure that you add or modify the entries listed in Table 7-3 for each secondary schema.

    Table 7-3 Client Wallet Entries

    Entry Description

    oracle.security.client.connect_stringx

    where x is the array number of the secondary database schema. For example, if your system contains three secondary database schemas, the client wallet should contain a set of schema entries ending in [0], a set ending in [1], and a set ending in [2].

    Enter the database alias for the secondary database schema.

    Note: Ensure that you enter a unique database alias for each secondary database schema.

    oracle.security.client.usernamex 

    Enter your user name for the secondary database schema. The default is "PINB".

    oracle.security.client.passwordx 

    Enter your password for the secondary database schema.

    0.0.0.x_user_password

    Enter the database password.

The configuration entries are stored in the client wallet.

Connecting to SSL-Enabled Oracle Database

You connect your BRM multischema system to an SSL-enabled Oracle database by updating the SSL database wallet. To do so, you use the pin_crypt_app utility to add the following configuration entries to the SSL database wallet:

  • oracle.security.client.connect_stringX: Specifies the database alias for a secondary database schema.

  • oracle.security.client.usernameX: Specifies the user name for a secondary database schema.

  • oracle.security.client.passwordX: Specifies the password for the secondary database schema.

where X is the secondary database schema number. That is, 1 for the first secondary database schema, 2 for the second secondary database, and so on.

For example, if your multischema system contains a primary database schema and two secondary database schemas, you would add the following configuration entries:

oracle.security.client.connect_string1
oracle.security.client.username1
oracle.security.client.password1
oracle.security.client.connect_string2
oracle.security.client.username2
oracle.security.client.password2

To add configuration entries to the SSL database wallet, do the following:

  1. Go to the BRM_home/bin directory.

  2. Run the following command for each configuration entry:

    pin_crypt_app -setconf -wallet DBWalletLocation -parameter configEntry -value value

    where:

    • DBWalletLocation is the path and file name of the SSL database wallet.

    • configEntry is the name of the configuration entry.

    • value is the value of the configuration entry.

    When the prompt appears, enter the password for the wallet.

Granting System Privileges to Each Database Schema

You must grant Oracle database system privileges to the primary database schema and each secondary database schema in your system.

To grant system privileges to each database schema, perform the following on the primary BRM installation machine:

  1. Log in to your database as user sysdba:

    % sqlplus system@databaseAlias as sysdba
    Enter password: password

    where:

    • password is the Oracle system database user password.

    • databaseAlias is the Oracle system database alias.

  2. Grant system privileges by running the following command separately for each database schema:

    SQL> grant create table, create view, create trigger to schemaUserName identified by schemaPassword;
    
    Grant succeeded.
    
    SQL> commit;
    
    Commit complete.

    where:

    • schemaUserName is the user name for the schema to which you are granting privileges.

    • schemaPassword is the password for the specified schema user name.

Running pin_multidb.pl on the Primary Installation Machine

The pin_multidb.pl script initializes and configures your primary and secondary database schemas.

Running pin_multidb.pl -i

Running the pin_multidb.pl script with the -i parameter initializes the primary and secondary database schemas. See "pin_multidb" in BRM System Administrator's Guide.

To run pin_multidb -i, perform the following procedure on the primary installation machine:

  1. Log in as user pin, go to the BRM_home/apps/multi_db directory, and open the config_dist.conf file in a text editor such as vi:

    su - pin
    cd BRM_home/apps/multi_db
    vi config_dist.conf
  2. Change the status of all secondary database schemas to OPEN.

    Note:

    If your system contains multiple secondary database schemas, create a new set of entries for each additional secondary database schema.

    DB_NO = "0.0.0.1" ;             # 1st database config block.
    PRIORITY = 1 ;
    MAX_ACCOUNT_SIZE = 100000 ;
    STATUS = "OPEN" ;
    SCHEMA_NAME = "pin111x" ;
      
    DB_NO = "0.0.0.2" ;             # 2nd database config block.
    PRIORITY = 1 ;
    MAX_ACCOUNT_SIZE = 100000 ;
    STATUS = "OPEN" ;
    SCHEMA_NAME = "pin112x" ;
  3. Go to the BRM_home/setup/scripts directory, and run pin_multidb.pl -i:

    cd BRM_home/setup/scripts
    perl pin_multidb.pl -i 

    This starts a series of interactive prompts. Follow the instructions on the screen.

    Note:

    When a prompt instructs you to set up schema qualifications, see "Setting Up Schema Qualifications" for more information.

  4. At the command prompt, enter the BRM wallet password.

  5. Verify that pin_multidb.pl created the MD_PRIMARY database link between the primary database schema and each secondary database schema by performing the following procedure on each secondary database schema:

    1. Log in to the secondary database schema:

      % sqlplus schema_user_name@database_alias
      Enter password: password

      where:

      schema_user_name is the user name for the secondary database schema.

      password is the password for the specified schema user name.

      database_alias is the BRM database alias of the secondary database schema.

    2. Enter the following SQL command:

      SQL> select poid_id0 from uniqueness_t@MD_PRIMARY where poid_id0=1;

      If the command is successful, the following lines are returned:

      poid_id0
      ---------------------------------------------------------------
      1

      If an error is returned, re-create the MD_PRIMARY database link and then rerun the SQL query:

      1. Log in to the secondary database schema:

        % sqlplus schema_user_name@database_alias
        Enter password: password

        where:

        schema_user_name is the user name for the secondary database schema.

        password is the password for the specified schema user name.

        database_alias is the BRM database alias of the secondary database schema.

      2. Enter the following SQL command to create the database link:

        SQL> CREATE DATABASE LINK MD_PRIMARY CONNECT TO $PIN_MD_PRIMARY_OWNER IDENTIFIED by $PIN_MD_PRIMARY_PASSWD USING '$PIN_MD_PRIMARY_DBNAME';

        For information about the $ entries, see Table 7-2.

      3. Enter the following SQL command to verify that the link was created:

        SQL> select * from all_db_links;

        If the command is successful, the MD_PRIMARY database link and any other database links created in the database are returned.

        If the command fails, consult your Oracle systems administrator.

  6. Check the primary CM's configuration file (BRM_home/sys/cm/pin.conf):

    1. In the following line, verify that DM_machine represents the host name of the primary installation machine:

      - cm dm_pointer 0.0.0.1 ip DM_machine 12950
    2. In the following line at the end of the file, verify that DM_machine represents the host name of the secondary installation machine:

      - cm primary_db 0.0.0.1 / 0
      - cm dm_attributes 0.0.0.2 scoped,assign_account_obj,searchable
      - cm dm_pointer 0.0.0.2 ip DM_machine 12950

      Note:

      Your pin.conf file must contain a dm_pointer entry for each secondary DM in your system. Verify that any additional dm_pointer entries include the correct host name.

Running pin_multidb.pl -f

Note:

Complete all on-screen instructions for pin_multidb.pl -i before running pin_multidb.pl -f.

Running the pin_multidb.pl script with the -f parameter completes the multischema installation process. It starts the pin_config_distribution process, which runs at the frequency you specify.

To complete the multischema installation:

  1. On each secondary installation machine, do the following:

    1. Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor such as vi.

    2. Make the data dictionary objects writable by setting the following entries to 1:

      - dm dd_write_enable_fields 1
      - dm dd_write_enable_objects 1
      - dm dd_write_enable_portal_objects 1
  2. On the primary installation machine, go to the BRM_home/setup/scripts directory, and run the following command:

    cd BRM_home/setup/scripts
    perl pin_multidb.pl -f 

    This starts a series of interactive prompts. Follow the instructions on the screen.

  3. Verify that the pin_config_distribution process is running. See "pin_config_distribution" in BRM System Administrator's Guide.

  4. Check the pin_multidb.log file for errors.

  5. Verify that the following entries are in the configuration file (BRM_home/sys/cm/pin.conf) of each secondary CM that needs access to all the schemas in your system.

    If they are not in the configuration file, add them to it.

    - cm primary_db 0.0.0.1 / 0
    - cm dm_attributes 0.0.0.1 scoped,assign_account_obj,searchable
    - cm dm_pointer 0.0.0.1 ip DM_primary_machine 12950
    - cm dm_pointer 0.0.0.x ip DM_secondary_machine 12950

    where:

    • DM_primary_machine represents the host name of the primary installation machine.

    • DM_secondary_machine represents the host name of a secondary installation machine other than the one on which the CM you are configuring resides.

Note:

Your pin.conf file must contain a dm_pointer entry for each secondary DM in your system. Verify that any additional dm_pointer entries include the correct host name.

All BRM applications now have multischema capability.

Enforcing the Creation of Unique Account Numbers

You can configure BRM to enforce the creation of unique account numbers. Similar to the /uniqueness object, the /unique_account_no object maintains a list of unique account numbers across all BRM database schemas.

To enforce the creation of unique account numbers, perform the following procedure for each CM that you want to have access to all schemas in your system:

  1. Open the CM configuration file (BRM_home/sys/cm/pin.conf).

  2. Edit the following entry:

    -cm uniqueness_account_no 0

    where:

    • 0 does not enforce unique account numbers. This is the default.

    • 1 enforces unique account numbers.

  3. Save the file.

  4. Stop and restart the CM.

Setting Up Schema Qualifications

To set up a multischema system, create schema qualifications that connect each secondary database schema to the primary database schema.

Note:

Multidatabase Manager still creates database links between the schemas, but they are used only by the pin_multidb utility.

To set up schema qualifications:

  1. On the primary Oracle DM machine:

    1. Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor.

    2. For each secondary database schema in your system, add the following entry:

      - dm schema db_no schema_name

      where db_no is the database number of the schema, and schema_name is the name of the schema.

      For example, if your system has two secondary database schemas named pin02 and pin03, add the following entries:

      - dm schema 0.0.0.2 pin02
      - dm schema 0.0.0.3 pin03
    3. Save and close the file.

    4. Go to the BRM_home/sys/dm_oracle/data directory and run the following commands:

      sqlplus login@ORACLE_SID 
      Enter password: password
      
      SQL>create_procedures_character_set.plb
      SQL>grant_permissions_oracle.plb
      SQL>call grant_permissions('secondary_schema_name');

      where:

      • login is the user name for the primary database schema.

      • password is the password for the specified user name.

      • ORACLE_SID is the BRM database alias of the primary database schema.

      • character_set specifies the database character set of either UTF8 or AL32UTF8.

      • secondary_schema_name is the name of the secondary database schema to which you are granting permissions.

      Note:

      Execute call grant_permissions('secondary_schema_name') separately for each secondary database schema in your system.

      For example, if your system has primary database schema pin01 and two secondary database schemas named pin02 and pin03, log in to schema pin01, and execute the call command twice: once for pin02 and once for pin03.

    5. Stop and restart the primary DM.

  2. On each secondary Oracle DM machine:

    1. Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor.

    2. For the primary database schema and each of the other secondary database schemas in your system, add the following entry:

      - dm schema db_no schema_name

      where db_no is the database number of the schema, and schema_name is the name of the schema.

      For example, if your system has schemas named pin01 (primary), pin02 (secondary), and pin03 (secondary), add the following entries:

      In the schema pin02 DM configuration file:

      - dm schema 0.0.0.1 pin01
      - dm schema 0.0.0.3 pin03

      In the schema pin03 DM configuration file:

      - dm schema 0.0.0.1 pin01
      - dm schema 0.0.0.3 pin02
    3. Delete or comment out any db_link entries to the primary database schema. For example:

      # - dm db_link MD_PRIMARY

      Note:

      A secondary DM cannot access the primary database schema by using both a schema qualification and a database link. If both entries are set, the DM reports an invalid configuration error.

    4. Save and close the file.

    5. Run the grant_permissions_oracle.plb script from the UNIX prompt:
      cd BRM_home/sys/dm_oracle/data
      sqlplus login/password@ORACLE_SID < grant_permissions_oracle.plb
      call grant_permissions('schema_name');

      where:

      • login is the user name for the secondary database schema associated with the DM you are configuring.

      • password is the password for the specified user name.

      • ORACLE_SID is the unique BRM database alias of the secondary database schema.

      • schema_name is the name of the schema to which you are granting permissions.

      Note:

      Execute call grant_permissions('schema_name') separately for the primary database schema and for each of the other secondary database schemas in your system.

      For example, if your system has schemas named pin01 (primary), pin02 (secondary), and pin03 (secondary), do the following:

      • Log in to pin01, and run the call command for pin02 and then for pin03.

      • Log in to pin02, and run the call command for pin01 and then for pin03.

      • Log in to pin03, and run the call command for pin01 and then for pin02.

    6. Stop and restart the secondary DM.

What's Next?

Your BRM system now has multischema capability. You can install the BRM client applications and start creating your accounts. See "Installing BRM Thick Clients".

For information on how to manage your multischema system, such as setting database schema priority and status, see "Managing a Multischema System" in BRM System Administrator's Guide.