Record locking message on ORA-00054

I have a block based on a view which has an on-lock trigger to perform custom row-locking. (select for update nowait)
All works fine, except for the fact that i want to display the standard "keep trying" message when my on-lock procedure gets the ora-00054 exception. Is there any builtin to call to produce this message without the use of custom alerts ?
thanks,
Maarten

I sure don't think there is any way to get Oracle to raise the standard alert. And there are two of them, by the way, "FRM-40657: Record changed or deleted by another user"
amd "FRM-40501: ORACLE error- unable to reserve record for update or delete".

Similar Messages

  • Tracking changes and reserved record errors FRM-40501,ORA-00054,FRM-40400

    Forms [32 Bit] Version 10.1.2.2.0 (Production)
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    I'm working on a form with a lot of post-query triggers, and filling in values from selects, etc. I keep getting the message asking me to save changes when I haven't manually changed anything after just doing a querying and cancelling it (f8 to find record, f7 to cancel) Is there a way I can track what oracle thinks has changed so i can find out whats causing it?
    Possibly related, when I start up my form it starts in enter query mode, hitting f8 queries all records, but when I do so, im sometimes getting a FRM-40501 error saying oracle is unable to reserve record for update. (Just checking now this seems to have gone away so maybe someone else also had it open, shared environment) I assume this is also being caused by the fact that something is being changed in/after the query.

    I keep getting the message asking me to save changes when I haven't manually changed anything after just doing a querying and cancelling it
    This error will come when you are assigning any value to the DATABASE ITEM in the post query trigger.
    Appropriate solution:- Please check the properties of the items to which you are assigning values in the post query trigger.
    FRM-40501 error saying oracle is unable to reserve record for update.
    You generally get this error when you try to update the same record which is used somewhere else or in some other screen/block/canvas.
    Appropriate solution:- If you have 2 blocks based on same table then please make sure you are not updating the same record in one block while that recors is active/queried in other block.
    Or this may occur if you are using same record somewhere else.
    Please mark if it helps

  • ORA-00054 - Find user who have lock

    Hi,
    I'm using "select for update NOWAIT" in my application for editing records. It works but after I catch ORA-00054 I want to find username who have the lock.
    The basic step is propably to query view v$lock and propably after then some else view.
    Thanks for any idea/solution
    SASA

    You'll need to scroll down a while to get to your particular question in the thread I linked... I believe it's about a third of the way down.
    It is not possible to know who is locking a particular row unless there are two sessions that are blocking each other. If session 1 has a lock on a particular row and session 2 requests a lock on that same row and session 2 is waiting for that lock to free up, session 3 can query the v$lock table to see which session holds the lock and which session is waiting for the lock. Assuming everyone is logging in with their own user name, you can join this information with v$session to find out the username of the person holding the lock. In your case, though, no session is ever blocked, so you cannot determine who owns the lock.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Errors: ORA-00054 & ORA-01452 while running DAC Full Load

    Hi Friends,
    Previously, I ran full load...it went well. And, I did some sample reports also in BI APPS 7.9.6.2
    Now, I modified few parameters as per the Business and I try to run Full Load again...But I struck with few similar errors. I cleared couple of DB Errors.
    Please, help me out to solve the below errors.
    1. ANOMALY INFO::: Error while executing : TRUNCATE TABLE:W_SALES_BOOKING_LINE_F
    MESSAGE:::com.siebel.etl.database.IllegalSQLQueryException: DataWarehouse:TRUNCATE TABLE W_SALES_BOOKING_LINE_F
    ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
    --I checked W_SALES_BOOKING_LINE_F, it contain s data.
    2. ANOMALY INFO::: Error while executing : CREATE INDEX:W_GL_REVN_F:W_GL_REVN_F_U1
    MESSAGE:::java.lang.Exception: Error while execution : CREATE UNIQUE INDEX
         W_GL_REVN_F_U1
    ON
         W_GL_REVN_F
         INTEGRATION_ID ASC
         ,DATASOURCE_NUM_ID ASC
    NOLOGGING
    with error DataWarehouse:CREATE UNIQUE INDEX
         W_GL_REVN_F_U1
    ON
         W_GL_REVN_F
         INTEGRATION_ID ASC
         ,DATASOURCE_NUM_ID ASC
    NOLOGGING
    ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
    -- Yes, I found duplicate values in this table W_GL_REVN_F. But, how can I rectify it. I did some engineering, but failed.
    please tell me the steps to acheive....
    Thanks in advance..
    Stone

    Hi, Please see the answers (in bold) below.
    1. ANOMALY INFO::: Error while executing : TRUNCATE TABLE:W_SALES_BOOKING_LINE_F
    MESSAGE:::com.siebel.etl.database.IllegalSQLQueryException: DataWarehouse:TRUNCATE TABLE W_SALES_BOOKING_LINE_F
    ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
    --I checked W_SALES_BOOKING_LINE_F, it contain s data.
    Just restart the load, It seems like your DB processes are busy and the table still has a  lock on it which means something is not yet Commited/Rolled Back.
    If this issue repeats you can mail your DBA and ask him to look in to the issue
    2. ANOMALY INFO::: Error while executing : CREATE INDEX:W_GL_REVN_F:W_GL_REVN_F_U1
    MESSAGE:::java.lang.Exception: Error while execution : CREATE UNIQUE INDEX
    W_GL_REVN_F_U1
    ON
    W_GL_REVN_F
    INTEGRATION_ID ASC
         ,DATASOURCE_NUM_ID ASC
         NOLOGGING
         with error DataWarehouse:CREATE UNIQUE INDEX
         W_GL_REVN_F_U1
         ON
         W_GL_REVN_F
         INTEGRATION_ID ASC
         ,DATASOURCE_NUM_ID ASC
         NOLOGGING
         ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
         -- Yes, I found duplicate values in this table W_GL_REVN_F. But, how can I rectify it. I did some engineering, but failed.
         please tell me the steps to achieve....
    please execute this sql and get the duplicate values. If the count is less you can delete the records based on ROW_WID
    How  many duplicates do you have in total?
    *1. SELECT INTEGRATION_ID,DATASOURCE_NUM_ID,count(*) FROM W_GL_REVN_F*
    GROUP BY INTEGRATION_ID, DATASOURCE_NUM_ID
    HAVING COUNT()>1*
    *2. SELECT ROW_WID,DATASOURCE_NUM_ID,INTEGRATION_ID FROM W_GL_REVN_F*
    WHERE INTEGRATION_ID= (from 1st query)
    *3. DELETE from W_GL_REVN_F where ROW_WID=( from 2nd query)*
    Hope this helps !!

  • Adding default constraint causes ORA-00054: resource busy

    Hi,
    i ran a script and got error below. Why am i getting error "ORA-00054: resource busy" when adding a default constraint to table? On other evironments such error didn't occure, only in particualr special one the error occured.
    Is it possible that table has too much traffic/locks i nthat environment? How can i rewrite my script?
    Should i instal lthe script in OFFLINE mode?
    In Oracle 11g, Linux Os i runned such script (in Online mode, system not offline):
    ALTER TABLE Casino.Physicaltables ADD WinnerListEnabled NUMBER(1);
    COMMENT ON COLUMN Casino.Physicaltables.WinnerListEnabled  IS '<BOOLEAN> Defines if winner list is turned on or off.';
    ALTER TABLE Casino.Physicaltables MODIFY WinnerListEnabled DEFAULT 0;
    ALTER TABLE Casino.Physicaltables MODIFY (WinnerListEnabled CONSTRAINT NC_Pts_WinnerListEnabled NOT NULL NOVALIDATE);
    UPDATE Casino.Physicaltables SET WinnerListEnabled = 0 WHERE WinnerListEnabled IS NULL;
    COMMIT;
    ALTER TABLE Casino.Physicaltables MODIFY CONSTRAINT NC_Pts_WinnerListEnabled ENABLE VALIDATE;And output was such:
    \\dserver\Live\release\12.6\0.10\sql\live_sql_12.4.0.5_to_12.6.0.10.zip
    Elapsed: 00:00:00.09
    ALTER TABLE Casino.Physicaltables MODIFY WinnerListEnabled DEFAULT 0
    ERROR at line 1:
    ORA-00054: resource busy and acquire with NOWAIT specified

    Any DDL will cause an exclusive lock on the corresponding record in the dictionary. The error message indicates the object is in use by someone else.
    Solutions:
    1 Apply the code in a maintenance window when no one is there. DDL should NOT be run in a live system during production.
    2 Put the database in restricted mode, provided no one has the restricted session privilege
    3 Make sure your application uses a non-default service (ie service <> database name) and shut down that service using srvctl and/or dbms_service.
    There is no such thing as 'OFFLINE mode'
    Sybrand Bakker
    Senior Oracle DBA

  • "ORA-00054 Resource Busy Error"  when running SQL*Loader in Parallel

    Hi all,
    Please help me on an issue. We are using Datastage which uses sql*loader to load data into an Oracle Table. SQL*Loader invokes 8 parallel sessions for insert on the table. When doing so, we are facing the following error intermittently:
    SQL*Loader-951: Error calling once/load initialization
    ORA-00604: error occurred at recursive SQL level 1
    ORA-00054: resource busy and acquire with NOWAIT specifiedSince the control file is generated automatically by datastage, we cannot modify/change the options and test. Control File for the same is:
    OPTIONS(DIRECT=TRUE, PARALLEL=TRUE, SKIP_INDEX_MAINTENANCE=YES)
    LOAD DATA INFILE 'ora.2958.371909.fifo.1' "FIX 1358"
    APPEND INTO TABLE X
    x1 POSITION(1:8) DECIMAL(15,0)  NULLIF  (1:8)  = X'0000000000000000',
    x2 POSITION(9:16) DECIMAL(15,0)  NULLIF  (9:16)  = X'0000000000000000',
    x3 POSITION(17:20) INTEGER  NULLIF  (17:20)  = X'80000000',
    IDNTFR  POSITION(21:40)   NULLIF  (21:40)  = BLANKS,
    IDNTFR_DTLS  POSITION(41:240)   NULLIF  (41:240)  = BLANKS,
    FROM_DATE  POSITION(241:259) DATE "YYYY-MM-DD HH24:MI:SS"  NULLIF  (241:259)  = BLANKS,
    TO_DATE  POSITION(260:278) DATE "YYYY-MM-DD HH24:MI:SS"  NULLIF  (260:278)  = BLANKS,
    DATA_SOURCE_LKPCD  POSITION(279:283)   NULLIF  (279:283)  = BLANKS,
    EFFECTIVE_DATE  POSITION(284:302) DATE "YYYY-MM-DD HH24:MI:SS"  NULLIF  (284:302)  = BLANKS,
    REMARK  POSITION(303:1302)   NULLIF  (303:1302)  = BLANKS,
    OPRTNL_FLAG  POSITION(1303:1303)   NULLIF  (1303:1303)  = BLANKS,
    CREATED_BY  POSITION(1304:1311) DECIMAL(15,0)  NULLIF  (1304:1311)  = X'0000000000000000',
    CREATED_DATE  POSITION(1312:1330) DATE "YYYY-MM-DD HH24:MI:SS"  NULLIF  (1312:1330)  = BLANKS,
    MODIFIED_BY  POSITION(1331:1338) DECIMAL(15,0)  NULLIF  (1331:1338)  = X'0000000000000000',
    MODIFIED_DATE  POSITION(1339:1357) DATE "YYYY-MM-DD HH24:MI:SS"  NULLIF  (1339:1357)  = BLANKS
    )- it occurs intermittently. When this job runs, no one will be accessing the database or the tables.
    - When we do not run in parallel, then we are not facing the error but it is very slow (obviously).

    Just in case, I am also attaching the Datastage Logs:
       Item #: 466
       Event ID: 1467
       Timestamp: 2009-06-02 23:03:19
       Type: Info
       User Name: dsadm
       Message: main_program: APT configuration file: /clu01/datastage/Ascential/DataStage/Configurations/default.apt
         node "node1"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
         node "node2"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
         node "node3"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
         node "node4"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
          node "node5"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
         node "node6"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
        node "node7"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
       node "node8"
              fastname "machine_name"
              pools ""
              resource disk "/clu01/datastage/Ascential/DataStage/Datasets" {pools ""}
              resource scratchdisk "/clu01/datastage/Ascential/DataStage/Scratch" {pools ""}
       Item #: 467
       Event ID: 1468
       Timestamp: 2009-06-02 23:03:20
       Type: Warning
       User Name: dsadm
       Message: main_program: Warning: the value of the PWD environment variable (/clu01/datastage/Ascential/DataStage/DSEngine) does not appear to be a synonym for the current working directory (/clu01/datastage/Ascential/DataStage/Projects/Production).  The current working directory will be used, but if your ORCHESTRATE job does not start up correctly, you should set your PWD environment variable to a value that will work on all nodes of your system.
       Item #: 468
       Event ID: 1469
       Timestamp: 2009-06-02 23:03:32
       Type: Warning
       User Name: dsadm
       Message: Lkp_1: Input dataset 1 has a partitioning method other than entire specified; disabling memory sharing.
       Item #: 469
       Event ID: 1470
       Timestamp: 2009-06-02 23:04:22
       Type: Warning
       User Name: dsadm
       Message: Lkp_2: Input dataset 1 has a partitioning method other than entire specified; disabling memory sharing.
       Item #: 470
       Event ID: 1471
       Timestamp: 2009-06-02 23:04:30
       Type: Warning
       User Name: dsadm
       Message: Xfmer1: Input dataset 0 has a partitioning method other than entire specified; disabling memory sharing.
       Item #: 471
       Event ID: 1472
       Timestamp: 2009-06-02 23:04:30
       Type: Warning
       User Name: dsadm
       Message: Lkp_2: When checking operator: Operator of type "APT_LUTProcessOp": will partition despite the
    preserve-partitioning flag on the data set on input port 0.
       Item #: 472
       Event ID: 1473
       Timestamp: 2009-06-02 23:04:30
       Type: Warning
       User Name: dsadm
       Message: SKey_1: When checking operator: A sequential operator cannot preserve the partitioning
    of the parallel data set on input port 0.
       Item #: 473
       Event ID: 1474
       Timestamp: 2009-06-02 23:04:30
       Type: Warning
       User Name: dsadm
       Message: SKey_2: When checking operator: Operator of type "APT_GeneratorOperator": will partition despite the
    preserve-partitioning flag on the data set on input port 0.
       Item #: 474
       Event ID: 1475
       Timestamp: 2009-06-02 23:04:30
       Type: Warning
       User Name: dsadm
       Message: buffer(1): When checking operator: Operator of type "APT_BufferOperator": will partition despite the
    preserve-partitioning flag on the data set on input port 0.
       Item #: 475
       Event ID: 1476
       Timestamp: 2009-06-02 23:04:30
       Type: Info
       User Name: dsadm
       Message: Tgt_member: When checking operator: The -index rebuild option has been included; in order for this option to be
    applicable and to work properly, the environment variable APT_ORACLE_LOAD_OPTIONS should contain the options
    DIRECT and PARALLEL set to TRUE, and the option SKIP_INDEX_MAINTENANCE set to YES;
    this variable has been set by the user to `OPTIONS(DIRECT=TRUE, PARALLEL=TRUE, SKIP_INDEX_MAINTENANCE=YES)'.
       Item #: 476
       Event ID: 1477
       Timestamp: 2009-06-02 23:04:35
       Type: Info
       User Name: dsadm
       Message: Tgt_member_idtfr: When checking operator: The -index rebuild option has been included; in order for this option to be
    applicable and to work properly, the environment variable APT_ORACLE_LOAD_OPTIONS should contain the options
    DIRECT and PARALLEL set to TRUE, and the option SKIP_INDEX_MAINTENANCE set to YES;
    this variable has been set by the user to `OPTIONS(DIRECT=TRUE, PARALLEL=TRUE, SKIP_INDEX_MAINTENANCE=YES)'.
       Item #: 477
       Event ID: 1478
       Timestamp: 2009-06-02 23:04:41
       Type: Warning
       User Name: dsadm
       Message: Lkp_2,6: Ignoring duplicate entry at table record 1; no further warnings will be issued for this table
       Item #: 478
       Event ID: 1479
       Timestamp: 2009-06-02 23:04:41
       Type: Warning
       User Name: dsadm
       Message: Tgt_member_idtfr,0: SQL*Loader-951: Error calling once/load initialization
       Item #: 479
       Event ID: 1480
       Timestamp: 2009-06-02 23:04:41
       Type: Warning
       User Name: dsadm
       Message: Tgt_member_idtfr,0: ORA-00604: error occurred at recursive SQL level 1
       Item #: 480
       Event ID: 1481
       Timestamp: 2009-06-02 23:04:41
       Type: Warning
       User Name: dsadm
       Message: Tgt_member_idtfr,0: ORA-00054: resource busy and acquire with NOWAIT specified
       Item #: 481
       Event ID: 1482
       Timestamp: 2009-06-02 23:04:41
       Type: Warning
       User Name: dsadm
       Message: Tgt_member_idtfr,6: SQL*Loader-951: Error calling once/load initialization
       Item #: 482
       Event ID: 1483
       Timestamp: 2009-06-02 23:04:41
       Type: Warning
       User Name: dsadm
       Message: Tgt_member_idtfr,6: ORA-00604: error occurred at recursive SQL level 1
       Item #: 483
       Event ID: 1484
       Timestamp: 2009-06-02 23:04:41
       Type: Warning
       User Name: dsadm
       Message: Tgt_member_idtfr,6: ORA-00054: resource busy and acquire with NOWAIT specified
       Item #: 484
       Event ID: 1485
       Timestamp: 2009-06-02 23:04:41
       Type: Fatal
       User Name: dsadm
       Message: Tgt_member_idtfr,6: The call to sqlldr failed; the return code = 256;
    please see the loader logfile: /clu01/datastage/Ascential/DataStage/Scratch/ora.23335.478434.6.log for details.
       Item #: 485
       Event ID: 1486
       Timestamp: 2009-06-02 23:04:41
       Type: Fatal
       User Name: dsadm
       Message: Tgt_member_idtfr,0: The call to sqlldr failed; the return code = 256;
    please see the loader logfile: /clu01/datastage/Ascential/DataStage/Scratch/ora.23335.478434.0.log for details.

  • FOR UPDATE NOWAIT   and  ora-00054

    Dears
    my scenario is :-
    In a busy transaction system,in a procedure i am making first lock the transaction with FOR UPDATE NOWAIT in a query.
    Then I am checking some status and then i am doing the transaction.
    It was ok but sometimes i am facing "ORA-00054: Resource Busy and Acquire with NOWAIT Specified" this error.
    so, now how can i overcome this. or any alternative way please?
    Regards
    Halim
    Edited by: Abdul Halim on Mar 1, 2011 1:11 PM

    Abdul Halim wrote:
    Dears
    my scenario is :-
    In a busy transaction system,in a procedure i am making first lock the transaction with FOR UPDATE NOWAIT in a query.
    Then I am checking some status and then i am doing the transaction.
    It was ok but sometimes i am facing "ORA-00054: Resource Busy and Acquire with NOWAIT Specified" this error.
    so, now how can i overcome this. or any alternative way please?
    Regards
    Halim
    Edited by: Abdul Halim on Mar 1, 2011 1:11 PMThis is normal behavior.So when you use SELECT FOR UPDATE statement in this case oracle will exclusive row level lock according records.And if you use NOWAIT clause in this case oracle will not wait if these records/table locked by another users.In additionally you can use without NOWAIT clause then other users will wait(without errors) also you can set limit this waiting using DISTRIBUTED_LOCK_TIMEOUT initialization parameter.

  • Getting ORA-00054

    Our application is getting the following error...
    SQL> select * from cmd where CC0034_CMD_NRI = 111 for update nowait;
    select * from cmd where CC0034_CMD_NRI = 111 for update nowait
    ERROR at line 1:
    ORA-00054: resource busy and acquire with NOWAIT specified
    My understanding is that the requested record is locked and that the "FOR UPDATE NOWAIT" clause causes the error. How do I find out who locked the record ?
    How do I prevent this from happening again, or is retrying until the locked record is free the only option I have ?
    Thanks,
    Gabriel

    Yes this error comes from that some other users were holding a lock on a table.
    Example below will demonstrate this:
    Session one:
    [email protected]> create table t(id int);
    Table created.
    [email protected]> insert into t values(10);
    1 row created.
    [email protected]> lock table t in exclusive mode;
    Table(s) Locked.
    Session two:
    [email protected]> select * from t for update nowait;
    select * from t for update nowait
    ERROR at line 1:
    ORA-00054: resource busy and acquire with NOWAIT specified
    [email protected]> select * from t for update ;
    still wating..........
    You can peform this check:
    [email protected]> select * from dba_blockers;
    HOLDING_SESSION
    11
    to get sid of the blocking sessions and then using v$ views you can check sid, serial#, sql statetment being executed and so on..
    Best Regards
    Krystian Zieja / mob

  • ORA-01591 and ORA-00054 while creating index

    Hi guys,
    there is a situation that I didnt understand.
    I have table and want to create an index on it but when I try to create an index I got one of
    ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
    or
    ORA-01591: lock held by in-doubt distributed transaction 11.13.689049 errors.
    as I know there is and .net application which has connection pooling and while this web services were active, I can not create index.
    first thing that i did is querying V$LOCK table and i saw some TM locks from time to time and sometimes nothing. when there wasn't any locks on the table I try to create index, system wait for a while (1 minutes approximately) then I got "ORA-01591: lock held by in-doubt distributed ..." error again. (even "Application" wait event occured. in enterprise manager I saw a few red sql command which is waiting for my create index command)
    after a quick search, I use PENDING_TRANS$ and PENDING_SESSIONS$ tables to force rollback to the transaction which is indicated on ORA-01591 error but just after I rollback that transaction, a new one come up every time.
    today I use something else. First I locked table manually in EXCLUSIVE mode (and success it). then I try to create index again, command worked for a while and I got ORA-01591 error again.
    any idea why is this happining and how can i create my index ?

    sybrand_b,
    when i run
    Lock Table MyTable in exclusive mode;command, it succeeded. I can lock the table if you mean that or if you are saying even if that command runs very well, because of in doubt transaction, oracle will take the lock back, that could be. but as i said lock table command succeeded.
    and there is an another situation here, there is no any other database ? I mean, how could an in doubt transaction happen. there are dblinks but they do not even query that table.
    there is just something that i dont know. as i said in my first message, a .net application is running on an aplication server, as far as i know there connection pooling etc on that server. is this can cause that kind of in doubt transaction ?
    PS: every time in ora-01591 error, I got the same transaction id and that transaction id is not in dba_2pc_pending or pending_session$ etc. that might help.
    Edited by: Mustafa KALAYCI on 17.Şub.2012 13:48

  • JBO-26030 and ORA-00054 error when updating a certain row

    I have a page that saves data when you leave a cell in a table. Everything seems to work fine, but when you get to some cells the JBO-26030 error pops up and then no matter what you do you can't ever save anything on that cell. You can close everything down and reopen and change other cells, but when you go back to that cell the error message always pops up. I think it's mainly happening on the cell that is a drop down with 3 values (P, F, and NT). P is the value and key for the drop down.
    Then when I go into the database through Toad I try to change the value just so see what happens and that's when I get the ORA-00054: resource busy and acquire with NOWAIT specified error. This again only happens when editing that row.
    Any help is appreciated...Thanks!
    Edited by: user10942416 on Aug 6, 2009 6:16 AM

    This error is caused when the block property 'DML returning values' equals YES. This property was introduced as of forms 6. What does it do ? As per the on-line help of Forms, "A database update or insert action may initiate server-side triggers that cause alterations or additional changes in the data. In Release 6, when using an Oracle8 database server, Forms uses the DML Returning clause to immediately bring back any such changes. When this property is set to Yes, Forms will automatically update the client-side version of the data, and the user will not need to re-query the database to obtain the changed values". When this property is switched to yes the generated insert/update statement will contain the 'returning clause' and this clause is causing the error.
    As far as I have tested, the only way at present, to get rid of this error is to set 'DML returing values' to NO. So, not to use this functionality.
    See also:
    http://support.oracle.co.uk/metalink/plsql/ml2_documents.showFrameDocument?p_database_id=NOT&p_id=143395.1
    Please respond if this solution works for you.
    Greets,
    Guido Zeelen

  • ORA-00054 error when loading Oracle table using Data Services

    Hello,
    we are facing ORA-00054 error when loading Oracle table using BO Data services
    (Oracle 10g database, BODS Xi 3.2 SP3)
    Test Job performs
    1- truncate table
    2- load table (tested in standard and bulk load modes)
    Scenario when issue happens is:
    1- Run loading Job
    2- Job end in error for any Oracle data base error
    3- When re-running the same Job, Job fails with following error
         ORA-00054: resource busy and acquire with NOWAIT specified
    It seems after first failure, Oracle session for loading the table stays active and locks the table.
    To be able to rerun the Job, we are forced need to kill Oracle session manually to be able to run the Job again.
    Expected behaviour would be : on error rollback modifications made on table and BODS stops Oracle session in a clean way.
    Can somebody tell me / or point me to any BODS best practice about Oracle error handling to prevent such case?
    Thanks in advance
    Paul-Marie

    the ora-0054 can occure depending how the job failed before. If this occures you will need the DBA to release the lock on the table in question
    Or
           AL_Engine.exe on The server it creates the Lock. Need to Kill Them. Or stop it..
    This Problem Occurs when we select The Bulkloading Option in orclae  We also faced the same issue,Our admin has Killed the session. Then everything alright.

  • Cannot drop table (error ORA-00054)

    I am trying to drop a table but get an "ORA-00054 Resource busy and acquire with NOWAIT specified". Previously I had created this table and run a join which I cancelled because it was taking too long and obviously not doing what I wanted. Now I can't get rid of the table, even with sysdba privileges and re-starting the machine running the database.
    Can anyone help?

    It looks like your table got locked. Do you see any locks in your database on this table? I also, suggest you to close or kill the session which was cancled due to long running join condition, as you said in your question.

  • Problem with truncate table in procedure ora -00054

    hi do anybody know where is mistake ???
    the procedure has problem with truncate table
    ora - 00054: resource busy and acquire with NOWAIT specified
    ora - 06512 at "POVAPSYS.HMAN_P_REFRESH", line 6
    ora - 06512 at "POVAPSYS.POVAPSYS", line 6
    ora - 06512 at line 1
    this is my procedure....
    AS
    BEGIN
    execute immediate 'TRUNCATE TABLE hman_t_max';
    INSERT INTO hman_t_max SELECT * FROM hman_v_max;
    COMMIT;
    END;

    2.MAKE SURE THAT OTHER THAN YOU ANYBODY IS TRYING TO
    COMPILE AND RUN THE PROCEDUREShould he make sure that anybody is running the procedure?
    3.MAKE SURE THAT ANY PARALLEL QUERY IS RUNNING IN THE
    SERVER SIDE,THATS KEEPS THE RESOURCE BUSYShould he make sure any parallel query is running in the server side to keep the resource busy?
    Gita,
    I COULDN'T RESIST HAVING ONE SUGGESTION FOR YOU. Please look at the impact of your English in the reply before posting. Check if that sends reverse message!
    Cheers
    Sarma.

  • How can I enable a constraint even ORA-00054

    Dear,
    ALTER TABLE CLC_TRM_DTS_ATRBT
    MODIFY CONSTRAINT CLC_TRM_DTS_ATRBT_02_FK ENABLE;
    ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired.
    Any way to enable the constraint even any uncommited session or locked?
    Regards

    It is possible, for a busy database, that you will NEVER get the lock you need to enable the constraint. Just because one transaction finishes does not mean that another has not already started. Even a loop as Mr Chitale suggests may never succeed.
    The answer is to quiesce the database with ALTER SYSTEM QUIESCE RESTRICTED. It will hang until all active sessions have committed while preventing inactive sessions from waking up. Then kick off your ENABLE command, and in another session UNQUIESCE. This can be very quick, and your users may not even notice: their sessions will just appear to hang for a couple of seconds.
    John Watson
    Oracle Certified Master DBA

  • Record locks created when user closes the Browser and not the Web Form

    Hi. We sometimes encounter the issue where a user updates a record, locking the record on the table, but then they unexpectedly closes the browser without saving by clicking the X in the upper-right of the browser window. Then when another user comes along and attempts to edit that record they get the message Unable to Reserve Record. The orphaned record lock eventually does seem to clear itself out, but that can often take 15-20 minutes.
    Is there any way to speed this up? Or to pragmatically keep this from occurring? Either on the database side or with some code in a particular application?
    Please let me know your thoughts. Thanks in advance.

    If a user closes the browser window the forms runtime on the application server holding the locks is in most cases still up and running. The FORMS_TIMEOUT controls on how long a forms runtime on the server is up and running without the client applet not sending a heartbeat (See MOS note 549735.1). By default this is 15 minutes which would explain your locks being held 15 minutes.
    You could decrease the FORMS_TIMEOUT in the default.env, so the forms runtimes get cleaned earlier and thus the locks get released earlier.
    Note that if you have blocking client_hostcalls with webutil this might be a problem, as it prevents the forms applet from sending the heartbeat and after the FORMS_TIMEOUT passed while the forms applet is blocked the forms runtime on the server gets closed.
    cheers

Maybe you are looking for

  • Mobile Account will not sync

    I am having no end of problems syncing a mobile account. Have set up a mobile account on Server (10.5.7) and specified in WGM to sync a ~/Documents/Company folder where we'll create all our company documents. I went to client that was bound to server

  • Can't view photos and movies emailed to me on new 16GB iPhone

    I'm sure this has been asked here already, but couldn't find it. When someone emails me a photo or a movie I can't view it on the iPhone. All I see is an icon with mime-attachment under it. I'm able to view the photos and videos on my iMac and Powerb

  • Almost there... how come the bottom jpeg doesn't center?

    Hi, I have a basic layout in DW.  The top portion is centered and working, but for some reason the bottom portion won't center? I am sure this one is a silly mistake.. Thanks Gary http://test.taffyproductions.com/

  • Button Actions

    Please could someone tell me how to adjust the attached code so that when I place my flash Navigation bar in to my HTML Page the event does not open the target URL in a new IE window.

  • How to instal firefox in my i4s mobile

    i am using 4s i dont have firefox browse in apple mobile...