iProcess Engine will not start

iProcess Engine will not start

book

Article ID: KB0082432

calendar_today

Updated On:

Products Versions
TIBCO iProcess Engine (Oracle) 11.4.1.5

Description

iProcess Engine will not start. SPO server reports the following.

06795|F77836D0|07/20/2017 14:47:03.847|00000001|ERROR|wait_for_WIS: WIS is not ready, waiting...
06795|F77836D0|07/20/2017 14:47:08.851|00000001|ERROR|wait_for_WIS: WIS is not ready, waiting...
06795|F77836D0|07/20/2017 14:47:13.856|00000001|ERROR|wait_for_WIS: WIS is not ready, waiting...

Error from WQS
2017/07/20 14:46:06.179417(WQS:1:6714:1::::swpro:/idl.c:84245:6369): 1945-Database error: filwqsind_insert() Unable to execute statement(non-select) (Statement ID - 492) (ORA-00001: unique constraint (SWHTPRO.PK_WQS_INDEX) violated)
2017/07/20 14:51:06.178297(WQS:1:6714:1::::swpro:/idl.c:84245:6369): 1945-Database error: filwqsind_insert() Unable to execute statement(non-select) (Statement ID - 492) (ORA-00001: unique constraint (SWHTPRO.PK_WQS_INDEX) violated)

 

Issue/Introduction

iProcess Engine will not start SPO server reports: 06795|F77836D0|07/20/2017 14:47:03.847|00000001|ERROR|wait_for_WIS: WIS is not ready, waiting... 06795|F77836D0|07/20/2017 14:47:08.851|00000001|ERROR|wait_for_WIS: WIS is not ready, waiting... 06795|F77836D0|07/20/2017 14:47:13.856|00000001|ERROR|wait_for_WIS: WIS is not ready, waiting...

Environment

iProcess Engine (Oracle) 11.4.1.5 RedHat Linux 6.6

Resolution

iProcess has three entries for the same user in the user_names database table.

The following SQL was used to identify the duplicate users:
    select USER_NAME,USER_TYPE,count(*) from USER_NAMES  group by USER_NAME,USER_TYPE having count(*) >1;
this lists the user names that have more than one entry.

Retrieve duplicate entries using:
    select * from USER_NAMES where USER_NAME = '<username>' AND USER_TYPE = '<usertype>';
<username> and <usertype> and the values output in the first SQL.

Delete dupplicate entries from the USER_NAMES and TSYS_USER_NAMES database tables - leaving one row for the user.
    delete from USER_NAMES where USER_ID =  <userid> and USER_TYPE = '<usertype>';
    delete from TSYS_USER_NAMES where USER_ID =  <userid> and USER_TYPE = '<usertype>';


Example of SQL:

Identify duplicate entries:
    select USER_NAME,USER_TYPE,count(*) from USER_NAMES  group by USER_NAME,USER_TYPE having count(*) >1;

    USER_NAME                        U   COUNT(*)
    -------------------------------- - ----------
    swadmin                          U          3

List all entries:
     select * from USER_NAMES where USER_NAME = 'swadmin' AND USER_TYPE = 'U';

     NODE_ID    USER_ID USER_NAME                        U
    ---------- ---------- -------------------------------- -
             1          1   swadmin                          U
             1         51  swadmin                          U
             1        105  swadmin                         U
 
 Delete duplicate entries:

        delete from USER_NAMES where USER_ID=51 and USER_TYPE='U';
        delete from TSYS_USER_NAMES where USER_ID=51 and USER_TYPE='U';
        delete from USER_NAMES where USER_ID=105 and USER_TYPE='U';
        delete from TSYS_USER_NAMES where USER_ID=105 and USER_TYPE='U';

NOTE Ensure that iProces is fully shutdown when updating the database.