How to find the reason of database lock or wait event as per specific time?

All -
As a part of a job that was running last night by the developers, they encountered an issue wherein a certain constraint was getting hung. I think there was a lock on that specific table.
This happened at between 3.48 AM and 5.59 AM today morning. How can i find out the reason for that specific event for this time duration??
Just an FYI, Later when the job was killed and restarted afterwards it ran fine.

they encountered an issue wherein a certain constraint was getting hung. I see the words but have NO idea what this means.
EXACTLY how can "constraint get hung"?
I think there was a lock on that specific table.Based upon what evidence do you arrive at this conclusion.
ALWAYS
Post Operating System (OS) name & version for DB server system.
Post results of
SELECT * from v$version;

Similar Messages

  • How to Find the number of Databases in a server.

    HI,
    Please tell me how to find the number of Databases are in a server . when the DB is not up.
    ps -ef | grep ora_
    This i know whether our DB is up or not. But i want to know how many databases are in a server .If the database is down .
    Cheers,
    Gobi.

    Hi,
    [oracle@oralinux admin]$ lsnrctl status
    LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 01-DEC-2006 16:25:41
    Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
    TNS-01169: The listener has not recognized the password
    [oracle@oralinux admin]$
    Plz give me the solution.
    Cheers ,
    Gobi.

  • [InDesign CS3] how to find the reason of the memory leaks?

    Hi all,
    I'm working with InDesign CS3. I wrote a plug-in and loaded it into InDesign in debug mode. After I closed the application, I got a console window showing memory leaks as following:
    Leaks! 52 leaks, 716804 bytes
    Press any key to continue . . .
    Does anybody know how to find the reason of the memory leaks? Thanks a lot!
    Nicole

    Thanks Dave. I'm using Windows, and I also tried MemoryTracker. I got a Leaks.txt which shows the detail of memory leaks as following. But I really can't understand it. Any help? Thanks.<br /><br />Leaks!  7 leaks, 455252 bytes<br /><br />65036 bytes at: 7B22FF8<br />     4172627C     MemoryPool::GetNonPoolSizePeak cannot be found in any module!<br />     00EDC1CB     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     01C9C74F     cannot find address in any module!<br />     01C96DEC     BIBGetVersion cannot be found in any module!<br />     01C96E60     BIBGetVersion cannot be found in any module!<br />     01C979E4     cannot find address in any module!<br />     0131F511     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     0131F4C4     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     00EDBC7E     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     00EDBFBE     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     00EDC558     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     1002C26E     cannot find address in any module!<br />     1002BFB9     cannot find address in any module!<br />     00401644     cannot find address in any module!<br />     00405146     cannot find address in any module!<br />     00404EBD     cannot find address in any module!<br />     7C817067     RegisterWaitForInputIdle cannot be found in any module!<br />65036 bytes at: 7B32E38<br />     4172627C     MemoryPool::GetNonPoolSizePeak cannot be found in any module!<br />     00EDC1CB     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     01C9C74F     cannot find address in any module!<br />     01C96DEC     BIBGetVersion cannot be found in any module!<br />     01BB149B     cannot find address in any module!<br />     01BB4C62     cannot find address in any module!<br />     00EDBCE3     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     00EDBFBE     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     00EDC558     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     1002C26E     cannot find address in any module!<br />     1002BFB9     cannot find address in any module!<br />     00401644     cannot find address in any module!<br />     00405146     cannot find address in any module!<br />     00404EBD     cannot find address in any module!<br />     7C817067     RegisterWaitForInputIdle cannot be found in any module!<br />65036 bytes at: 7B52AB8<br />     4172627C     MemoryPool::GetNonPoolSizePeak cannot be found in any module!<br />     00EDC1CB     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     01C9C74F     cannot find address in any module!<br />     01C96DEC     BIBGetVersion cannot be found in any module!<br />     02331A7A     cannot find address in any module!<br />     0236E7CD     cannot find address in any module!<br />     43726F6C     cannot find address in any module!<br />65036 bytes at: 7C93D80<br />     4172627C     MemoryPool::GetNonPoolSizePeak cannot be found in any module!<br />     00EDC1CB     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     01C9C74F     cannot find address in any module!<br />     02331F36     cannot find address in any module!<br />     02367F85     cannot find address in any module!<br />     02415DB4     cannot find address in any module!<br />     3F800000     cannot find address in any module!<br />     02416799     cannot find address in any module!<br />     FFFFFF11     cannot find address in any module!<br />65036 bytes at: 7CD6028<br />     4172627C     MemoryPool::GetNonPoolSizePeak cannot be found in any module!<br />     00EDC1CB     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     01C9C74F     cannot find address in any module!<br />     01CE1C14     cannot find address in any module!<br />     01DD9346     CTGetVersion cannot be found in any module!<br />     01D9B052     CTGetVersion cannot be found in any module!<br />     01D9B189     CTGetVersion cannot be found in any module!<br />     01D9BB21     CTGetVersion cannot be found in any module!<br />     01D9BD0C     CTGetVersion cannot be found in any module!<br />     01D9CE96     CTGetVersion cannot be found in any module!<br />     01D9CEFF     CTGetVersion cannot be found in any module!<br />     01DDBEA2     CTGetVersion cannot be found in any module!<br />     01DDC214     CTGetVersion cannot be found in any module!<br />     01DDC7C6     CTGetVersion cannot be found in any module!<br />65036 bytes at: 16D68200<br />     4172627C     MemoryPool::GetNonPoolSizePeak cannot be found in any module!<br />     00EDC1CB     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     01C9C74F     cannot find address in any module!<br />     01BB178C     cannot find address in any module!<br />     01BCE7C8     cannot find address in any module!<br />     01BCEE13     cannot find address in any module!<br />     01BD28C5     cannot find address in any module!<br />     01BD4CB7     cannot find address in any module!<br />65036 bytes at: 20B68F88<br />     4172627C     MemoryPool::GetNonPoolSizePeak cannot be found in any module!<br />     00EDC1CB     K2Internals::K2VectorBase<HolderPtr<IPMUnknown>,K2Allocator<HolderPtr <IPMUnknown> > >::fill_insert cannot be found in any module!<br />     01C9C74F     cannot find address in any module!<br />     01CE1C14     cannot find address in any module!<br />     01D2F1A1     cannot find address in any module!<br />     01D6F789     CTGetVersion cannot be found in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!<br />     07BFB464     cannot find address in any module!

  • How to find the WhereUsed List for a Business Object Event?

    How to find the WhereUsed List for a Business Object Event?

    Can anybody let me know how to get which
    Whereused  function will get the data from
    different Werks in multi-level?
    Any sample program please!!!

  • ORA-03001: unimplemented feature. How to find the reason.

    RDBMS version: 10.1.0.5.0
    Sometimes our application raise the error ORA-03001.
    We need to get more information about the problem because we are not able to find the reason of this error.
    Someone suggests me to set the event:
    alter system set event = '3001 trace name ERRORSTACK level 3' SCOPE=SPFILE
    What do you think about it?
    Edited by: user600979 on 14-ago-2009 5.36

    user600979 wrote:
    RDBMS version: 10.1.0.5.0
    Sometimes our application raise the error ORA-03001.
    We need to get more information about the problem because we are not able to find the reason of this error.
    Someone suggests me to set the event:
    alter system set event = '3001 trace name ERRORSTACK level 3' SCOPE=SPFILEI'm not sure if setting this event will help but you can test it!
    First of all the SCOPE=SPFILE will require to bounce the database. You might first consider setting and testing the event in Memory.
    Then you can run a little script to see if the error is trackable and if the tracked information is useful.
    SQL> create procedure test_error as
      2       e_test_error exception;
      3       pragma exception_init (e_test_error, -3001);
      4  begin
      5       raise  e_test_error;
      6  end;
      7  /
    Procedure created.
    SQL> 
    SQL> execute test_error;
    BEGIN test_error; END;
    ERROR at line 1:
    ORA-03001: unimplemented feature
    ORA-06512: at "CDM_USER.TEST_ERROR", line 5
    ORA-06512: at line 1
    SQL> Then check the alert log/trace whatever you use.

  • How to find the reason for a job failure

    Hi,
    I have created a job .
    It was running fine. But after few days it showed the status as broken.
    How do we find the reason for a job failure ?
    Thanks.

    There should be a trace file in the either the udump or bdump (depending on Oracle version) directory on the DB server. If the job is broken it has probably failed 16 times, so you should have 16 trace files - each possibly showing the same error. The relevant trace files will have j00 in the name, showing that they were generated from dbms_job.
    Ben

  • How to find the code in standard transaction from where event is trigered

    I have a configuration in SWEC, to trigger an event, when a PR is change
    For the Transaction ME52 (Change Purchase requisition), I want to go to the portion of the code, from where the function module for triggering the event is executed.
    I have learnt that F.Ms for trigerring events programatically are
    1.  SWE_EVENT_CREATE.
    2.  SWE_EVENT_CREATE_IN_UPD_TASK.
    3.  SWE_EVENT_CREATE_FOR_UPD_TASK
    So, I tried debugging the transaction ME52 by setting breakpoints at the following function modules.
    1.  SWE_EVENT_CREATE.
    2.  SWE_EVENT_CREATE_IN_UPD_TASK.
    3.  SWE_EVENT_CREATE_FOR_UPD_TASK.
    But none of these were encountered.

    Hi Sameer,
    Why not follow the reverse approach! First check the event getting triggered and then move backwards to the source of triggering the event.
    Activate event trace from SWELS and then check the event getting triggered in SWEL.
    I doubt if putting break-points in the FM would help...
    Check if the event is being triggered by the BO method.
    You can check the where-used list of the method and find out the source of the event triggering.
    Hope this helps!
    Regards,
    Saumya

  • Tuning row lock contention wait events

    Hello everyone,
    Working on 10g/windows
    Top 5 events
    EVENT TOTAL_WAITS TIME_WAITED AVG_MS PERCENT
    CPU 9462339 48
    enq: TX - row lock contention 12531 3660728 2921.34 18
    control file parallel write 1300731 3088079 23.74 16
    log file parallel write 1510503 1264080 8.37 6
    log file sync 1072553 968007 9.03 5
    Distribution of row lock wait during the last 4 days in the database server
    END_INTERVAL_TIME TOTAL_WAITS TIME_WAITED_MICRO AVG_WAIT_MS
    2008-04-01 16:00:58 909 2721008230 2993.41
    2008-04-01 15:00:27 50 149941140 2998.82
    2008-03-31 12:00:42 193 575595397 2982.36
    2008-03-29 23:00:13 172 513058700 2982.9
    2008-03-29 22:00:37 164 483940046 2950.85
    2008-03-27 22:00:35 565 1667120838 2950.66
    2008-03-26 18:00:59 348 1042918982 2996.89
    My analysis:
    It's obvious that the row lock contention wait time is huge, and this direct me to find out SQL stmt, causing this.
    all the SQL statement was SELECT ....... FOR UPDATE stmt.
    I was also able to find out locked tables.
    My tuning idea:
    1. I'm thinking to reorganize hot tables as well as their indexes, but by instinct it seems to not give so much value to avoid the huge row lock wait time.
    2. I'm also seeing if I can reduce the number of rows per block, by increasing PCTFREE and diminishing PCTUSED, so the contention will spread over many blocks instead of one heavy block.
    Question
    As SQL stmt related to those locked tables are select ... for update, how could I tune this kind of stmt?
    Does someone have other idea to come up with this row lock contention?
    Tanks for your effort and help

    Taking another look at your suggested function based index, it depends on the data type of the DEV.POS_FOLIO_ID.POS_FOLIO_ID column. If the column is defined as a number, and it is a primary key, there will already be a usable index on that column.
    Yesterday, I wrote this: "Once I understood why or how the sessions were trying to insert duplicate primary key values, I would try to determine why the average number of seconds for the wait event is almost 3 seconds (maybe a timeout)."
    After fixing the formatting of the top 5 wait events (total duration unknown):
    EVENT                        TOTAL_WAITS  TIME_WAITED   AVG_MS PERCENT
    CPU                                         94,623.39             48
    enq: TX - row lock contention     12,531    36,607.28  2921.34    18
    control file parallel write    1,300,731    30,880.79    23.74    16
    log file parallel write        1,510,503    12,640.80     8.37     6
    log file sync                  1,072,553     9,680.07     9.03     512,531 * 3 second time out = 37,593 seconds = 10.44 hours.
    What if the reason for the 3 second average wait time is due to a timeout. I performed a little experiment... I changed a row in a test table and then made a pot of coffee.
    In session 1:
    CREATE TABLE T1 (
      C1 NUMBER(10),
      C2 NUMBER(10),
      PRIMARY KEY (C1));
    INSERT INTO T1
    SELECT
      ROWNUM,
      ROWNUM*10
    FROM
      DUAL
    CONNECT BY
      LEVEL<=1000000;
    COMMIT;I now have a test table with 1,000,000 rows. I start monitoring the changes in the wait events roughly every 60 seconds, and V$SESSION_WAIT and V$LOCK roughly 4 times per second.
    Back in session 1:
    UPDATE
      T1
    SET
      C1=-C1
    WHERE
      C1<=100;I have now modified the first 100 rows that were inserted into the table, time to make the pot of coffee.
    In session 2, I try to insert a row with a primary key value of -10:
    INSERT INTO T1 VALUES (
      -10,
      10);Session 2 hangs.
    If I take the third 60 second snap of the system wide wait events as the zero point, and the 11th snap as the end point. There were 149 waits on ENQ: TX - ROW LOCK CONTENTION, 148 time outs, 446.62 seconds of total time in the wait event, with an average wait time of 2.997450 seconds.
    Rolling down to the session level wait events, SID 208 (my session 2) had 149 waits on ENQ: TX - ROW LOCK CONTENTION, for a total time of 446.61 seconds with an average wait time of 2.997383 seconds. All of the 149 waits and the wait time was in this one session that was locked up for the full duration of this time period because session 1 was making a pot of coffee.
    Rolling down to V$SESSION_WAIT (sampled roughly 4 times per second): At the start of the third time interval, SID 208 has been in the ENQ: TX - ROW LOCK CONTENTION wait event for 39 seconds and is actively waiting trying to execute SQL with a hash value of 1001532423, the wait object is -1, wait file is 0, wait block is 0, wait row is 0, P1 is 1415053316, P2 is 196646, P3 is 4754.
    At the end of the 11th time interval: , SID 208 has been in the ENQ: TX - ROW LOCK CONTENTION wait event for 483 seconds and is actively waiting trying to execute SQL with a hash value of 1001532423, the wait object is -1, wait file is 0, wait block is 0, wait row is 0, P1 is 1415053316, P2 is 196646, P3 is 4754.
    Rolling down to V$LOCK (sampled roughly 4 times per second): I see that SID 214 (session 1) is blocking SID 208 (session 2). SID 214 has a TX lock in mode 6 with ID1 of 196646 and ID2 of 4754. SID 208 is requesting a TX lock in mode 4 with ID1 of 196646 and ID2 of 4754.
    So, it seems that I need a faster coffee pot rather than an additional index on my table. It could be that the above process would have found that the application associated with SID 214 was abandoned or crashed and for some reason the lock was not released for a long period of time, a little less than 10.44 hours in your case.
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.

  • How to find out the reason for blocking locks?

    PB Application try to create data in ASE 12.5. With this operation, there are sql, sp, trigger involved. Most of the it is okay. With lock of sleeping or sync sleeping lock. User wait for a short time to get the result.
    but some time, there are blocking lock.
    If spid for the app is 1. then looks like this app also generate another spid, say it is 2. and 2 is blocking by 1. spid 1 holding lock!
    then all user is frozen because of spid 1 holding lock!!!  How to figure it out the reason for blocking locks?

    Thanks, Mark. Yes, sp_lock, sp_who, ... are common tool I used.
    I found out one case like:
    I have a SP which call a View for data.
    When I run this SP, suppose the sipd is 1. then it will create another spid 2 because of access view and it gone very quick. This cause spid 1 block spid 2 within a short time.
    If the are many user run the app, the app will be  frozen and everyone is waiting. Finally it release, no dead lock, but the performance is not acceptable.
    That why I have this question.

  • How to find the number of users  connected to database from OS level(Linux)

    Hi All,
    Could anyone know , how to find the number of users connected to database without connecting with sql*plus
    is there any command to find it?
    example we have 10 databases in one server, how to find the number of users connected to particular database without connecting to database(v$session)?
    oracle version:- 10g,11g
    Operating System:- OEL4/OEL5/AIX/Solaris
    any help will be appreciated.
    Thanks in advance.
    Thank you.
    Regards,
    Rajesh.

    Excellent.
    Tested, works as long as you set the ORACLE_SID first ( to change databases )
    ps -ef | grep $ORACLE_SID | grep "LOCAL=NO" | awk '{print $2}' | wc -l
    Thanks!
    select OSUSER
        from V$SESSION
    where AUDSID = SYS_CONTEXT('userenv','sessionid')
        and rownum=1;Best Regards
    mseberg

  • How to find the number of ODBC connections to Oracle Database

    Hi All,
    How to find the number of ODBC connections and all connections to the Database in last week. Are there any views to get this information?
    Thanks in advance,
    Mahi

    What Ed said is true that Oracle doesn't note which type of protocol is connecting to the database, however, you can see which program is accessing the database.
    For example: if you already know of a user using ODBC, you can verify as:
    select username, osuser, terminal, program from v$session where username = 'SCOTT'
    USERNAME                 OSUSER          TERMINAL   PROGRAM
    SCOTT                    IUSR_SRV231     SRV231     w3wp.exe
    SCOTT                    IUSR_SRV231     SRV231     w3wp.exe
    2 rows selected.Assuming that you can confirm the progam noted in the above (example) is the one using ODBC, then you can change the query such as:
    SQL> select username, osuser, terminal, program from v$session where program = 'w3wp.exe';
    USERNAME                 OSUSER          TERMINAL   PROGRAM
    SCOTT                    IUSR_SRV231     SRV231     w3wp.exe
    SCOTT                    IUSR_SRV231     SRV231     w3wp.exe
    2 rows selected.Just for kicks, I checked our listener.log file, but there was no reference of odbc in it either.
    Hope this helps...

  • How to find the LOCKED ROWS in a table?

    Not locked objects, but for a table the locked rows.

    Check below links :
    http://www.jlcomp.demon.co.uk/faq/locked_rows.html
    How to find the locked row.
    who are waiting for same record?
    HTH
    Girish Sharma

  • How to find the difference in object definition between two databases

    Hi,
    Can any one suggest me how to find the difference in object definition between two different databases. Is there any tool or by OEM? If so how?
    Regards
    Naveen

    this link may be helpful...
    http://www.dbspecialists.com/scripts.html

  • How to find the maximum no of users logged in Database

    Hi All,
    How to find the maximum number of users logged in database at particular time? I can find currently logged users or umber of sessions running on Database but I wanted to find at what time maximum number of users or sessions connected to the DB? is that possible? if yes please help me. thanks.

    Vijay wrote:
    Hi All,
    How to find the maximum number of users logged in database at particular time? I can find currently logged users or umber of sessions running on Database but I wanted to find at what time maximum number of users or sessions connected to the DB? is that possible? if yes please help me. thanks.
    select * from v$resource_limit;Lists about 20 different resources with current, maximum and limit on usage. Session count is one of them. I don't think there's any (simple, efficient) way to determine the maximum number of different users of sessions, though.
    Regards
    Jonathan Lewis

  • How to find the structure fields data in database tables?

    how to find the structure fields data in database tables?

    Your question doesn't appear to be Web Dynpro ABAP related. Please only post questions in this forum if they are directly Web Dynpro ABAP related.  There are several other more general ABAP related forums.

