78 Configuring ECE Data-Loading Utilities and Data Updaters
Learn how to change the initial configuration of the Oracle Communications Elastic Charging Engine (ECE) data-loading utilities and data updaters after you install ECE.
Topics in this document:
Configuring the configLoader Utility
Use the configLoader utility to load mediation specification data required for Diameter Gateway and RADIUS Gateway into ECE.
To configure the configLoader utility:
-
Open the ECE_home/config/management/migration-configuration.xml file.
-
Set the configObjectsDataDirectory parameter to the path to the mediation specification file that is supplied (as ready-to-use configuration) when you install ECE. The default path is ECE_home/sample_data/config_data directory.
Loading Customer Data Incrementally with customerLoader
Note:
Do not run the customerLoader utility without the -incremental parameter in a production environment.
After loading the initial customer data from BRM, you can load customer data incrementally, in batches or in bulk, into ECE by using the customerLoader utility. On a system with multiple schemas, run the customerLoader utility for each schema.
To load customer data incrementally into ECE:
-
Start ECC:
./ecc
-
If your charging server nodes are not running, start them and load configuration data and pricing data:
start server start configLoader start CustomerUpdater
-
Create prepopulated tables to load only preselected customer data. For more information, see "Loading a Subset of Customer Data".
-
Run the following command, which loads the customer data incrementally:
start customerLoader -incremental customer_updater_schema_name
where customer_updater_schema_name is the schema name specified for Customer Updater in the connectionconfiguration section of the ECE_home/config/management/charging-settings.xml file.
For Example:
start customerLoader -incremental customerUpdater1
Loading Product Cross-Reference Data with customerLoader
Running the Customer Loader utility with the -loadCrossRefData parameter loads the new or modified set of product cross-reference data from BRM into ECE for the schema that you specify. The Customer Loader utility loads the product cross-reference data only for the product offerings that are stored in the ECE cache when the utility is run with the -loadCrossRefData parameter.
To load product cross-reference data with the customerLoader utility:
-
Start ECC:
./ecc
-
If your charging server nodes are not running, start them and load configuration data and pricing data:
start server start configLoader start CustomerUpdater
-
Run the following command, which loads the cross-reference data from the specified customer updater schema:
start customerLoader -loadCrossRefData customer_updater_schema_name
where customer_updater_schema_name is the schema name specified for Customer Updater in the connectionconfiguration section of the ECE_home/config/management/charging-settings.xml file.
For example:
start customerLoader -loadCrossRefData customerUpdater1
For loading cross-reference data from multiple schemas, run the customerLoader utility for each schema; for example, customerUpdater1, customerUpdater2, and so on.
Configuring Customer Updater
Customer Updater receives customer data from the BRM server. For more information, see:
To configure Customer Updater:
Note:
For Customer Updater to receive update requests from BRM, the BRM Payload Generator External Module (EM) configuration file must point to the ECE payload configuration file (payloadconfig_ecc_sync.xml).
-
To enable Customer Updater to work with prepopulated distribution tables, set -DpreDistributedWorkItems to true in the JVM tuning file.
The prepopulated distribution tables specify which customer data to load. Only data for the customers listed in the prepopulated distribution tables is loaded. Customer Updater loads all BRM customer data by default.
-
To enable Customer Updater to continue data extraction even if validation fails, set -DcontinueCustomerLoaderOnError to true in the JVM tuning file.
-
Open the ECE_home/config/management/migration-configuration.xml file.
-
Set the remoteWmThreads parameter to the number of parallel work manager threads to be used for Customer Updater.
By default, this parameter is set to 1.
-
Set the batchSize parameter to the number of customers to put into the repository in one put operation.
Use batchSize to optimize performance of put operations into the repository. The more customers you insert into the repository in one put operation (rather than inserting each one individually), the better the performance.
By default, this parameter is set to 5000.
-
Set the dbConnections parameter to the number of parallel database connections to use for initial extraction and load of customer data.
By default, this parameter is set to 1.
-
Set the dbFetchSize parameter to the number of records that Customer Updater should extract from the BRM database at one time.
By default this parameter is set to 5000.
-
Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".
-
Expand the ECE Configuration node.
-
Expand charging.connectionConfigurations.oracleQueueConnection1.
-
Expand Attributes.
-
Specify values for the following attributes:
-
jdbcUrl: Enter the Oracle JDBC URL to use to connect to the BRM database.
jdbcUrl="jdbc:oracle:thin@//hostname:port:sid"
where hostname and port are the host name and port number for the computer on which the database queue resides, and sid is the name of the BRM database service.
-
Password: Enter the encrypted password for logging on to the computer on which the database queue resides.
When you install ECE, the password you enter is encrypted and stored in the KeyStore.
-
QueueName: Enter the name of the database queue that holds the published business events from BRM.
-
Specifying Retry Count for Customer Updater
You can configure Customer Updater to automatically retry the BRM database connection and restart the process by specifying the number of retries allowed after it fails. This ensures that Customer Updater is started automatically without any manual intervention.
To specify the retry count for Customer Updater:
-
Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".
-
Expand the ECE Configuration node.
-
Expand charging.connectionConfigurations.customerUpdatern, where n is the number that represents the instance; for example, CustomerUpdater2.
-
Expand Attributes.
-
Set the retryCount attribute to the number of times the database connection can be retried after Customer Updater fails.
This attribute is applicable only for the Customer Updater startup, restart, or failover.
Loading a Subset of Customer Data
By default, Customer Updater loads all customer data from the BRM database into ECE. However, you can configure Customer Updater to load only a subset of customer data instead.
To configure Customer Updater to load only a subset of customer data:
-
Open the ssh terminal on the server on which ECE is running.
-
In the ECE_home/bin/preselect_customers.groovy file, modify the filterCondition variable and all relevant SQL queries to include only the desired customer POIDs.
-
Use the truncate command on the relevant tables to clear previous load data. For example:
truncate table ECE_WORK_ITEM_DETAIL_T; truncate table ECE_WORK_ITEM_SUMMARY_T;
-
From the ECE_home/bin repository, run the preselect_customers.sh script. For example, if you are not using SSL, run the following command:
./preselect_customers.sh -s dbHost -o oracleSID -c dbPort -n noOfDBConnections -f dbFetchSize -d aaDisRec -e false
where:
-
dbHost is the host name or IP address of the BRM database.
-
oracleSID is the Oracle database alias.
-
dbPort specifies the number for the Oracle database port.
-
noOfDBConnections specifies the number of connections to use when retrieving BRM customer data from the database. You must set noOfDBConnections and the Customer Updater dbConnections parameter to the same value.
-
dbFetchSize specifies the number of records to fetch from the database at one time. You must set dbFetchSize and the Customer Updater dbFetchSize parameter to the same value.
-
aaDisRec specifies whether ECE is deployed in an active-active disaster recovery system. The possible values are true and false.
-
-e false specifies that SSL is not enabled.
For more information about the utility's syntax and parameters, see "preselect_customers.sh".
If the command is successful, you will see something like this:Customer loader: Number of customers in BRM DB - 1 ECE_WORK_ITEM_SUMMARY_T table already exists ECE_WORK_ITEM_DETAIL_T table already exists ECE_WORK_ITEM_SUMMARY_T, ECE_WORK_ITEM_DETAIL_T tables truncated Distribution query is insert /*+ parallel */ into ECE_WORK_ITEM_DETAIL_T (CUSTOMER_ID, WORK_ID, FETCH_INDEX) select /*+ parallel */ POID_ID0, (mod(ROWNUM, 1)), mod(ceil(ROWNUM/1),0) + 1 from ACCOUNT_T where POID_ID0 in ('2194747') ORDER BY POID_ID0 Customers distributed for loading in 438 milli seconds
-
-
Check the content of the tables you changed and ensure that there is only one row in each.
-
Make a copy of the defaultTuningProfile.properties in the ECE_home/config directory using the following command:
cp defaultTuningProfile.properties defaultTuningProfile_CL.properties
-
In the defaultTuningProfile_CL.properties file, add the following option:
-DpreDistributedWorkItems=true
-
Edit the ECE_home/config/eceTopology.conf file to reference the new tuning profile. For example:
customerLoader |customerLoader |hostname |||false |defaultTuningProfile_CL
-
Change to the ECE_home/bin directory.
-
Start Elastic Charging Controller (ECC) and stop customerLoader:
./ecc stop customerLoader
-
At the ECC prompt, run the following command to start customerLoader in incremental load mode:
start customerLoader -incremental customerudaterfilename username=username password=password
Loading Customer Data Selectively from BRM into ECE
The initial data load includes the customer data only for the product offerings (services and the corresponding pricing data) that are already stored in the ECE cache. If you are migrating pricing data selectively from BRM into PDC, you must load the customer data also selectively from BRM into ECE.
To load customer data selectively from BRM into ECE:
-
Configure Customer Updater to run in the selectiveMigrationMode mode by setting the selectiveMigrationMode attribute in the ECE_home/config/management/migration-configuration.xml file to true.
See "Configuring Customer Updater to Load Data Selectively".
-
Load the selectively migrated pricing data (including services) from PDC into ECE by running Pricing Updater. See "Starting and Stopping ECE".
-
Load the corresponding customer data and product cross-reference data from BRM into ECE by running Customer Updater. See "Starting and Stopping ECE".
Configuring Customer Updater to Load Data Selectively
To configure Customer Updater to load data selectively:
-
Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".
-
Expand the ECE Configuration node.
-
Expand migration.loader.
-
Expand Attributes.
-
Set the selectiveMigrationMode attribute to true.
Configuring the Customer Updater Suspense Queue
ECE moves failed data updates from Customer Updater to the suspense queue.
To configure the Customer Updater suspense queue:
-
Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".
-
Expand the ECE Configuration node.
-
Expand charging.connectionConfigurations.oracleQueueConnection1.
-
Expand Attributes.
-
Set the suspenseQueueName attribute to the name of the queue on the BRM system that holds failed updates from BRM.
Configuring Pricing Updater
To configure the Pricing Updater:
-
Open the ECE_home/config/JMSConfiguration.xml file.
-
Edit the PdcEceQueue section to specify the JMS queue details from which Pricing Updater retrieves the pricing data from PDC.
-
Edit the PDCResultQueue section to specify the JMS result queue details to which Pricing Updater publishes the results back to PDC.
-
Save the file.
If you need to change the password values in this file (for example, if ECE must interact with new BRM or PDC machines or if the password used to connect to existing BRM and PDC machines has changed), you must first run the encrypt password utility.