ORA-00054: resource busy and acquire with NOWAIT specified

简介: 截取METALINK: Error: ORA-00054Text:  resource busy and acquire with NOWAIT specified or timeout expired============================...
截取METALINK:
Error: ORA-00054
Text:  resource busy and acquire with NOWAIT specified or timeout expired
=========================================================================
Cause:  Resource interested is busy or the timeout specified by DDL_LOCK_TIMEOUT has expired
Action: Retry the command with a higher DDL_LOCK_TIMEOUT if desired

*** Important: The notes below are for experienced users - See
Note:22080.1

Explanation:
        This is a quite normal message and is reported if a SQL statement
        would have blocked waiting for another user to complete some
        operation. The SQL command issued either:
     a) had a 'NOWAIT' clause so instead of blocking the statement
returns this error.
or   b) was DDL and was blocked.

        DDL or SELECT .. FOR UPDATE NOWAIT can raise this error if an
        incompatible lock is held.

Diagnosis:
        - None normally required unless this is occurring when not expected.
      
        - Check v$lock for locks being held.

- For DDL repeat the command. If the DDL is issued under DBMS_SQL
  it is possible to cause this error if the DDL touches an object
  related to the current PL/SQL block by some dependency.

        - For SELECT FOR UPDATE issue the same statement without the NOWAIT
          clause to see if the statement blocks (assuming the problem is
          reproducible). If it blocks check there is a blocker in v$lock, Eg:

           select * from v$lock where request!=0;
           -- To find the blocked process.

           select * from v$lock where type='TX' and id1='&1' and id2='&2'
           -- where &1 and &2 are the ID for the lock we are waiting on
              from above.

           Is this Oracle7 version prior to 7.1.6? If so are the foreign
           key columns indexed or not? (If not, DML on child table will
           take out table locks on parent, preventing DML on parent.)

           If this is Oracle7 V7.1.6+, are locks being taken out on a child
           table when doing deletes on the parent? If so, indexing the
           foreign key column on the child table will stop this happening.

           Is there a select ... for update, joining two tables together?
           If so this will lock both parent and child rows. If you only
           wish to lock e.g. child rows, specify:

           ... for update OF

Articles:
        (V3) Locking in SQL*Forms                           <101960>
        
          101960>

 


  


             






  


          




                    




相关文章
|
Oracle 关系型数据库 数据库
ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist的原因分析
        今天突然接到同事电话,说oracle数据库连接不上了,我远程过去用pl/sql developer登录,提示ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist.意思是oracle无法使用,共享内存领域不存在。
2238 0
|
SQL 存储 测试技术
|
SQL Oracle 关系型数据库
ORACLE ORA-04030之 out of process memory when trying to allocate
    近期巡检中,一oracle 11g rac节点出现ORACLE ORA-04030之 out of process memory when trying to allocate报错,查询ORACLE官方MOS确定是:BUG11852492,原因是用户会话单进程占用PGA超过4GB异常终止,根据MOS文章1325100.1的建议:可以根据服务器实际情况及SQL运行的实际情况放开PGA单进程使用内存空间的限制到16GB。
1552 0