Running ETL using an NSH script
You can run ETL from the command line by using the run_etl.nsh script.
When you run the run_etl.nsh script, it executes the scenarios in the specified property file and runs them in the background. By default, run_etl.nsh executes scenarios for all report data groups in parallel sequence (using the default RunETL.properties file) if the database resources allow. However, you can execute scenarios for individual report data groups. The script is located in the shared/odi/bin directory.
run_etl command has a property file argument that enables you to run an individual scenario that corresponds to one of the report data groups. Using the property file argument, you specify a property file that includes the appropriate individual scenario and any parent scenarios that are required to properly execute that scenario. The property files enable you to customize your reports data warehouse updates.
If you limit the number of scenarios that can run in parallel, using the
-p property file argument, and the script must execute more scenarios than the limit, it executes scenarios sequentially in groups based on the limit.
BMC recommends that you always run the
run_etl command with the default RunETL.properties file to update the reports data warehouse and reports with data for all report data groups. If you run the command with an individual scenario property file, the reports data warehouse and reports contain the latest data only for the report data group that corresponds to the property file. The reports data warehouse and reports for all other reports groups contain older data.
For descriptions of the scenarios, their execution dependencies, and property files, see Understanding data transfer scenarios.
You can run the
run_etl command on a schedule by using platform-specific OS scheduling or you can run it on demand from the command line.
You can only run one ETL instance at a time from a
- MultiExcerpt named 'Product_Name' was not found
run_etlcommand at the same time, the most recently executed instance returns an error.
You can set up schedules to run the
run_etl command by using your operating system scheduler (refer to your operating system documentation). You can also schedule ETL runs for multiple sites. For more information, see Scheduling ETL for multiple sites.
To execute scenarios using run_etl.nsh from the command line
Start the Network Shell and enter the following command:
./run_etl.nsh -s <siteID> -b [-d <logLevel>] [-p <parallelismLevel>] [-f <propertyFile>] [-l <1>|<0>]
In this command, the following argument is mandatory:
<siteID>is the site ID. This must be a valid site ID from the BL_SITE table. You can obtain the site ID by using the BMC Decision for Server Automation Console. For more information, see the Database Details page.
The following arguments are optional:
bstops the Database Maintenance utility on the BMC Server Automation Application Server. For information about using this option, see Handshake between ETL and BMC Server Automation database.
To use the
boption, the BMC Server Automation database user must be assigned the DBMS_LOCK permission.
<logLevel>indicates the log (or debug) level, which can be a value of 1 to 5, with 1 indicating the lowest logging level (minimal logging) and 5 indicating the highest logging level (detailed logging).
If you do not specify a level, the default level 3 is used.
<parallelismLevel>indicates the number of scenarios to run in parallel. The value can be any number from 1 to 20. It usually depends on system settings and underlying hardware load limits.
If you do not specify a level, the default level 20 is used.
<propertyFile>indicates the property file to run (for a list of the property files representing specific scenarios for report data groups see Property files).
If you do not specify a property file, the default RunETL.properties file is used. This file includes all scenarios.
<0>overrides the locking mechanism for the reports data model.
If you do not specify a value, the default setting of 0 is used.