Error message:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
Key words: ORA-00054 lock wait
The table cannot be truncated by another process if the table is not committed after the INSERT message is sent.
For example:
Process A creates A new table, inserts A row of data, but does not commit.

ORA-00054: ORA-00054 ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054

The truncate of process B can only be executed after process A commits or after the resource is released.


Note that this situation is different from two processes operating on a resource at the same time (e.g., UPDATE on the same row). When two processes are operating on a resource at the same time, the second operation will get stuck (waiting).
You can find the process that holds the resource, commit the resource and release it. If you cannot commit, you can confirm and kill it.
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
Key words: ORA-00054 lock wait
The table cannot be truncated by another process if the table is not committed after the INSERT message is sent.
For example:
Process A creates A new table, inserts A row of data, but does not commit.

ORA-00054: ORA-00054 ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054: ORA-00054

The truncate of process B can only be executed after process A commits or after the resource is released.


Note that this situation is different from two processes operating on a resource at the same time (e.g., UPDATE on the same row). When two processes are operating on a resource at the same time, the second operation will get stuck (waiting).
You can find the process that holds the resource, commit the resource and release it. If you cannot commit, you can confirm and kill it.
SQL> select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
Note that not all the information that appears after using the above statement is the problem process, because normal operation on the table as long as there is a hold resource in the query will be selected, so you can use this command several times to check whether the resource has been held, and you can look at the table name below to help confirm.
Query for sid and serial#.
SQL> select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
KILL the session process.
Read More:
- Git prompts another git process sees to be running in this repository, e.g. an editor opened by
- Resolve – bash: fork: Retail: resource temporarily unavailable error
- Error: Could not fork child process: There are no available terminals (-1).
- How to cancel the commit, how to cancel the commit after git commit, and how to change the submitted content
- DB2 encountered the problem of sqlcode = 911 lock table when updating record update
- Java jar close startup script
- SQL Server SSPI handshake failed Error
- Su prompt when switching users: resource temporarily unavailable
- MySQL data import error 1227, acess denied
- Kill the specified port CMD command line taskkill in window
- SQL error: 17006, sqlstate: 99999 invalid column name
- [338] MySQL error: error 1205: lock wait timeout exceeded solution
- How to Fix Session is not Connecting (How to Diagnose it)
- [Oracle] when inserting data, “ora-00001: unique constraint” appears
- Solutions to the problem of “there are stopped jobs” in Linux
- mysql error 1093
- Error: current transaction is aborted, commands ignored until end of transaction blockp
- Error = [Microsoft][SQL Server Native Client 11.0]Unable to open BCP host data-file
- How to solve oserror: [errno 98] address already in use and kill the python3 process
- Analysis of [error code [942], ora-00942 in synchronization of DDL statements in ogg