Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> ORA-04020: deadlock detected while trying to lock object FIT_DBA.OFFICE
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
![]() |
![]() |