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 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 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.
-
Install an Oracle database across all the servers in your Oracle RAC system.
For more information, see the following:
-
Oracle RAC documentation
-
Through one Oracle RAC node, create the primary database schema.
See "Creating and Configuring pin_user".
Note:
The term "BRM user" is synonymous with the term "database schema."
-
Through each of the other Oracle RAC nodes, create a secondary database schema.
-
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 installer to work across the schemas.
For information, see your Oracle database documentation.
-
For each database schema, grant execute permission for dbms_lock.
-
On your primary installation system, install the PERL libraries and the JRE required to install BRM components.
-
On each of your secondary installation systems, install the PERL libraries and the JRE required to install BRM components.
-
On your primary installation system, install BRM.
-
On your secondary installation systems, install BRM.
-
Verify that the BRM installation systems can connect to all the schemas.
See "Verifying That the Installation Machines Connect to All Schemas".
-
Install Multidatabase Manager on the primary installation system.
See "Installing and Configuring Multidatabase Manager on the Primary Installation Machine".
-
(Optional) Disable the creation of uniqueness objects.
-
Edit the pin_multidb.conf file on the primary installation system.
See "Configuring pin_multidb.conf on the Primary Installation Machine".
-
Edit the client wallet on the primary installation system.
See "Configuring Client Wallet on the Primary Installation Machine".
-
If your system includes an SSL-enabled Oracle database, edit the SSL database wallet on the primary installation system. See "Connecting to SSL-Enabled Oracle Database".
-
Complete the configuration on the primary system.
See "Completing Configuration of the Primary Installation System".
-
Complete the configuration on the secondary system.
See "Completing Configuration of the Secondary Installation System".
-
(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.
-
(Optional) Configure BRM to enforce the creation of unique account numbers.
-
Create schema qualifications that connect each secondary database schema to the primary database schema.
-
Update the views for multischema systems. See "Updating Views for Multischema Systems".
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:
-
Install BRM. See "Installing BRM".
-
Connect the Oracle DM to the primary Oracle RAC instance:
-
Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor.
-
Set the sm_database entry to the connect descriptor configured for the primary Oracle RAC instance:
- dm sm_database connectionStringconnectionString must match the connectionString entry for the primary Oracle RAC instance in the tnsnames.ora file.
-
Add the following entry:
- dm sm_svcname serviceNameserviceName must match the SERVICE_NAME entry in the connect descriptor specified in the preceding step.
-
Save and close the file.
-
Stop and restart the Oracle DM.
-
-
Configure the primary database client to connect to each secondary database schema.
For information, see "Installing the Database and Oracle DM on Separate Machines".
-
Install the optional components you purchased that might add tables to your database.
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:
-
Copy the BRM wallet from your primary installation machine to your secondary installation machine.
-
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
-
Install BRM. See "Installing BRM".
-
Connect the Oracle DM to a secondary Oracle RAC instance:
-
Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor.
-
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.
-
Add the following entry:
- dm sm_svcname serviceName
serviceName must match the SERVICE_NAME entry in the connect descriptor specified in the preceding step.
-
Save and close the file.
-
Stop and restart the Oracle DM.
-
-
Configure the secondary database client to connect to the primary database schema.
For information, see "Installing the Database and Oracle DM on Separate Machines".
-
Install the same optional components that you installed on the primary installation machine.
-
On the primary installation machine, generate the root key by running the following command:
pin_crypt_app -genrootkeyThe root key is generated.
-
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:
-
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
-
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).
-
-
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:
-
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
-
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).
-
-
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:
-
Stop all BRM processes if running. See "Starting and Stopping the BRM System" in BRM System Administrator's Guide.
-
Install Multidatabase Manager. See "Installing Individual BRM Components".
-
Go to the BRM_home/setup directory, and run the pin_setup script.
-
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
-
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
-
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).
-
-
Start the CM and Oracle DM processes.
See "Starting and Stopping the BRM System" in BRM System Administrator's Guide.
-
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:
-
Open the CM configuration file (BRM_home/sys/cm/pin.conf).
-
Edit the following entry:
-cm uniqueness_login 1where:
-
0 does not create uniqueness objects.
-
1 creates uniqueness objects. This is the default.
-
-
Save the file.
-
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:
-
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 -
Modify the configuration entries listed in Table 7-1.
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].
In prior versions, you needed to set the $PIN_MD_PRIMARY_DBNO, $PIN_MD_PRIMARY_OWNER, $PIN_MD_PRIMARY_DBNAME, $PIN_MD_PRIMARY_HOSTNAME, and $PIN_MD_PRIMARY_PORT parameters. It is no longer necessary to set them, because they are set automatically.
Table 7-1 pin_multidb.conf File Entries
| Entry | Description |
|---|---|
|
$JDBC_JAR_FILE |
Specify the location of the JDBC Library (ojdbc11.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 port number for the primary CM. The default is 11960. Check the port number by looking in the BRM_home/sys/cm/pin.conf file. |
|
$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:
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:
-
Go to the BRM_home/bin directory.
-
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-2 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-2 for each secondary schema.
Table 7-2 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.password2To add configuration entries to the SSL database wallet, do the following:
-
Go to the BRM_home/bin directory.
-
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.
-
Completing Configuration of the Primary Installation System
To complete the configuration of the primary system, perform the following procedure on the primary installation system:
-
Log in as the BRM user, and change the status of all secondary database schemas to OPEN in the BRM_home/apps/multi_db/config_dist.conf file.
Note:
If your system contains multiple secondary database schemas, create a new set of entries for each additional secondary database schema.
For example:
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" ;
-
Ensure the following lines are present in the BRM_home/sys/cm/pin.conf file on the primary system:
- 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 prim_dm_host prim_dm_port
where:
-
prim_dm_host is the host name of the primary installation system
-
prim_dm_port is the port of the DM for the primary schema
-
-
Locate or add the following lines for each secondary DM in the BRM_home/sys/cm/pin.conf CM configuration file:
- cm dm_attributes sec_db_num scoped,assign_account_obj,searchable - cm dm_pointer sec_db_num ip sec_dm_host sec_dm_port
where:
-
sec_db_num is the database number of the secondary schema, for example 0.0.0.2
-
sec_dm_host is the host name of the secondary installation system
-
sec_dm_port is the port of the secondary DM
Note:
Your CM pin.conf file must contain dm_pointer and dm_attributes entries for each secondary DM in your system.
-
-
Verify that the pin_config_distribution process is running. See "pin_config_distribution" in BRM System Administrator's Guide.
Completing Configuration of the Secondary Installation System
To complete the configuration of the secondary system, perform the following procedure on each secondary installation system:
-
Make the data dictionary objects writable by setting the following entries to 1 the BRM_home/sys/dm_oracle/pin.conf file:
- dm dd_write_enable_fields 1 - dm dd_write_enable_objects 1 - dm dd_write_enable_portal_objects 1
-
Locate or add the following entries to the BRM_home/sys/cm/pin.conf file on each secondary CM that needs access to all the schemas in your system.
- 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 prim_dm_host prim_dm_port - cm dm_pointer sec_db_num ip sec_dm_host sec_dm_port
where:
-
prim_dm_host is the host name of the primary installation system
-
prim_dm_port is the port of the DM for the primary schema
-
sec_db_num is the database number of the secondary schema, for example 0.0.0.2
-
sec_dm_host is the host name of the secondary installation system
-
sec_dm_port is the port of the secondary DM
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:
-
Open the CM configuration file (BRM_home/sys/cm/pin.conf).
-
Edit the following entry:
-cm uniqueness_account_no 0where:
-
0 does not enforce unique account numbers. This is the default.
-
1 enforces unique account numbers.
-
-
Save the file.
-
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:
-
On the primary Oracle DM machine:
-
Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor.
-
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
-
Save and close the file.
-
Stop and restart the primary DM.
-
-
On each secondary Oracle DM machine:
-
Open the Oracle DM configuration file (BRM_home/sys/dm_oracle/pin.conf) in a text editor.
-
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
-
Delete or comment out any db_link entries to the primary database schema. For example:
# - dm db_link MD_PRIMARYNote:
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.
-
Save and close the file.
-
Stop and restart the secondary DM.
-
-
Using SQL*Plus, grant each database schema the privilege to insert and update tables on the other schemas:
-
Connect to the BRM database with SQL*Plus as sysdba:
sqlplus system@databaseAlias as sysdba Enter password: password
where:
-
databaseAlias is the Oracle system database alias.
-
password is the Oracle system database user password.
-
-
From the primary database schema, enter the following:
SQL> GRANT INSERT ANY TABLE TO SecondarySchema; SQL> GRANT UPDATE ANY TABLE TO SecondarySchema;where SecondarySchema is the name of the secondary schema.
-
From each secondary database schema, enter the following:
SQL> GRANT INSERT ANY TABLE TO PrimarySchema; SQL> GRANT UPDATE ANY TABLE TO PrimarySchema;where PrimarySchema is the name of the primary schema.
-
Updating Views for Multischema Systems
To update the views for your multischema systems:
-
On the primary installation system, change to the BRM_home/sys/dm_oracle/data directory.
-
Log in to SQL*Plus on the primary schema as the BRM user.
-
Run following script and commit the changes:
SQL>@create_boc_unified_views.source SQL>COMMIT;
-
Log out of SQL*Plus.
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.