AutoSys Scheduler fails to start: CAUAJM_E_18416, CAUAJM_E_18402, and ORA-01422 on New Install
search cancel

AutoSys Scheduler fails to start: CAUAJM_E_18416, CAUAJM_E_18402, and ORA-01422 on New Install

book

Article ID: 434772

calendar_today

Updated On:

Products

Autosys Workload Automation

Issue/Introduction

After a new installation of AutoSys Workload Automation (e.g., version 24.x) on a Linux environment with an Oracle database, the Scheduler fails to start.
The following errors are observed in the event_demon log:

CAUAJM_E_18416 Event Server: <SERVER_NAME> Failed Query: <BEGIN :RetVal := ujo_get_eoid_pkg.ujo_get_eoid (:B_eoid); END;>
CAUAJM_E_18402 ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "AEDBADMIN.UJO_GET_EOID_PKG", line 14
CAUAJM_E_10166 Failed to retrieve eoid from database.
CAUAJM_E_10067 Failed to get an event identifier. Scheduler cannot recover and must shutdown.

The Application Server and Webserver typically start without issue, but the Scheduler consistently fails to initialize.

Environment

Autosys 24.x on Linux with Oracle database

Cause

The error ORA-01422: exact fetch returns more than requested number of rows indicates that a query within the ujo_get_eoid_pkg.ujo_get_eoid stored procedure is returning multiple rows when only one is expected. This is caused by duplicate entries in the ujo_last_eoid_counter (or ujo_next_oid) table for the EOID identifier.

Resolution

To resolve this issue, the duplicate row must be identified and removed from the database:

  1. Stop AutoSys Services: Ensure that the Scheduler and Application Server are stopped.
  2. Access the Database: Log into the Oracle instance as the AutoSys database user (typically AEDBADMIN).
  3. Identify Duplicates: Run the following query to check the contents of the ujo_last_eoid_counter table:
    sql
    SELECT * FROM ujo_last_eoid_counter;
    Remove the Duplicate Row: If multiple rows are returned with the same counter value, delete the extra row using its ROWID:
    sql
    DELETE FROM ujo_last_eoid_counter WHERE ROWID = (SELECT MAX(ROWID) FROM ujo_last_eoid_counter);COMMIT;
  4. Alternative Table Check: If the previous table does not contain duplicates, check the ujo_next_oid table:
    sql
    SELECT * FROM ujo_next_oid WHERE oid_type = 'EOID';
  5. Restart Services: Once the duplicates are removed and only one unique row remains, start the AutoSys Application Server and Scheduler.