DB Load fails with 'ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired' error message
search cancel

DB Load fails with 'ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired' error message

book

Article ID: 418769

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine

Issue/Introduction

The initial DB Load of the UC4 schema fails with the following error:

<...>
20251117/233201.608 - U00029108 UCUDB: SQL_ERROR    Database handles  DB-HENV: e5f6b80  DB-HDBC: e693870
20251117/233201.609 - U00003591 UCUDB - DB error info: OPC: 'OCIStmtExecute' Return code: 'ERROR'
20251117/233201.609 - U00003592 UCUDB - Status: '' Native error: '54' Msg: 'ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired'
20251117/233203.609 - U00000006 DEADLOCK or Connection to database lost - Rollback handling initiated. See previous messages.
20251117/233203.609 - U00003594 UCUDB Ret: '6' opcode: 'EXEC' SQL Stmnt: '
<...>

After several tries of deleting and reloading the schema, it appears that this error happens on any table.

Environment

Oracle

Resolution

Solution:

Make sure to apply the recommended settings for Oracle as explained here:

https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/24.4.0/Automic%20Automation%20Guides/Content/AWA/Admin/admin_Oracle.htm

Notably, set the following 2 values in SQLNET.ORA:

  • tcp.nodelay = yes

  • SQLNET.EXPIRE_TIME=1

If the above setting do not resolve the issue:

  • Check the value of ddl_lock_timeout in sqlplus:
    SHOW PARAMETER ddl_lock_timeout;
  • Change the value system-wide (DBA required) to 60 seconds:
    ALTER SYSTEM SET ddl_lock_timeout = 60 SCOPE=BOTH;

Note that in most cases, a value of ddl_lock_timeout=0 should work fine.