Get the App
SLTechnology News&Howtos  ›  Database  › 

RA-00054 of oracle: resource busy and acquire with NOWAIT

Shulou Source: shulou.com Published: 2022-06-01 06:39:50 09月30日 Update

1. Truncate report ORA-00054, indicating that a transaction is operating the table.

SQL > truncate table alldm.DM_XQKD_YUJING_D

Truncate table alldm.DM_XQKD_YUJING_D

*

ERROR at line 1:

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

2. Find the session and sql that are operating the table

SQL > set linesize 400

SQL > set pagesize 400

SQL > col object_name for A40

SQL > select OWNER,OBJECT_NAME,OBJECT_ID from dba_objects where object_name='DM_XQKD_YUJING_D'

OWNER OBJECT_NAME OBJECT_ID

-

ALLDM DM_XQKD_YUJING_D 7525915

SQL > select SESSION_ID,OBJECT_ID from v$locked_object where OBJECT_ID = '7525915'

SESSION_ID OBJECT_ID

--

2226 7525915

SQL > set linesize 400

SQL > set pagesize 400

SQL >

Select sql_text from v$session a minute vandalism sqltextbook withdrawing newlines b

Where DECODE (a.sql_hash_value, 0, prev_hash_value, sql_hash_value) = b.hash_value

And a.sid=&sid order by piece

Enter value for sid: 2226

Old 3: and a.sid=&sid order by piece

New 3: and a.sid=2226 order by piece

SQL_TEXT

INSERT / * + APPEND*/ INTO DM_XQKD_YUJING_D SELECT / * + ORDERED*/: B2

, A.AREA_NO, A.CITY_NO, A.XIAOQU_NO PLOT_ID, A.XIAOQU_NAME PLOT

3. Find the os process of the session

Select a.username

A.sid

A.serial#

B.spid "OS Process"

To_char (a. Logoncake time.mlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (to_char) "Logon time"

A.osuser

A.program

A.status

From v$session a, v$process b

Where a.sid = & sid

And a.paddr = b.addr

/

USERNAME SID SERIAL# OS Process Logon time OSUSER PROGRAM STATUS

-

ALLDM 2226 28311 76949 13/01/2018 06:04:24 bca JDBC Thin Client ACTIVE

4 、 kill session

SQL > alter system kill session '2226,28311'

System altered.

5. Verify whether the process has been kill at the os level

Oracle@hbdw1:/oratmp$ps-ef | grep 76949

Oracle 11057 116412 0 16:21 pts/2 00:00:00 grep 76949

6. Truncate is successful again

SQL > truncate table alldm.DM_XQKD_YUJING_D

Table truncated.

Tags: Process success transaction again level report Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Xiaomi OPPO Reno Redmi Shulou Information Microsoft