Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> ORA-04020: deadlock detected while trying to lock object FIT_DBA.OFFICE

ORA-04020: deadlock detected while trying to lock object FIT_DBA.OFFICE

From: Jim Poe <jpoe_at_fulcrumit.com>
Date: 05 Nov 2001 16:35:01 GMT
Message-ID: <9s6f3l$hvq@dispatch.concentric.net>


This seems to be related to my original problem. I noticed that this error showed up in our trc files when we added the column to the table. I dropped and then added the column this morning and got the same error in the trc. How would I interpret this. If a lock is required to add the column and the lock attempt is aborted, why do I continue to see the column in the table?

ORA-04020: deadlock detected while trying to lock object FIT_DBA.OFFICE


  object   waiting  waiting       blocking blocking
  handle   session     lock mode   session     lock mode
-------- -------- -------- ---- -------- -------- ----  54b6734 27328b0 32e1f6c X 27328b0 32e18dc X

Thanks for any help.

--
Jim Poe (jpoe_at_fulcrumit.com)
"Jim Poe" <jpoe_at_fulcrumit.com> wrote in message
news:9s1lpi$87d_at_dispatch.concentric.net...
> We have just added two columns, AP_DUE_DAYS and AP_DUE_BASE,  to an
existing
> table.  I have a Delphi application that has explicit SQL to select,
update,
> and insert this table.  I modified this SQL to add these two columns.
When
> I run my application and attempt to update the table I get the following
> error.
>
> AMS
> --------------------------------------------------------------------------
-
> FIT Server Error
>    Changes canceled
>
> ORA-06550: line 31, column 53:
> PLS-00417: unable to resolve "AP_DUE_BASE" as a column
> ORA-06550: line 28, column 1:
> PL/SQL: SQL Statement ignored
> --------------------------------------------------------------------------
-
>
> In OracleMonitor, this is the SQL sent to the database:
>
> BEGIN
> UPDATE PDCR SET RETAIL_TYPE=:RETAIL_TYPE,
>                 CTSY_TYPE=:CTSY_TYPE,
>                 CSIG_TYPE=:CSIG_TYPE,
>                 WHSL_TYPE=:WHSL_TYPE,
>                 PROSP_TYPE=:PROSP_TYPE,
>                 CMPT=:CMPT,
>                 PDCR_TERR_ID=:PDCR_TERR_ID,
>                 AGR_SEND_DT=:AGR_SEND_DT,
>                 AGR_RECV_DT=:AGR_RECV_DT,
>                 MERGE_TO_ID=:MERGE_TO_ID,
>                 MERGE_DT=:MERGE_DT,
>                 CTSY_FEE_FLAT=:CTSY_FEE_FLAT,
>                 CTSY_FEE_RATE=:CTSY_FEE_RATE,
>                 CSIG_FEE_FLAT=:CSIG_FEE_FLAT,
>                 CSIG_FEE_RATE=:CSIG_FEE_RATE,
>                 STATUS=:STATUS,
>                 AWC_STATUS=:AWC_STATUS,
>                 AND_STATUS=:AND_STATUS,
>                 INACTIVE_STATUS=:INACTIVE_STATUS,
>                 RAH_STATUS=:RAH_STATUS,
>                 RCO_STATUS=:RCO_STATUS,
>                 RDR_STATUS=:RDR_STATUS,
>                 RRO_STATUS=:RRO_STATUS,
>                 RML_STATUS=:RML_STATUS
>             WHERE PDCR_ID=:PDCR_ID;
>
> UPDATE OFFICE SET NAME=:NAME, NAME_LEGAL=:NAME_LEGAL,
>                   ALPHA_CD=:ALPHA_CD, GRP_ID=:GRP_ID,
>                   WEB_URL=:WEB_URL, NOTE=EMPTY_CLOB(),
>                   HQ=:HQ, AP_DUE_DAYS=:AP_DUE_DAYS,
AP_DUE_BASE=:AP_DUE_BASE
>               WHERE OFFICE_ID=:OFFICE_ID
>               RETURNING NOTE INTO :NOTE;
> END;
>
>
> The same application selects the column without complaint.  The column
> exists in the OFFICE table.  The column and bind variable is spelled
> correctly.  If I remove AP_DUE_BASE from the update, it works correctly,
> even with the other new column, AP_DUE_DAYS.  AP_DUE_BASE is CHAR(1).
>
> I am stumped.
>
> Thanks for any help.
>
> --
> Jim Poe (jpoe_at_fulcrumit.com)
>
>
Received on Mon Nov 05 2001 - 10:35:01 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US