Can't drop text index (ORA-00054: resource busy) - causes?

Thanks, you were right! It works now, but I have another issue. I only added about 75 MB of PDFs (20 files) into my table, and indexed it. Indexing took about 4 minutes. But now, whenever I try to drop the index, I get this error:
ORA-00054: resource busy and acquire with NOWAIT specified
I tried waiting an hour, and it still gives me the error - it really shouldn't be doing anything. Would a memory or storage space issue cause this? I'd appreciate any help you could give. Thanks.

Try drop index <name> force

Similar Messages

  • ORA-00054: resource busy and acquire with NOWAIT specified

    We are frequently getting ORA-00054: resource busy and acquire with NOWAIT specified error in production database for a application user group. Production database is oracle 10g R 10.2.0.5.0 on sun solaris. The app user group is telling that the code is not changed from many years. They wants this to be resolved on h.priority. The tables which are getting this error has clob fields. I rebuilded indexes in QA environment & they ran it again they are getting the same error.
    I asked to see select for update nowait clause's carefully. They said everything is fine. Please let me know any solution if any one is getting this kind of error. Thanks.

    Has anything changed compared to previously when these errors didn't happen?
    Not necessarily application code but
    - Database version
    - patches
    - indexes
    - data volumes
    - number of clients
    etc, etc
    What led you to rebuild the indexes?
    As for suggested solutions, they completely depend on the specifics of your situation.
    Do you know that the SELECT FOR UPDATE is raising the ORA-00054?
    Something else has the relevant resource locked in a non-shareable way - you need to find out what.
    It sounds like the most likely candidate is another session that has issued a SELECT FOR UPDATE and locked some of the same row(s).
    It's good that you can reproduce on QA rather than just production.
    Maybe you can manually issue the failing SELECT FOR UPDATE statement but with WAIT rather than NOWAIT and see if that helps you figure out blockers, etc.
    Further analysis required at your end.

  • "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.

  • 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

  • How to find process causing "ORA-00054: resource busy and acquire with NOWAIT specified"

    Hello there,
    ENV: Oracle 10gR2 64bit on ASM, RHEL 64bit
    Application team has reported "ORA-00054: resource busy and acquire with NOWAIT specified" during the batch process in production env. This is happening for last couple of days. When this batch process is restarted in the morning, this error does not appear.
    I understand that this error is raised when one process tries to eecute some DDL on a table while another process is performing DML (or hasn't issued COMMIT/ROLLBACK after the DDL).
    Since this error is occurring at night (around 3:00am) during the batch process, is there a way to find out on table/object is contention happening OR which process is causing this error? The batch process cannot be modified to add debug messages because it is in Production.
    Please advise.
    Best regards

    user130038 wrote:
    Hello there,
    ENV: Oracle 10gR2 64bit on ASM, RHEL 64bit
    Application team has reported "ORA-00054: resource busy and acquire with NOWAIT specified" during the batch process in production env. This is happening for last couple of days. When this batch process is restarted in the morning, this error does not appear.
    I understand that this error is raised when one process tries to eecute some DDL on a table while another process is performing DML (or hasn't issued COMMIT/ROLLBACK after the DDL).
    Since this error is occurring at night (around 3:00am) during the batch process, is there a way to find out on table/object is contention happening OR which process is causing this error? The batch process cannot be modified to add debug messages because it is in Production.
    Please advise.
    Best regards
    >The batch process cannot be modified to add debug messages because it is in Production.
    I suspect more than one job is running concurrently against the DB; otherwise not error would occur.
    Of course the batch process CAN be modified, but some PHB has decided to eliminate that option.
    The Oracle database is at the mercy of the application code.
    If the application code is poorly instrumented, then live with what exists or improved the code to facilitate isolating the bug.
    You could delay the start of one of the jobs & then hope the error no longer occurs.

  • Sqlldr direct got ORA-00054: resource busy and acquire with NOWAIT specifie

    I have multi-threaded application to kick off multiple sqlldr sessions that will try to insert 200K rows of data into same table from each session. I am using direct path with parallel enabled. The target table has no index, not even a PK, but I got this ORA-00054 error.
    Sample control file template:
    OPTIONS (SKIP=1, DIRECT=TRUE, PARALLEL=TRUE, SILENT=ALL, MULTITHREADING=TRUE, SKIP_INDEX_MAINTENANCE=TRUE, SKIP_UNUSABLE_INDEXES=TRUE)
    UNRECOVERABLE
    LOAD DATA
    INFILE '&DATA_FILE_NAME'
    BADFILE '&BAD_FILE_NAME'
    DISCARDFILE '&DISCARD_FILE_NAME'
    INTO TABLE TARGET_TABLE
    APPEND
    FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
    ( SESSION_ID CONSTANT &SESSION_ID,
    FIELD00,
    FIELD01,
    FIELD02,
    FIELD03,
    FIELD04,
    FIELD05,
    FIELD06
    The definition of TARGET_TABLE:
    CREATE TABLE TARGET_TABLE
    SESSION_ID NUMBER(12),
    FIELD00 VARCHAR2(4000 BYTE),
    FIELD01 VARCHAR2(4000 BYTE),
    FIELD02 VARCHAR2(4000 BYTE),
    FIELD03 VARCHAR2(4000 BYTE),
    FIELD04 VARCHAR2(4000 BYTE),
    FIELD05 VARCHAR2(4000 BYTE),
    FIELD06 VARCHAR2(4000 BYTE),
    FIELD07 VARCHAR2(4000 BYTE),
    FIELD08 VARCHAR2(4000 BYTE),
    FIELD09 VARCHAR2(4000 BYTE),
    FIELD10 VARCHAR2(4000 BYTE),
    FIELD11 VARCHAR2(4000 BYTE)
    I want to WAIT if there's any race. How can I make it WAIT? Most of the time, WAIT should be the default, but somehow, it acts differently here.
    Any help will be highly appreciated.

    Looking at the same manual, you can see here that you need exclusive access to the table:
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_modes.htm#sthref1449
    And here, you can see that if other DML is happening on a table, Oracle says you need to do conventional path load:
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_modes.htm#sthref1432
    In the case of parallelization, yes, you must set parallel=true. This allows SQL*Loader to manage the parallel inserts. If you were to try to do multiple, concurrent direct path loads yourself by running multiple instances of SQL*Loader, you'd run into the same TM enqueue problem.
    The question as to why the TM enqueue is taken in exclusive mode, has to do with how direct path load works. Oracle loads data into previously unformatted, completely empty data blocks from above the HWM. When the load is complete, the HWM is adjusted, and the data is available. Well, Oracle can't allow for multiple concurrent direct loads, all allocating space from above the HWM, and all messing w/ the HWM. This would cause a bit of a problem. And really, you don't want non-direct load DML going on either. So, Oracle disallows it, by taking the TM enqueue in exclusive mode. (Normal DML, non-direct load, takes the TM enqueue in a sharable mode, allowing for other concurrent DML.)
    Hope that's clear,
    -Mark
    Message was edited by:
    Mark J. Bobak

  • 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.

  • Can't open '/dev/rdisk1' for writing (Resource busy)

    I got a Macbook Pro, install win7 on boot camp. When I wanted to resinstall win7, I accidently click on Recover button and it deleted all my partitions and become one, which run Mac OS. I tried to recover my data partition. On google, I found some guy do it with 'pdisk' command. I followed steps but when I tried to use pdisk:
    sudo pdisk /dev/rdisk0
    and use command 'i':
    i got a message: can't open '/dev/rdisk0' for writing (Resource busy)
    So I borrowed a Mac, connected it with my Macbook through FireWire, and set my Mac in 'Target Disk Mode' and use pdisk again:
    sudo pdisk /dev/rdisk1
    when i use command 'i', i still got the message:
    can't open '/dev/rdisk1' for writing (Resource busy).
    Can anyone know what is this problem? Do I need to extract my hard disk from my Mac?
    Please tell me about it!
    Thanks!
    vanpn
    P/S: this is the link I read about recover partition: http://perrohunter.com/index.php/blog/2011/06/repair-a-mac-os-x-hfs-partition-ta ble

    Hi,
    Thank you for youre answer, that was very useful. It helped me find the solution. The file I wanted to edit was downloaded with Inno Script Studio, which by installation changed the attributes of the file to none writable. So simple by setting a parameter
    in this scripture I was given write access.
    Best regards

  • Dropping Table: ORA-00054

    When going to drop a table in a particular schema, I receive the following error:
    ORA-00054: resource busy and acquire with NOWAIT specified.
    My command:
    drop table schema1.table1;
    I've tried the above drop command several times. No matter what, I keep on getting the same error. How can I successfully drop this table? I also tried logging out & back into my toad session.

    Looks like you were having quite some trouble with your toad connections. This one and the other insert problem.
    Try Oracle SQL Developer and/or SQLPLUS
    Not only there are native Oracle products, but also they are free to use with your database.
    http://www.oracle.com/technology/products/database/sql_developer/index.html

  • How  to solve ora-00054 error while drop the constraint

    i am trying to drop the constraint for the table but it will give the below error.
    ora-00054 resource busy and acquire.
    can you please tell me solve this problem. but in my pc i am not using that table at any where in the system.
    ALTER TABLE EIIS_JBWSTOCK
    DROP CONSTRAINT CHK_TRAN_JOB_TYPE;
    this is my code for alter table constraint.
    thanks

    You may find <sid, serial#> and kill the session.
    SELECT c.owner,
           c.object_name,
           c.object_type,
           b.SID,
           b.serial#,
           b.status,
           b.osuser,
           b.machine
      FROM v$locked_object a, v$session b, dba_objects c
    WHERE b.SID = a.session_id AND a.object_id = c.object_id; --You may add extra condition for your table.
    ALTER SYSTEM KILL SESSION '<sid, serial#>'

  • 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

  • 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

  • How to Drop an index from a used table. online

    I need to drop an index from a table that is constantly used , read and write.
    The DML's are locking the table and preventing the index drop (ORA-00054: resource busy and acquire with NOWAIT specified )
    I tried to lock the table first - using 'lock table TAB1 in exclusive mode'
    but when i ran the 'drop index' command , the drop (as all DDL's) first commits and this frees the lock which cause again the ORA-00054: resource busy and acquire with NOWAIT specified error.
    I would appriciate any help .I can't take the DB or table or Application writing to the table offline. I need something like 'create index IND1 online' for DROP but there is none as far as I know...
    Thanks in advanve.
    Amit Zor

    "It is requsted for the removal of an ORDER BY clause from a CPU consuming query.
    The extra field enables me to remove it as the result set comes back ordered by the index"
    It might do that today, but it is not guaranteed to do it tomorrow. Oracle may be able to retrieve the records ordered using that index, but I would leave it in your query if you are depending on the rows being ordered. The CBO is smart enough to not actually sort the rows (i.e. act on the ORDER BY clause) if it can get them sorted using the index, but if it decides to use another access path for one of many reasons your results will not be sorted without the ORDER BY.
    Since the CBO seems to think that your existing index is useful (which is why you cannot get the lock on it), your only option is to wait for a period of really low activity on the database and try it then.
    John

  • Issue in dropping an index when doing Online Index drop and Creation

    Hi All,
    We have done an implementation, wherein, we are creating Online indexes and dropping them when we have a new Release, and a new build. What we do is, we take the difference in existing DB indexes and the ones present in our script, and then a script is executed which drops/modifies/creates new index.
    However, what is happening is when we are carrying out some activity in our application, the script tries
    to drop an index and fails with "Resource Busy and acquire with NOWAIT."
    Any ideas how to handle this situation. Or should we segregate dropping of old indexes and creation of new indexes?

    cause for this problem:
    Resource Busy and acquire with NOWAIT:
    Whenever you try to do any structural changes on a table oracle try to lock the table exclusively with NOWAIT option(this is in 10.2g while in 11g you can change the wait timeout). If oracle fails to lock the table exclusively then ORA-00054 will occur.
    Solution for this: (try this link)
    http://arjudba.blogspot.com/2009/01/ora-00054-resource-busy-and-acquire.html
    http://oracle-error.blogspot.com/2008/10/ora-00054-resource-busy-and-acquire.html
    RSD

  • 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 !!

Maybe you are looking for

  • My ipod touch says connect to iTunes and when i do it says put your password in but i cant because it is disabled

    my ipod touch 4g says ipod is disabled  connect to itunes and when i do it says i have to put in my password but i cant because it is disabled

  • Button in a selection screen

    Can someone give an example of create a pushbuttom in a selection screen 1000? I draw the button with screen painter and i assign a function code. Which event is triggered when i push the button??? AT-USER COMMAND ??? I think that isn't because is in

  • Using QuickTime Broadcaster with QuickTime Player

    I have one computer streaming video/audio using QuickTime Broadcaster. How are you supposed to view the stream with QuickTime Player on another computer? None of the QuickTime docs says how you view a stream. I tried entering the IP address of my bro

  • Skype Called ID not working.

    Hi. I am a premium account user. I have registered my mobile phone number for the Skype Called ID function. I did receive a text saying that it will be active but it still appears as "unknown number" when I call to mobile/landlines of my family. How

  • Regarding query builder api

    Hi,    i am able to create image reference but not able to create image path from dam i am putting like this    map.put("type", "dam:Asset"); is this correct or is there any other way to getpath of image from dam .please let me know code------------