Exclusive locks on IFS tables

We have a servlet application that accesses IFS 9.0.1.1 via the IFS API.
We are having a problem where sessions are putting an exclusive lock on certain SYS_LOBnnnnnnnnn objects which (in turn) prevents other sessions from gaining an exclusive lock on the ODM_DOCUMENT table.
Today, the following statement (issued by some IFS API call) was causing an exclusive lock which was never released:
update odm_document set READBYOWNER := 1 where id = :2
This statement put an exclusive lock on the SYS_LOB0000046893C00006$$ object and that lock was never released and we had to kill the session.
Any guidance would be appreciated. Thanks.

The mappings when run does acquire an exclusive lock on the target table and yes it does only when it is run in set based mode, this is absolutely true. If you run a mapping in set based mode and loading some data in millions it takes an exclusive lock on the target table. You can verify it by querying the v$lock table, or by using the session browser in any of SQL querying tools.
The problem can be overcome by running in row based mode as suggested by you, but when data volume is huge I dont think the row based mode gives a satisfactory preformance.
Anyways, thanks for all your suggestions. Lets see if I can find any other way out.

Similar Messages

  • Updating  a  row  in  table  exclusive  lock on entire table

    Hi
    We have table master table and few child tables .
    when we try to update a row in master table , it is locking entire table
    i.e seems update process holding exclusive lock on entire table
    it is not allowing any furthur update to that table
    Could you please tell me what could be the problem for that
    Thanks,
    - AK

    Does the table has primary key - foreign key relationship? Try disabling the constraint and see if it works. If it works then it is about unindexed foreign key issue.

  • Monitor exclusive lock on a table and send notification email through EM

    Hi,
    I have Oracle10g and EM10G running on different servers.
    now one of my plsql code creates an exclusive lock on one of my tables.
    i want to monitor this exclusive lock on this table through the EM. and when the exclusive lock on the table is continuing for more than 1 hour, i want an email notification sent to me by the EM.
    How can i do this?
    Can someone help me achieve this above situation.
    Thanks.
    Philip.

    One of the nice about OEM is that a lot of the things are self explanatory. E.g. I never read docs to set up our first user defined metrics. It is really just to dive in there. Define a metric and the sql you want to use for monitoring the lock. Then you just go and create email notification for this when it hits warning or critical treshold.

  • GTT table getting Row Exclusive lock

    I have a procedure which loads a table which is used for reporting.
    Currently it is a single process which picks up most of the data after joining 2-3 big tables(around 70-80GB) and then loading the main table.
    The joins are on PI and also partitions are also being used. Then a lot of updates are done on the main table to update other columns which are being picked from different tables.
    As the processing is happening on huge amount of data(around 1M), so processing is taking a lot of time.
    This process is taking around 40-45 minutes.
    I am planning to use parallelism to run it in 75 sessions. So the initial big insert will be faster and later on all the updates will be done on smaller chunks which will benefit the performance.
    I planned to use GTT table so that i dont have to create 75 temp tables for each sessions.
    But while using GTT table(ON COMMIT DELETE ROWS) in parallel sessions, i am seeing that the GTT table is getting Row Exclusive lock and the time taken by overall process is increasing by lot.
    So i tested by using 75 temp tables. There i saw that the performance has increased by lots as assumed initially.
    Please let me know if there is any other way or how to remove the locks on GTT table.

    First you should question why you think you need 75 GTT.
    Also your question contains no useful information
    (no four digit version of Oracle, no OS, no number of processors) , this paragrah
    Currently it is a single process which picks up most of the data after joining 2-3 big tables(around 70-80GB) and then loading the main table.
    The joins are on PI and also partitions are also being used. Then a lot of updates are done on the main table to update other columns which are being picked from different tables.
    As the processing is happening on huge amount of data(around 1M), so processing is taking a lot of time.
    This process is taking around 40-45 minutes.tells nothing,
    so basically your questions boils down to
    - Hey I come from a sqlserver background (this is just an educated guess), how can I find a workaround to wreck Oracle to make it work like sqlserver.
    75 parallel sessions on say 4 to 8 processors is a very bad idea, as these sessions will be simple competing for resources.
    Also a row exclusive lock is just that: a row level lock. This isn't a problem, usually.
    Sybrand Bakker
    Senior Oracle DBA

  • How to find out the locks in the table

    Any query anybody have to find out locks in any table.

    Here is a version with SID and serial# data:
    set linesize 150;
    set head on;
    col sid_serial form a13
    col ora_user for a15;
    col object_name for a35;
    col object_type for a10;
    col lock_mode for a15;
    col last_ddl for a8;
    col status for a10;
    break on sid_serial;
    SELECT l.session_id||','||v.serial# sid_serial,
           l.ORACLE_USERNAME ora_user,
           o.object_name,
           o.object_type,
           DECODE(l.locked_mode,
              0, 'None',
              1, 'Null',
              2, 'Row-S (SS)',
              3, 'Row-X (SX)',
              4, 'Share',
              5, 'S/Row-X (SSX)',
              6, 'Exclusive',
              TO_CHAR(l.locked_mode)
           ) lock_mode,
           o.status,
           to_char(o.last_ddl_time,'dd.mm.yy') last_ddl
    FROM dba_objects o, gv$locked_object l, v$session v
    WHERE o.object_id = l.object_id
          and l.SESSION_ID=v.sid
    order by 2,3;

  • Lock escalation on table with no key/index

    Hi,
    I've got the table with single column only (int) and no indexes nor pk/uq, just auto-created statistics.
    now, in transaction, there is a command: SELECT <COL> FROM <TABLE> WITH (ROWLOCK UPDLOCK) WHERE <COL>=100
    Table has variable num of records but it doesn't go over 200k, usually below 60k. Column values are mostly unique but can be duplicated in minor portion.
    Question 1: when this select executes, what will be locked - row, page or entire table?
    Question 2: if I have PK/UQ/index and execute same SELECT as above, what will locked then?

    Hi,
    1. Please note that every lock taken by sql server has some memory associated with it so more the number of locks more memory it will use. To avoid this unnecessary usage sql server uses Lock escalation when it deems necessary that it would be better to
    lock whole table instead of locking whole row.
    There is no use here using UPDLOCK with select statement, it would just change locking behavior and would force U lock lets see example
    I have a table having structure as
    CREATE TABLE [dbo].[Logging](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [c1] [char](50) NOT NULL DEFAULT ('SOME MORE DATA')
    ) ON [PRIMARY]
    GO
    SET ANSI_PADDING OFF
    GO
    it ha some 20 K records now lets concentrate on query which you asked
    begin transaction
    select @@SPID,ID,C1 from dbo.Logging with (ROWLOCK,UPDLOCK) where id=12
    --commit
    To see locks taken by this query we would run below query in other SSMS window
    Select
    resource_type,
    request_mode,
    request_status,
    request_session_id
    from sys.dm_tran_locks
    where resource_database_id=11--databse ID
    below is result
    You can see update lock bein taken on row and IX intent exclusive lock on object that is table and shared lock on database.
    Now if we change the query to scan whole table like below
    Now you can see Only exclusive lock is taken on whole table instead of taking on every row. If you see the query every row has predicate 'some more data' so ultimately a table scan would be required .
    Above is assuming default Isolation level
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
    My Technet Wiki Article
    MVP

  • Lock object for table KNVP and KNVK

    Hello Friends,
    Can you please tell me the standard lock object for the table KNVP and KNVK.
    Thank and regards,
    Kuldeep

    Hi
    see this and do accordingly
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    - Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    - Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    - Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technicaly:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    You have to use these function module in your program.
    check this link for example.
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    tables:vbak.
    call function 'ENQUEUE_EZLOCK3'
    exporting
    mode_vbak = 'E'
    mandt = sy-mandt
    vbeln = vbak-vbeln
    X_VBELN = ' '
    _SCOPE = '2'
    _WAIT = ' '
    _COLLECT = ' '
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Normally ABAPers will create the Lock objects, because we know when to lock and how to lock and where to lock the Object then after completing our updations we unlock the Objects in the Tables
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    purpose: If multiple user try to access a database object, inconsistency may occer. To avoid that inconsistency and to let multiple user give the accessibility of the database objects the locking mechanism is used.
    Steps: first we create a loc object in se11 . Suppose for a table mara. It will create two functional module.:
    1. enque_lockobject
    1. deque_lockobject
    before updating any table first we lock the table by calling enque_lockobject fm and then after updating we release the lock by deque_lockobject.
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    GO TO SE11
    Select the radio button "Lock object"..
    Give the name starts with EZ or EY..
    Example: EYTEST
    Press Create button..
    Give the short description..
    Example: Lock object for table ZTABLE..
    In the tables tab..Give the table name..
    Example: ZTABLE
    Save and generate..
    Your lock object is now created..You can see the LOCK MODULES..
    In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
    Lock objects:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    Match Code Objects:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/41/f6b237fec48c67e10000009b38f8cf/content.htm
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci553386,00.html
    See this link:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Check these links -
    lock objects
    Lock Objects
    Lock Objects
    Regards
    Anji

  • How to set DDL lock for a table

    OCI,how to set DDL lock for a table?

    Oracle acquires a dictionary lock automatically on behalf of any DDL transaction requiring it. Users cannot explicitly request DDL locks. Only individual schema objects that are modified or referenced are locked during DDL operations. The whole data dictionary is never locked
    DDL locks fall into three categories: exclusive DDL locks, share DDL locks, and breakable parse locks.
    see this link
    http://www.sc.ehu.es/siwebso/KZCC/Oracle_10g_Documentacion/server.101/b10743/consist.htm#i5281

  • Identifying deadlocked resources in graph with 1 row lock and 1 table lock

    Hi, I have run into repeated occurrences of the deadlock graph at the bottom of this post and have a few questions about it:
    1. It appears that proc 44, session 548 is holding a row lock (X). Is the waiter, proc 30, session 542, trying to acquire a row lock (X) also or an exclusive table lock (X) on the table containing that row?
    2. Under what circumstances would something hold a row exclusive table lock (SX) and want to upgrade that to a share row exclusive table lock (SSX)?
    3. Our table cxml_foldercontent has a column 'structuredDataId' with a FK to cxml_structureddata.id and an ON DELETE SET NULL trigger. Would this help explain why an "update" to one table (i.e.g cxml_foldercontent) would also need to acquire a lock in a foreign table, cxml_structureddata?
    4. What is the difference between "Current SQL statement:" and "Current SQL statement for this session:"? That terminology is confusing. Is session 542 executing the "update" or the "delete"?
    5. In the "Rows waited on:" section is it saying that Session 542 is waiting on on obj - rowid = 0000BE63 - AAAL5jAAGAAA6tZAAK or that it is has the lock on that row and other things are waiting on it?
    A couple of notes:
    - the cxml_foldercontent.structuredDataId FK column has an index on it already
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name                    process session holds waits  process session holds waits
    TX-003a0011-000003d0        44       548     X               30        542             X
    TM-0000be63-00000000       30       542     SX              44        548     SX    SSX
    session 548: DID 0001-002C-000002D9     session 542: DID 0001-001E-00000050
    session 542: DID 0001-001E-00000050     session 548: DID 0001-002C-000002D9
    Rows waited on:
    Session 542: obj - rowid = 0000BE63 - AAAL5jAAGAAA6tZAAK
      (dictionary objn - 48739, file - 6, block - 240473, slot - 10)
    Session 548: no row
    Information on the OTHER waiting sessions:
    Session 542:
      pid=30 serial=63708 audsid=143708731 user: 41/CASCADE
      O/S info: user: cascade, term: unknown, ospid: 1234, machine:
                program: JDBC Thin Client
      application name: JDBC Thin Client, hash value=2546894660
      Current SQL Statement:
    update cascade.cxml_foldercontent set name=:1 , lockId=:2 , isCurrentVersion=:3 , versionDate=:4 , metadataId=:5 , permissionsId=:6 , workflowId=:7 , isWorkingCopy=:8 , parentFolderId=:9 , relativeOrder=:10 , cachePath=:11 , isRecycled=:12 , recycleRecordId=:13 , workflowComment=:14 , draftUserId=:15 , siteId=:16 , prevVersionId=:17 , nextVersionId=:18 , originalCopyId=:19 , workingCopyId=:20 , displayName=:21 , title=:22 , summary=:23 , teaser=:24 , keywords=:25 , description=:26 , author=:27 , startDate=:28 , endDate=:29 , reviewDate=:30 , metadataSetId=:31 , expirationNoticeSent=:32 , firstExpirationWarningSent=:33 , secondExpirationWarningSent=:34 , expirationFolderId=:35 , maintainAbsoluteLinks=:36 , xmlId=:37 , structuredDataDefinitionId=:38 , pageConfigurationSetId=:39 , pageDefaultConfigurationId=:40 , structuredDataId=:41 , pageStructuredDataVersion=:42 , shouldBeIndexed=:43 , shouldBePublished=:44 , lastDatePublished=:45 , lastPublishedBy=:46 , draftOriginalId=:47 , contentTypeId=:48  where id=:49
    End of information on OTHER waiting sessions.
    Current SQL statement for this session:
    delete from cascade.cxml_structureddata where id=:1

    Mohamed Houri wrote:
    What is important for a foreign key is to be indexed (of course if the parent table is deleted/merged/updated, or if a performance reason imposes it). Wether this index is unique or not doesn't matter (as far as i know).But, you should ask your self the following question : what is the meaning of having a 1 to 1 relationship between a parent and a child table ? if you succeed to create a unique index on your FK then this means that for each PK value corresponds at most one FK value!! Isn't it? is this what you want to have?Thanks, as I mentioned above, cxml_structureddata is actually the child table of cxml_foldercontent with 1 or more records' owningEntityId referring to rows in cxml_foldercontent. The reason for the FK on cxml_foldercontent.structuredDataId is a little ambiguous but it explained above.
    Will a TX-enqueue held on mode X always be waited on by another TX-enqueue row lock X? Or can it be waited on by an Exclusive (X) table lock?Not really clear. Sorry, are you saying my question is unclear or it's not clear why type of eXclusive lock session 542 is trying to acquire in the first line of the trace? Do you think that the exclusive lock being held by session 548 in the first line is on rows in cxml_foldercontent (due to the ON DELETE SET NULL on these child rows) or rows in the cxml_structureddata that it's actually deleting?
    Is there any way for me to tell for certain?
    The first enqueue is a TX (Transaction Enqueue) held by session 548 on mode X (exclusive). This session represents the blocking session. At the same time the locked row is waited on by the blocked session (542) and the wait is on mode X (exclusive). So put it simply, we have here session 542 waiting for session 548 to release it lock (may be by commiting/roll backing). At this step we are not in presence of a deadlock.
    The second line of the deadlock graph shows that session 542 is the blocking session and it is doing a TM enqueue (DML lock) held on SX(Shared eXclusive). While session 548(which is the waiting session) is blocked by session 542 and is waiting on SSX mode.
    Here we see that 548 is blocking session 542 via a TX enqueue and session 542 is blocking session 548 via a TM enqueue ---> That is the deadlock. Oracle will then immediately choose arbitrarlly a victim session (542 or 548) and kill its process letting the remaining session continuing its work.
    That is your situation explained here.Thanks, any idea why session 542 (the DELETE from cxml_structureddata) would be trying to upgrade it's lock to SSX? Is this lock mode required to update a child tables foreign key columns when using an ON DELETE SET NULL trigger? Having read more about SSX, I'm not sure I understand in what cases it's used. Is there a way for me to confirm with 100% certainty specifically which tables in the TM enqueue locks are being held on? Is session 548 definitely trying to acquire an SSX mode on my cxml_foldecontent table or could it be cxml_structureddata table?
    (a) Verify that all your FK are indexed (be carreful that the FK columns should be at the leading edge of the index)Thanks, we've done this already. When you say the "leading edge" you mean for a composite index? These indexes are all single column.
    (b) Verify the logic of the DML against cxml_foldercontentCan you be more specific? Any idea what I'm looking for?

  • Locking a custom table

    Hi All !!
    I want to update one custom table which has key fields K1, K2 and K3.
    I am using ENQUEUE_E_TABLE  to lock the table.But I dont know how to send the table for enqueue.
    Nextly, I need to send keys of table .Should I use any structure where I append the key fields and export the structure. The function call is as :
      CALL FUNCTION 'ENQUEUE_E_TABLE'
       EXPORTING
         MODE_RSTABLE         = 'E'
         TABNAME             = ?
         VARKEY               =?
       EXCEPTIONS
         FOREIGN_LOCK         = 1
         SYSTEM_FAILURE       = 2
         OTHERS               = 3
    Please help in this regard..
    Thanks in advance..
    Prabhas.

    Hai.
    Check this.
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    - Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    - Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    - Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technicaly:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    You have to use these function module in your program.
    check this link for example.
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    tables:vbak.
    call function 'ENQUEUE_EZLOCK3'
    exporting
    mode_vbak = 'E'
    mandt = sy-mandt
    vbeln = vbak-vbeln
    X_VBELN = ' '
    _SCOPE = '2'
    _WAIT = ' '
    _COLLECT = ' '
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Normally ABAPers will create the Lock objects, because we know when to lock and how to lock and where to lock the Object then after completing our updations we unlock the Objects in the Tables
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    purpose: If multiple user try to access a database object, inconsistency may occer. To avoid that inconsistency and to let multiple user give the accessibility of the database objects the locking mechanism is used.
    Steps: first we create a loc object in se11 . Suppose for a table mara. It will create two functional module.:
    1. enque_lockobject
    1. deque_lockobject
    before updating any table first we lock the table by calling enque_lockobject fm and then after updating we release the lock by deque_lockobject.
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    GO TO SE11
    Select the radio button "Lock object"..
    Give the name starts with EZ or EY..
    Example: EYTEST
    Press Create button..
    Give the short description..
    Example: Lock object for table ZTABLE..
    In the tables tab..Give the table name..
    Example: ZTABLE
    Save and generate..
    Your lock object is now created..You can see the LOCK MODULES..
    In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
    Lock objects:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    Match Code Objects:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/41/f6b237fec48c67e10000009b38f8cf/content.htm
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci553386,00.html
    See this link:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Check these links -
    lock objects
    Lock Objects
    Lock Objects
    Regards.
    Sowjanya.B.

  • DTP loading to master data is running long due to lock on SID table

    Hi All,
    We have DTP loading directly from infoobject to master data infobject. DTP usually takes less than 30min to update but at times its observed the DTP runs for hours to update. No dump was found on ST22. and no locks on sm12 apart from this DTP. On analysing the log in sm37, we found exclusive locks on the SID tables. 
    18.03.2014 02:06:53 All records forwarded                                                                             RSM2          730
    18.03.2014 02:22:32 EXTRACTION OF DATAPACKAGE 000014                                                                  RSAR          051
    18.03.2014 02:22:33 All records forwarded                                                                             RSM2          730
    18.03.2014 02:38:36 EXTRACTION OF DATAPACKAGE 000015                                                                  RSAR          051
    18.03.2014 02:38:37 All records forwarded                                                                             RSM2          730
    18.03.2014 02:55:25 EXTRACTION OF DATAPACKAGE 000016                                                                  RSAR          051
    18.03.2014 02:55:25 All records forwarded                                                                             RSM2          730
    18.03.2014 03:13:56 SQL: 18.03.2014 03:13:56 ALEREMOTE                                                                DBMAN         099
    18.03.2014 03:13:56 TRUNCATE TABLE "/BI0/0600000066"                                                                  DBMAN         099
    18.03.2014 03:13:56 SQL-END: 18.03.2014 03:13:56 00:00:00                                                             DBMAN         099
    18.03.2014 03:13:56 SQL: 18.03.2014 03:13:56 ALEREMOTE                                                                DBMAN         099
    18.03.2014 03:13:56  LOCK TABLE "/BI0/0600000066" IN EXCLUSIVE MODE                                                   DBMAN         099
    18.03.2014 03:13:56 NOWAI                                                                                             DBMAN         099
    18.03.2014 03:13:56 SQL-END: 18.03.2014 03:13:56 00:00:00                                                             DBMAN         099
    18.03.2014 03:13:58 EXTRACTION OF DATAPACKAGE 000017                                                                  RSAR          051
    18.03.2014 03:13:59 All records forwarded                                                                             RSM2          730
    18.03.2014 03:34:24 EXTRACTION OF DATAPACKAGE 000018                                                                  RSAR          051
    18.03.2014 03:34:25 All records forwarded                                                                             RSM2          730
    18.03.2014 03:56:03 EXTRACTION OF DATAPACKAGE 000019                                                                  RSAR          051
    18.03.2014 03:56:03 All records forwarded                                                                             RSM2          730
    18.03.2014 04:19:55 EXTRACTION OF DATAPACKAGE 000020                                                                  RSAR          051
    18.03.2014 04:19:56 All records forwarded                                                                             RSM2          730
    18.03.2014 04:44:07 SQL: 18.03.2014 04:44:07 ALEREMOTE                                                                DBMAN         099
    18.03.2014 04:44:07 TRUNCATE TABLE "/BI0/0600000068"                                                                  DBMAN         099
    18.03.2014 04:44:09 SQL-END: 18.03.2014 04:44:09 00:00:02                                                             DBMAN         099
    18.03.2014 04:44:09 SQL: 18.03.2014 04:44:09 ALEREMOTE                                                                DBMAN         099
    18.03.2014 04:44:09  LOCK TABLE "/BI0/0600000068" IN EXCLUSIVE MODE                                                   DBMAN         099
    18.03.2014 04:44:09 NOWAI                                                                                             DBMAN         099
    Is the lock on the SID table reason for the delay?? if so how to avoid this delay?
    if not, What are the other possibilties to avoid this issue ??
    Thanks in advance.

    Hello Yogesh,
    priority of the Job is 'A' . Is this related to lock on SID table as when i observe system logs for successful runs i don see the lock on SID table.
    please refer the below log for successful run.
    19.03.2014 07:16:21 EXTRACTION OF DATAPACKAGE 000051
    19.03.2014 07:16:22 All records forwarded
    19.03.2014 07:16:34 EXTRACTION OF DATAPACKAGE 000052
    19.03.2014 07:16:34 All records forwarded
    19.03.2014 07:16:47 EXTRACTION OF DATAPACKAGE 000053
    19.03.2014 07:16:48 All records forwarded
    19.03.2014 07:17:02 EXTRACTION OF DATAPACKAGE 000054
    19.03.2014 07:17:03 All records forwarded
    19.03.2014 07:17:17 EXTRACTION OF DATAPACKAGE 000055
    19.03.2014 07:17:17 All records forwarded
    19.03.2014 07:17:31 EXTRACTION OF DATAPACKAGE 000056
    19.03.2014 07:17:32 All records forwarded
    19.03.2014 07:17:45 EXTRACTION OF DATAPACKAGE 000057
    19.03.2014 07:17:45 All records forwarded
    19.03.2014 07:17:58 EXTRACTION OF DATAPACKAGE 000058
    19.03.2014 07:17:59 All records forwarded
    19.03.2014 07:18:11 EXTRACTION OF DATAPACKAGE 000059
    19.03.2014 07:18:11 All records forwarded
    19.03.2014 07:18:24 EXTRACTION OF DATAPACKAGE 000060
    19.03.2014 07:18:24 All records forwarded
    19.03.2014 07:18:37 EXTRACTION OF DATAPACKAGE 000061
    19.03.2014 07:18:37 All records forwarded
    19.03.2014 07:18:50 EXTRACTION OF DATAPACKAGE 000062
    19.03.2014 07:18:51 All records forwarded
    19.03.2014 07:19:04 EXTRACTION OF DATAPACKAGE 000063
    19.03.2014 07:19:06 All records forwarded
    19.03.2014 07:19:19 EXTRACTION OF DATAPACKAGE 000064
    19.03.2014 07:19:20 All records forwarded
    19.03.2014 07:19:32 EXTRACTION OF DATAPACKAGE 000065
    19.03.2014 07:19:33 All records forwarded
    19.03.2014 07:19:47 EXTRACTION OF DATAPACKAGE 000066
    19.03.2014 07:19:47 All records forwarded
    19.03.2014 07:19:53 EXTRACTION OF DATAPACKAGE 000067
    19.03.2014 07:19:53 Start of Serial Processing Processing is Executed in the Same LUW
    19.03.2014 07:19:53 Processing started for batch ID DTPR_1739894_1 process 3
    19.03.2014 07:19:53 Processing completed for batch ID DTPR_1739894_1 process         3
    19.03.2014 07:19:53 End of Serial Processing Executed in the Same LUW
    19.03.2014 07:19:54 Technical status 'Green' (user ALEREMOTE)
    19.03.2014 07:19:57 Set overall status to 'Green' (user ALEREMOTE)
    19.03.2014 07:20:41 Processing completed for batch ID DTPR_1739894_1 process         2
    19.03.2014 07:20:41 Job finished
    Thanks

  • Ingres vs Oracle exclusive locking

    Ingres allows an exclusive lock on tables, set lockmode on tablename where readlock = exclusive which means the users can't access the same
    rows that are being modified by another query.
    Is there anything in oracle that does the same thing ? All of Oracle's locking seesm to be that you can
    still read data. And that is what my user is afraid of. He doesn't want to read old data, when it's
    being changed.
    How do you work around this ?
    Thanks.

    Ingres allows an exclusive lock on tables, set lockmode on tablename where readlock = exclusive which means the users can't access the same
    rows that are being modified by another query.
    Is there anything in oracle that does the same thing ? All of Oracle's locking seesm to be that you can
    still read data. And that is what my user is afraid of. He doesn't want to read old data, when it's
    being changed.
    How do you work around this ?
    Thanks.

  • Shared lock vs exclusive lock

    Hello
    I have a question.
    If we have two scott sessions. I am updating a table EMP in session 1. It means it is exclusively locked.It cannot be used by session 2. Then can we use select command on table EMP in session 2.?? This command shoul not work according to me. But it is working.
    Reply me.
    Thanks in anticipation.

    984426 wrote:
    But in shared / exclusive lock, we have a property that we can't acquire shared lock on data if it is exclusively locked and vice versa. that means readers block writers and vice versa.
    E.g. if T1 is updating a row then how T2 can read that row? If T2 is reading then that is inconsistent data as it will pick the non-updated value of that row until T1 commits.
    Please explain.
    I am having doubts in this topic.
    ThanksYou need to check back again the basic concepts from the Concepts guide. Your understanding about the Oracle's working is completely wrong.
    In Oracle, the Transaction Isolation Level is set to Read Committed . This means any kind of inconsistent data is not possible to be read by you and for that data , Oracle would create for you a consistent image using the Undo Blocks in which the old image is going to be stored till the time that transaction is not over( and even after that too for some time with conditions apply) . So if T1 is updating a row, T2 can't lock the same row as it would be locked exclusively and the S1 (another select) would be seeing an old and consistent image of that change only as long as it's not committed. What you said doesn't and won't work ever in Oracle.
    Read the first link that's given to you already.
    Aman....

  • Access Exclusive Locking

    I want to do an access exclusive lock in Oracle.
    I have a timer application which needs to pull record from a database table with some status (say 100) (Status is a column in the table).
    But processing these records takes a lot of time.So the Timer application spawns one more process to pull the newly arrived records. This process needs to pull only the fresh records not the one which are being processed.
    How do I achieve this type of locking in Oracle. If I lock the records using
    SELECT FOR UPDATE only one process can use these records!!
    Is it possible in Oracle??
    Thanks

    Hi,
    If you are using RDBMS ver 8.0 or above, you
    can use SKIP LOCKED option along with SELECT FOR UPDATE.
    Say there are 20 records in a table,
    Session 1 locks records from 1-10 using select for update,
    Session 2 can skip the records which are locked and get records from 11-20 using
    SELECT * FROM table_name
    FOR UPDATE SKIP LOCKED;
    Cheers,
    Adithya
    null

  • How to release an exclusive lock

    Hi,
    I don't know, how to release a lock, after locking exclusive.
    We're locking our BOPF Object like this:
    o_task_srv_mngr->retrieve(
            exporting
              iv_fill_data            = abap_false
              iv_node_key             =  /cenitapm/if_bo_pw_task_c=>sc_node-pwtsk  " Node
              it_key                  =   t_key  " Key Table
              iv_edit_mode            = /bobf/if_conf_c=>sc_edit_exclusive
            importing
              eo_message              = o_message
    Now how do I release the lock again?
    I know, It is released after a save of the transaction manager, but how do i achieve an unlocking without that save?
    Regards David

    After some investigation, I came to following result:
    Locks are released on commit or rollback.
    So if I want to release an exclusive lock, I have to rollback everything in the current session.
    After feeling limited by this design in the first place, I now think, this is a great way to secure my data integrity.
    I only want to release an exclusive lock if I don't want to save my data, or if I want to save it ;)
    I just have to ensure, all data not belonging to the actual transaction is saved before setting an exclusive lock to another object.
    So thumbs up for the designer of this concept.

Maybe you are looking for