Unsupported content This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Troubleshooting ETL runs


This topic describes how to resolve the extract, transform, and load (ETL) errors that you might encounter during ETL runs.

Resolving general errors

The ETL process uses the following general error indicators:

  • The run_etl command exits with the following message:

    ETL is terminating with an error. Please check the log file.
  • A scenario step in 

    The macro unmigrated-inline-wiki-markup from Confluence is no longer available.

    has an error icon g_picobject_60_92723_516.gif next to it.

Workaround:

If you encounter these error indicators, you can use the following methods to try to work around the problem:

  • Try running the run_etl command again. Sometimes, running the command again resolves the issue and further scenario runs continue without error. 
  • If running the command again does not resolve the issue, perform the following tasks in the order shown:
    • If the run_etl command exits with an error message, check the log file (site_siteID_timeStamp_run_etl.log) in the BDSSAInstallationDirectory/logs/ETL/timeStamp for the exact cause of the failure. 
      If you find inadequate error logging in the log file, it is likely that ETL was run with the logging argument -d specified at a low level of detail (less than 3). Specify –d at a level of 3 or higher and run the ETL script again. For more information, see Running-ETL-using-an-NSH-script.
      If you cannot solve the issue, contact BMC Customer Support and have the log file available.
    • If a scenario step has an error icon next to it, investigate the error in the Metadata Navigator (see Obtaining ETL error details in Metadata Navigator).
  • If you get a scenario exception that says that the scenario is already running when you try to rerun the command, run the stop_etl.nsh script. For more information, see Recovering-from-an-ETL-hang-or-failure.

Resolving specific errors

This section provides information about the specific ETL errors and their resolutions.

ETL fails on Oracle because of mismatching database character sets

On Oracle, ETL process fails in the following scenarios. Each scenario has its own solution.

  • If the BMC Server Automation database instance uses the nchar schema and the reports data warehouse instances uses the char schema, ETL fails with the following error message:

    BDSSA does not support if DW database character set is 'char' and OM database character set is 'nchar'. Please contact system administrator.

    Solution:  On the reports data warehouse instance, create the schema with the nchar character set. 

  • The BMC Server Automation database and the reports data warehouse instances use the same schema (char or nchar). However, one database schema does not use a character set that is a subset or superset of the character set of the other database schema. In this case, ETL fails with the following error message:

    Collation sequence mismatch between DW database <schemaCharacterSet> and OM database <schemaCharacterSet>. Please contact system administrator.

    Solution: Create the BMC Server Automation database and the reports data warehouse Oracle instances that use either the same character set or one character set is subset or superset of the other character set.

For more details about the Oracle database requirements, see Prerequisites-for-the-Oracle-database-setup

process_permissions and update_cognos_model script failures

If the process_permissions.nsh script or the update_cognos_model_properties.nsh script fails, check for the following issues:

  • Ensure that the default logon configuration was not changed from SRP.
  • Verify that the SRP logon for the product was not disabled from the Application Server Administration console (also called blasadmin utility).

These settings are required for successful ETL runs.

Failed to execute the [export-ignore] macro. Cause: [Missing macro content: this macro requires content (a body)]. Click on this message for details.

ETL fails with status 139

ETL fails with this error message if the  BMC Server Automation database and the reports data warehouse Oracle instances use different character sets. These two instances must use the same character set.

For more details about the Oracle database requirements, such as character set requirements, see Database-prerequisites.

Issues running ETL with non-English locales

If ETL fails to run on installations using Japanese or Chinese languages, use the instructions in this topic to resolve the issue for your database type.

If ETL fails on the 1_MASTER scenario portion of the process, with the following error message, use the procedure in this topic to prevent the issue for your database type.

String or binary data would be truncated.
java.sql.BatchUpdateException: String or binary data would be truncated.

To resolve the ETL issue on Oracle systems

  1. Log on to SQL Plus as BSARA_ETL_WORK (or the name you chose for this user).
  2. Run the following script on the reports data warehouse:

    Sqlplus BSARA_ETL_WORK/<password>@<OracleSID>

    In this script, variables are defined as follows:

    • <password> is the password for the BSARA_ETL_WORK user.
    • <OracleSID> is the Oracle system ID.
  3. When the script completes successfully, log on to the BSARA_ETL_WORK schema and run the following script:

    start upgrade_work_repository_for_localization_oracle.sql

To resolve the ETL issue on Microsoft SQL Server systems

  1. Log on to the BSARA_ETL_WORK database.
  2. Run the following script:

    sqlcmd -S <server>\<instance> -d BSARA_ETL_WORK -U <user> -P <password> -i upgrade_work_repository_for_localization_sqlserver.sql -o upgrade_work_repository_for_localization_sqlserver.out

    In this script, variables are defined as follows:

    • <server> is the ETL work repository database server ID.
    • <instance> is the name of the database instance.
    • <user> is the BSARA_ETL_WORK user.
    • <password> is the password for the BSARA_ETL_WORK user.

After completing this procedure, run ETL again.

Failed to execute the [export-ignore] macro. Cause: [Missing macro content: this macro requires content (a body)]. Click on this message for details.

Error while using Oracle JDBC driver version 11.2.0.1 and SSL

ETL fails with the following exception when you use the Oracle JDBC driver version 11.2.0.1 and SSL on the reports server:

JAVA.SQL.SQLEXCEPTION: GOT MINUS ONE FROM A READ CALL
at
oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.
java:531)
at
oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExt
ension.java:32)
at
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at
oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDa
taSource.java:280)
at
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource
.java:207)
at
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource
.java:157)
at testcase.CallableTCPS.main(CallableTCPS.java:159)
Caused by: oracle.net.ns.NetException: Got minus one from a read
call
at oracle.net.ns.Packet.receive(Packet.java:285)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)
at
oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042
)
at
oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 8 more

Workaround:

This exception occurs when Oracle JDBC driver version 11.2.0.1 cannot connect with SSL to a 11g database. To fix the issue, use the JDBC driver version 11.2.0.2. You can obtain it from the following URL: http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html.

Failed to execute the [export-ignore] macro. Cause: [Missing macro content: this macro requires content (a body)]. Click on this message for details.

Related topic

Running-ETL

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*