File repository not initialized.May be ESB bootstrap failed

After upgrading SOA suite to 10.1.3.5 the esb.server.bootstrap fails.
Error message in $ORACLE_HOME/opmn/logs/*.log is:
oracle.tip.esb.console.exception.ConsoleTransactionException: An unhandled exception has been thrown in the ESB system. The exception reported is: “oracle.tip.esb.console.exception.ConsoleTransactionException: File repository not initialized.May be ESB bootstrap failed
Please review ESB prameters for their correctness.

A different error message to the same problem is
WSDL parsing failed :unknown protocol: esb

This issue is as a result of ESB-DT, ESB-RT and BPEL being in same container as part of SOA advanced install. ESB server itself is not starting up successfully because the URL ping gets over before it could initialize itself.
ESB bootstrap: Ping to URL failed. Will ping again…
And unknown protocol indicates BPEL is started before ESB has initialized itself successfully, and thus is not ready to provide wsdl’s.
The ESB Components are not loaded properly, and a first try could be to:

  • Restart the oc4j_soa component using the below command:
    opmnctl restartproc process-type=oc4j_soa
    The above command is used to restart only the required component without restarting all the components in the server .
  • It could also be lack of resources during startup, then the following approach could be used:

    1. logon to appserver control,stop orabpel(which should make hw_services down as well)
    2. also stop the HTTP_server, making sure there is no apache-processes running
    3. opmnctl stopall
    4. start the server using opmnctl startall
    5. Once Server is up, start orabpel and hw_services applications from enterprise manager console
    6. This way you control the startup sequence making it more likely that esb-rt and esb-dt can start correctly.

  • Or you could end up doing this:
    # Set appropriate values for following parameters in esb_config.ini or orion-application.xml file.
    Default is 15 for both values. PingInterval is measured in seconds.
    PingCount = 30
    PingInterval = 30

    The orion-application.xml that needs to be updated are in RT and DT application $ORACLE_HOME/j2ee/oc4j_soa/applications/esb-dt/orion-application.xml $ORACLE_HOME/j2ee/oc4j_soa/application-deployments/esb-rt/orion-application.xml
    The esb_config.ini is in $ORACLE_HOME/integration/esb/config/esb_config.ini

  • Finally, if your oraesb.esb_parameter table is empty, or the oraesb schema seems messed up:
    1. go to $ORACLE_HOME/integration/esb/bin
    2. Correct the build.xml, declarations needs to be changed from:
      <property name=”dt.oc4j.http.port” value=”${env.DT_OC4J_HTTPPORT}” />
      to:
      <property name=”dt.oc4j.http.port” value=”${env.DT_OC4J_HTTP_PORT}” />

    3. edit esbsetenv.bat to the correct db_url, db_user, db_password, and sys_password, e.g.:
      rem [DB] setup
      set DB_URL=jdbc:oracle:thin:@127.0.0.1:1521:xe
      set DB_USER=oraesb
      set DB_PASSWORD=oraesb
      set SYS_PASSWORD=password
      
    4. Now execute, reset.sh/reset.bat to reinitialize the esb repository. Note: this is only an option in development env. Do not reinitialize your production esb repository, unless you really want to :)
  • Actually, ESB_PARAMETER gets corrupted every now and then, especially during patch upgrades. Here are a valid ESB_PARAMETER data:
    rem change host and port
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('DT_OC4J_HOST','localhost');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('DT_OC4J_HTTP_PORT','80');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_MONITOR_TOPIC_JNDI','OracleASjms/ESBMonitorTopic');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_ERROR_XATCF_JNDI','OracleASjms/MyXATCF');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_ERROR_RETRY_JNDI','OracleASjms/ESBErrorRetryTopic');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_CONTROL_TCF_JNDI','OracleASjms/MyXATCF');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_MONITOR_TCF_JNDI','OracleASjms/MyTCF');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_ERROR_TOPIC_JNDI','OracleASjms/ESBErrorTopic');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_ERROR_TCF_JNDI','OracleASjms/MyTCF');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_CONTROL_TOPIC_JNDI','OracleASjms/ESBControlTopic');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_DEFERRED_TCF_JNDI','OracleASjms/MyTCF');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_DEFERRED_XATCF_JNDI','OracleASjms/MyXATCF');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('PROP_NAME_ERROR_RETRY_TCF_JNDI','OracleASjms/MyXATCF');
    Insert into ESB_PARAMETER (PARAM_NAME,PARAM_VALUE) values ('ACT_ID_RANGE','891000');
    commit;
    

Now the probability of ESB server is starting up successfully is increased, because the URL ping continue for a longer time, making it probable ESB server gets initialized before ping counts are over.

  • Trackback are closed
  • Comments (2)
    • arturo
    • June 1st, 2010

    Very helpful tips as trouble-shoot guide.

    was helpful to me at least, thanks for sharing :-)

    • Bill
    • August 18th, 2010

    example of reset.sh command, providing db_url db_user and db_password as arguments
    ./reset.sh -DDB_URL=jdbc:oracle:thin:@//dbhost:port/SID -DDB_USER=oraesb -DDB_PASSWORD=oraesb

Comment are closed.