Maybe you are looking for

  • HOW TO HIDE FIELDS IN A CUSTOM TABLE - URGENT

    Hi all, I've a requirement where I need to hide 2 fields of a custom created table(Z table with 4 fields). When I create a new record and when I Click on save it should display only 2 fields instead of all the 4 fields. A table maintainence generator

  • Your Firefox Profile cannot be loaded.It may be missing or inaccessable. Have tried all suggestions and cannot find my profile or fix it

    I have bee using firefox for many years and seemed to have lost it. I downloaded again about 5 times,have tried all suggestions in the forums nothing worked.The only thing is I tried to recover my Profile default fold and it is missing. What can I do

  • Multimapping question .

    Hi , I am having a idoc to file scenario and I am required to have all the header details in one file and all the item level details in another file.I am using multi mapping for the same .In moni I can see the message getting split .However I see onl

  • Aggregation - dynamic composition is referred to as aggregation

    Hi, This has been in my todo forever Need help to understand the statement "dynamic composition is referred to as aggregation" Is their an example for this statement. Using an example that most of us work on as part of college project work - WYSIWYG

  • Dual stack multi-home BGP

    I have a design I'm working on which will require among other things dual stack across MPLS. Configuring CE routers for dual stack seems very straight forward, however I'm having trouble finding documentation describing the BGP config for multihoming