How do I reconfigure TSCO to change the database user passwords or update the database instance configuration information?

Version 14
    Share This:

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    TrueSight Capacity Optimization


    COMPONENT:

    Capacity Optimization


    APPLIES TO:

    BMC TrueSight Capacity Optimization 11.5, 11.3.01, 11.0, 10.7, 10.5, 10.3, 10.0



    QUESTION:

    Which steps are needed to reconfigure the TrueSight Capacity Optimization (TSCO) instance information or change the database user passwords?

    For example, what is the process to point the TSCO Application Server to the database instance after it has been moved to a new server (or the hostname of the database server has changed) or update the database username and/or password that TSCO uses to access the database?


    ANSWER:

     

    IMPORTANT NOTE: When changing the "Database Schema Owner" database account's password it is necessary to reconfigure all of the servers that are part of the TrueSight Capacity Optimization (TSCO) instance (All Application Servers and ETL Engine Servers).

      


    Updating the database passwords within the TSCO configuration files if they have already been changed by the DBA

      

    In TSCO 10.5 or newer, the following link to the product documentation describes how to to update the database password within the TSCO configuration if it has already been changed by your DBA:

      
      Validate database connection using Database Credentials Tool  
     
    The dbcredentials.sh command should be run on the TSCO Application Servers first and then on the TSCO ETL Engines.  The dbcredentials.sh utility can only update the TSCO database user password if it has already been changed on the database side.  To update the TSCO database user passwords on the database side and change them within the TSCO configuration it is necessary to run the setup.sh in Reconfigure mode.  
     
      User-added image      User-added image
      


    Changing Database Instance Information or updating the TSCO database user passwords within the database and within the TSCO configuration

      

    If the TSCO database has been moved to a new server or migrated to a new instance, as first step, you should manually change the tnsnames.ora file or validate that the appropriate entry is there, or ask to DBA to do this.

    Typically only the DBA will have access to modify this file (although any Oracle Client user should have access to view it).

      

    After, you have to run the TSCO installer similar to performing an install or an upgrade (please refer to official documentation of your TSCO version).

    The only officially supported method to change the TSCO database instance information (database hostname, instance/service name, or TNS name) is by running the setup.sh in Reconfigure mode as described below.

      

    Select "Reconfigure BMC Capacity Optimization" when you will be in step "Existing installation detected"

      




    Select the option "Yes, I need to update Database users password"

    User-added image

      

     

      

    When you will be in the step "Oracle Database Information" change the parameters you need.

      

      

    A the end of the configuration, all TSCO services will be restarted.

      

    There are no additional operations to do after the run of the installer

      


    Changing the password on the BCO ETL Engine or Presentation AS machines

      

    After changing the password for the BCO_OWN user it is necessary to run the setup.sh Reconfigure on each of the ETL Engine or Presentation AS (Non-primary AS)
    servers in the environment.  The setup.sh Reconfigure will not require the updated password to be entered -- it will instead download it from the TSCO Primary AS server.

      

    Additional Information

      

    Q: Database accounts are becoming locked when changing the TSCO database user passwords.  How does one determine which machine is locking out the account?

    The DBAs can usually tell from the Oracle database logs which server is making the login attempts that cause the accounts to become locked.  That may be something that needs to be configured on the database side to track but is seems to be a somewhat common configuration to have it enabled. 

    This page regarding Oracle database side auditing of login failures provides useful information: 
        https://www.dba-resources.com/oracle/finding-the-origin-of-failed-login-attempts/

    For example, running the SQL from that page will generate a list of failed login attempt with information on the hostname that attempted to login and failed: 
      select ntimestamp#, userid, userhost, spare1, comment$text from sys.aud$ where returncode=1017 order by ntimestamp# DESC;

    The database side logging may be enabled by default or it could require a database configuration change.  Contact your DBAs for additional information.  

    Q: The dbcredentials.sh is attempting to access the Oracle database with the wrong password initially.  Could that be locking the account?

    The dbcredentials.sh tool makes a single login attempt on startup against each of the TSCO database accounts using the currently configured password.  In the Oracle database query referenced above one will see the failed login attempt on the database accounts (BCO_OWN, BCO_REP, and in TSCO 10.7.01 and earlier BCO_DASH) when running the  dbcredentials.sh since the ool neesd to attempt a login to test the password). 
       

    Q: What is the best way to update the TSCO ETL Engines with updated database passwords?

    On the ETL Engines, the best way to reconfigure them with the new password is using the 'setup.sh Reconfigure' workflow via the silent install.  Alternately, one could run the 'dbcredentials.sh' on each of the EE servers and enter the new password, but that process generally requires more effor than running the setup.sh reconfigure silent install workflow. 

    Steps to do the setup.sh reconfigure silent install on the EE servers: 

    (1) Find the TSCO Installation Image on the machine. 

    (2) Copy the [TSCO Installation Image]/BCO/Disk1/silentInstallTemplates//BCO_ADDITIONAL_SERVER_EE.txt to the /tmp directory (or some other directory of your choosing) 

    (3) Edit the BCO_ADDITIONAL_SERVER_EE.txt and update the contents. 

    You'll want to change the following options: 
      (a) If you have changed your TSCO Installation Directory from the default to a custom path, update the -P installLocation' property with the correct path. 

    So, change this: 
      -P installLocation=/opt/bmc/BCO

      (b) In the "LAN Connection" section, set the URL_HOST and URL_PORT values to the fully qualified hostname of your Application Server and the port. 

    So, change this: 

    -J URL_HOST=
    -J URL_PORT=8000


    To something like: 

    -J URL_HOST=AShostname.domain.com
    -J URL_PORT=8443


    The installer will automatically figure out whether the connection should be http or https (you don't need to specify that in the configuration file). 

      (c) Update the ORACLE_HOME and ORACLE_SID parameters with the correct $ORACLE_HOME and $ORACLE_SID values  

    So, change this: 

    -J _ORACLE_HOME_=/opt/oracle/product/11.2.0/client_1
    -J _ORACLE_SID_=ORA11G


    With the correct Oracle Home Directory and Oracle Instance name which can you extract from the existing $CPITBASE/env.sh file on the machine. 

      (d) Uncoment the 'IS_RECONFIGURATION_FLOW' parameter and set it to 'true'. 

    So, change this: 
      #-J IS_RECONFIGURATION_FLOW=false

    To this: 
      -J IS_RECONFIGURATION_FLOW=true

      (e) Run the setup.sh silent install as the TSCO Installation Owner user: 
      ./setup.sh -i silent -DOPTIONS_FILE=/tmp/BCO_ADDITIONAL_SERVER_EE.txt

    That will run the ETL Engine setup.sh silent reconfigure workflow which will trigger the installer to contact the TSCO Application Server, download the current configuration properties (including the updated password), and update the ETL Engine configuration with the new information. 

    You can check the end of the /tmp/bco_install_log.txt for the following message to see that the setup.sh silent reconfigure has been successful: 

      --------------------------------------------------------
      TrueSight Capacity Optimization V.V.VV install succeeded.
      --------------------------------------------------------


    Where V.V.VV is the TSCO version. 

    You can then repeat that process with the exact same BCO_ADDITIONAL_SERVER_EE.txt file on each ETL Engine Server in the environment (since typically one would expect the specified parameters to be the same across all EEs in the environment). 

    Alternately, you could run the dbcredentials.sh on each ETL Engine Server in the environment but that requires you to specify the updated password on each server and also the execution of the dbcredentials.sh will make an initial login attempt using the old, wrong password (which could, in limited circumstances) trigger the BCO_OWN database account to be locked). 


    Related Products:  
       
    1. BMC TrueSight Capacity Optimization
    2.  
    3. BMC Capacity Management
       Legacy ID:KA380046

     


    Article Number:

    000032008


    Article Type:

    FAQ/Procedural



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles