SQL_ID row locks

Hi,
Every day from 23.00 to 01.00 the performance of the database becomes slow, when i traced i found the following "The SQL statement with SQL_ID "4pgt142s271gy" was blocked on row locks.", which i think is the reason for poor performance and also i found the query with this SQL_ID.
Dut to this my Application at this time Hangs.
What should be my next step,i can't change this query because till last week the database was going fine.
Please advice me ASAP.

Hi,
Do these tables involve Workspace Manager? If so, I would need a better understanding of exactly which operations you are performing before commenting on any performance issues.
Otherwise, I would recommend to use the following forum for general database questions.
General Database Discussions
Regards,
Ben

Similar Messages

  • Row lock contention error to resolve

    hi,
    i m facing sever issue with row lock contention error for the statement and causing concurrency and application usage more making database vulnerable
    UPDATE RULE_DATA SET RULE_DATA = :B3 , UPDATED_BY = :B2 , UPDATED_DATE = SYSDATE WHERE RULE_DATA_SEQ_ID = :B1
    RETURNING PAT_GEN_DETAIL_SEQ_ID INTO :O0
    in this query RULE_DATA_SEQ_ID is primary key and and having index too, how can i over come row lock contention error ,
    if i try like this will it work
    UPDATE RULE_DATA SET RULE_DATA = :B3 , UPDATED_BY = :B2 , UPDATED_DATE = SYSDATE WHERE RULE_DATA_SEQ_ID = :B1
    RETURNING PAT_GEN_DETAIL_SEQ_ID INTO :O0
    log errors into temp_log (sysdate||:O0 ) REJECT LIMIT UNLIMITED;
    commit;
    please help me;

    select sid,  sql_text from v$session s, v$sql q
    where sid in (select sid from v$session
    where state in ('WAITING')
    and wait_class != 'Idle'
    and event='enq: TX - row lock contention'
    and (q.sql_id = s.sql_id or q.sql_id = s.prev_sql_id));
    from the above query if found the sid and sql_text,
    actually three procedures been called at once as a batch from java and given auto commit at once for the batch;
    and in one of the procedure it is called by multiple times with different seq_id's
    what i thought is by logging error can we skip the update statement from locking , this what happening
    where v_tariff_detail_seq_id will be 25,26,28,29,30 like records
    begin
    IF v_tariff_detail_seq_id = 0 THEN
    INSERT INTO pat_tariff_details (
    tariff_detail_seq_id,
    pat_gen_detail_seq_id,
    ward_type_id ,
    room_type_id ,
    days_of_stay ,
    requested_amount,
    approved_amount,
    maximum_allowed_amount,
    notes,
    added_by,
    added_date )
    VALUES (
    pat_tariff_details_seq.NEXTVAL ,
    v_pat_gen_detail_seq_id,
    v_ward_type_id ,
    v_room_type_id ,
    v_days_of_stay ,
    v_requested_amount ,
    v_approved_amount,
    v_maximum_allowed_amount,
    v_notes,
    v_added_by,
    SYSDATE );
    ELSE
    UPDATE pat_tariff_details SET
    room_type_id = v_room_type_id,
    days_of_stay = v_days_of_stay,
    requested_amount = v_requested_amount,
    approved_amount = v_approved_amount,
    maximum_allowed_amount = v_maximum_allowed_amount,
    notes = v_notes,
    updated_by = v_added_by,
    updated_date = SYSDATE
    WHERE tariff_detail_seq_id = v_tariff_detail_seq_id;
    END IF;
    end;
    version is Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
    Edited by: user13134817 on Nov 2, 2012 2:39 AM

  • How to find sql causing "enq: TX - row lock contention"

    Hi,
    In one of our database we keep finding "enq: TX - row lock contention" for 2-3 days. But, then it stopped. The time it happened it blocked other sessions for some long time and it got resolved automatically. Now from ADDM report we got sql queries which waited for this but, we can not find which query from which module was causing the issue. What I should look for that past information. Please help.
    Database is 10gR2 on AIX.
    Regards,
    Gourab

    moreajays wrote:
    Try executing below query real time
    alter session set nls_date_format='dd-mon-yyyy hh24:mi:ss';
    SELECT  vp.spid,c.inst_id,b.session_id sid,c.serial#,a.object_name,
    a.owner object_owner,
    Decode(b.locked_mode, 0, 'None',
    1, 'Null (NULL)',
    2, 'Row-S (SS)',
    3, 'Row-X (SX)',
    4, 'Share (S)',
    5, 'S/Row-X (SSX)',
    6, 'Exclusive (X)',
    b.locked_mode) locked_mode,
    b.oracle_username,
    c.program,
    d.event,
    c.status,
    c.last_call_et,
    c.sql_address,
    e.sql_text, c.logon_time
    FROM   all_objects a,
    gv$locked_object b,
    gv$session c,
    gv$session_wait d,
    gv$sqlarea e,
    gv$process vp
    WHERE  a.object_id = b.object_id
    and b.session_id=c.sid
    and c.sid=d.sid and c.paddr=vp.addr
    and e.address=c.sql_address and lower(d.event) like '%enq%'
    ORDER BY 1;
    The OP asked for a way of find a historic blocker, not a current blocker.
    This query - apart from being one that no-one should want to run on a production system - doesn't say anything about the past, and doesn't identify a blocker.
    It reports the sessions that are being blocked, and EVERY table that is currently locked by each session whether or not the table is involved in the current statement.
    You're using the gv$ (RAC) views but haven't put in any suitable join predicates on the instance (inst_id) columns; the OP is on 10g so you don't need to join to v$session_wait to pick up the wait information; and the join to v$sqlarea forces a "full tablescan" of the library cache (child cursor derived view) because you're joining on address rather than sql_id.
    Regards
    Jonathan Lewis

  • Enq: TX - row lock contention on dual

    Dear Team,
    In my database i can see lots of enq: TX wait in dual
    SID MODULE SQL_ID EVENT SECONDS_IN_WAIT BLOCKING_SESSION STATUS
    2944 IAPPRAISOR_V20.fmx 5pjx5pj5xsmn7 enq: TX - row lock contention 38 2920 ACTIVE
    3050 IAPPRAISOR_V20.fmx enq: TX - row lock contention 769 2915 ACTIVE
    3071 IAPPRAISOR_V20.fmx 5pjx5pj5xsmn7 enq: TX - row lock contention 38 2920 ACTIVE
    3097 IAPPRAISOR_V20.fmx enq: TX - row lock contention 767 3050 ACTIVE
    3117 IAPPRAISOR_V20.fmx 5pjx5pj5xsmn7 enq: TX - row lock contention 572 3319 ACTIVE
    SQL> select * from table(dbms_xplan.display_awr('5pjx5pj5xsmn7'));
    PLAN_TABLE_OUTPUT
    SQL_ID 5pjx5pj5xsmn7
    SELECT SYSDATE FROM SYS.DUAL
    Plan hash value: 1546270724
    | Id | Operation | Name | Rows | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | | 2 (100)| |
    | 1 | FAST DUAL | | 1 | 2 (0)| 00:00:01 |
    Is there any idea why select on sys.dual putting execlusive lock? Database version 10.2.0.5.
    Thanks and Regards,
    Rajib Sutradhar

    Show us the result of
    set linesize 120
    set trimspool on
    select * from v$lock where sid = 'sid of holding session'l;
    select * from v$lock where sid = 'sid of one waiting session'l;Please read the note below about readable output.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Enq : TX row lock contention with no lock holder !!

    Hi, all.
    The database is 2 node RAC (oracle 11.2.0.3 ) on a unix machine.
    Today morning, I found the instances sufferred "enq : TX row lock contention" YESTERDAY.
    I issued the following query,
    but block_session, blocking_session_serial# and blocking_inst_id column are null.
    select a.instance_number,a.sample_time,a.session_id,a.session_serial#,a.sql_id,
         a.event,a.wait_class, a.p1, a.p2, a.p3,a.current_obj#,
         a.blocking_session,a.blocking_session_serial#,a.blocking_inst_id
    from dba_hist_active_sess_history a
    where a.instance_number=1
    and a.event='enq: TX - row lock contention'
    order by a.instance_number,sample_id
    Any advice will be greately appreciated.
    Thanks in advance.
    Best Regards.

    In addition to run the script , also download and run Snapper script from Tanel Poder which would give even more detail for the session .
    http://files.e2sn.com/scripts/snapper.sql
    HTH
    Aman....

  • Enq: TX - row lock contention in forms 10g sequency number generation

    Iam Getting the Deadlock issue in oracle formdeveloper 10g database is 11g Acutually in our small Hospital organization using different forms generating entrying labrequest form finally save time
    one sequency number will generated i have give procedure below every save criteria form using below procedure some time iam getting lock iam using blocksession query i have find out some
    OSUSER
    MACHINE
    TERMINAL
    PROGRAM
    SQL_ID
    LOGON_TIME
    BLOCKING_SESSION_STATUS
    BLOCKING_SESSION
    EVENT
    user423
    UMCCDOM\LEVEL4-MICU
    LEVEL4-MICU
    PrjMcr.EXE
    0ccngw7dfkmgb
    23/09/2013 11:34:41 AM
    VALID
    277
    enq: TX - row lock contention
    SYSTEM
    WORKGROUP\PRIAPPSVR
    PRIAPPSVR
    frmweb.exe
    0ccngw7dfkmgb
    23/09/2013 11:32:50 AM
    VALID
    186
    enq: TX - row lock contention
    SYSTEM
    WORKGROUP\PRIAPPSVR
    PRIAPPSVR
    frmweb.exe
    0ccngw7dfkmgb
    22/09/2013 2:49:47 PM
    VALID
    277
    enq: TX - row lock contention
    SYSTEM
    WORKGROUP\PRIAPPSVR
    PRIAPPSVR
    frmweb.exe
    0ccngw7dfkmgb
    23/09/2013 7:00:22 AM
    VALID
    186
    enq: TX - row lock contention
    user290
    UMCCDOM\LEVEL2-N
    LEVEL2-N
    PrjMcr.EXE
    0ccngw7dfkmgb
    23/09/2013 10:28:06 AM
    VALID
    277
    enq: TX - row lock contention
    lock are happen after open the code i have find out used FOR UPDATE in procedure please tell me any alternative for this every labrequest form saving time using this procedure for generating prefix sequence number multiple user using with different systems
    PROCEDURE   Gsp_GenSeqNum (I_SvPrefixCd IN VARCHAR2,I_SvUserName IN VARCHAR2,
                              O_SvSeqNum OUT VARCHAR2) IS
    --This Procedure generates the sequence number
    --by retrieving the prefix based on the code
    --supllied to the procedure.
      CURSOR  crSeqGenerator IS
             SELECT Gsn_prefix_last_num, Gsn_prefix_year
                FROM G_SEQUENCE_NUMBER
             WHERE Gsn_prefix_Cd = I_SvPrefixCd
                   AND Gsn_prefix_year = TO_CHAR(SYSDATE,'YYYY')
      FOR UPDATE OF Gsn_prefix_last_num;
      udSeqNum        G_SEQUENCE_NUMBER.Gsn_Prefix_last_num%TYPE;
      udNextSeqNum    G_SEQUENCE_NUMBER.Gsn_Prefix_last_num%TYPE;
      udYear          G_SEQUENCE_NUMBER.Gsn_Prefix_year%TYPE;
      udPrefix        G_SEQUENCE_PREFIX.Gsp_Prefix_Value%TYPE;
    BEGIN
      SELECT Gsp_Prefix_Value
      INTO udPrefix
      FROM G_SEQUENCE_PREFIX
      WHERE Gsp_Prefix_Cd = I_SvPrefixCd;
      OPEN crSeqGenerator;
      FETCH crSeqGenerator
       INTO udSeqNum,
            udYear;
      IF crSeqGenerator%FOUND THEN
         udNextSeqNum  :=udSeqNum + 1;
         O_SvSeqNum     := udPrefix||'/'||TO_CHAR(SYSDATE,'YY')
                                   ||'/'||LPAD(TO_CHAR(udNextSeqNum),6,'0');
      ELSE
    INSERT INTO G_SEQUENCE_NUMBER VALUES(I_SvPrefixCd,TO_CHAR(SYSDATE,'YYYY'),0,I_SvUserName,SYSDATE);
         udSeqNum      :=0;
         udNextSeqNum  :=udSeqNum + 1;
         O_SvSeqNum:=UdPrefix||'/'||TO_CHAR(SYSDATE,'YY')
                             ||'/'||LPAD(TO_CHAR(udNextSeqNum),6,'0');
      END IF;
      UPDATE G_SEQUENCE_NUMBER
         SET Gsn_Prefix_last_num=udNextSeqNum
       WHERE Gsn_Prefix_Cd = I_SvPrefixCd
         AND Gsn_Prefix_year=TO_CHAR(SYSDATE,'YYYY');
      CLOSE crSeqGenerator;
    END Gsp_GenSeqNum;
    Thanks
    subbu

    This application is inbuit with some modules VB (cath ,cardio)and oracle forms for required sequence number generation different time used this procedure whereever required the sequence Prefix generation.If i replace the procedure sequene to oracle standard sequency if the user cannot save the form unnessary sequency generated order is missing from sequence.

  • Row lock waits

    Hi all,
    How to avoid row lock waits ...
    SQL statements were found waiting for row lock waits.
       RECOMMENDATION 1: Application Analysis, 2.2% benefit (1147 seconds)
          ACTION: Significant row contention was detected in the TABLE
             "APPS.JSW_LOT_PACKSLIP" with object id 438239. Trace the cause of row
             contention in the application logic using the given blocked SQL.
             RELEVANT OBJECT: database object with id 438239
          RATIONALE: The SQL statement with SQL_ID "aghksygukwpg4" was blocked on
             row locks.
             RELEVANT OBJECT: SQL statement with SQL_ID aghksygukwpg4
             UPDATE JSW_LOT_PACKSLIP PACK SET PACK.DELIVERY_ID = :B3 WHERE
             PACK.LOT_ID = :B2 AND PACK.PACKSLIP_NO = :B1thanks,
    baskar.l

    I'm not totally sure, but afaik this problem can result from two different scenarios.
    Scenario 1) Several sessions try to update the same row in a table. One session has to wait for the other.
    => solution: change your application logic and use select for update to know as soon as possible which rows are to be changed.
    Scenario 2) Several session try to update different rows in the same table. There is a restriction on how many updates can take place for the same block (initrans storage parameter). The rows that are in the same block can't be changed by the second session if the first session already holds such an "block lock" (transaction enquue TX4 or so).
    This happens for example when you update in a loop and the main select is done in parallel.
    => solution: increase the initrans parameter (for tables default 1 in 9i, default 2 in 10g) to some higher number. Change the application logic to do less updates in parallel.
    Edited by: Sven W. on Aug 9, 2010 2:39 PM

  • V$system_event, timeouts and row lock contention

    Hello everyone,
    What is the meaning of the total_timeouts column in the v$system_event view if it is related to the event "enq: TX - row lock contention"?
    How can we have a timeout since "query timeout" is a non existent concept on Oracle?
    Maybe I am wrong.
    Regards.
    Carl

    Hello everyone,
    What is the meaning of the total_timeouts column in
    the v$system_event view if it is related to the event
    "enq: TX - row lock contention"?
    How can we have a timeout since "query timeout" is a
    non existent concept on Oracle?
    Maybe I am wrong.
    Regards.
    CarlThe value for timeouts, in this case, indicates the number of times one of the sessions had to wait a full 3 second time slice while waiting for a second session to either commit or roll back, in anticipation of a potential primary key violation. If the second session commits, the first session will receive an error indicating a primary key violation.
    Test setup:
    In session 2:
    CREATE TABLE T1 (C1 VARCHAR2(20) PRIMARY KEY);
    INSERT INTO T1 VALUES ('ORACLE');
    In session 1:
    INSERT INTO T1 VALUES ('ORACLE');
    After executing tha above, allow 60 seconds to elapse after the insert in session 1, and then check the delta values in either V$SYSTEM_EVENT or V$SESSION_EVENT:
    20 waits on ENQ: TX - ROW LOCK CONTENTION, 19 timeouts, 59.99 seconds, with an average wait of 2.9995 seconds.
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.

  • OIM DB Row LOCK Exception on Quartz tables

    I am facing db row lock error in Prod OIM due to which the Scheduler fails to kick off and an OIM Restart is required to release the lock and start the Scheduler again.
    This Error is occuring at any time when none of the scheduler( Custom as well as House Keeping) are scheduled.The OIM Version is 9.0.3.1.
    I have enabled Database logs in Debug mode but there are no logs corresponding to the table where lock occured.
    This Error was encountered long back with OIM 9.0.1 and was reported as Bug 6491465, but was suspended because of no response from Customer.
    The Error trace is as follows
    ERROR,11 Sep 2009 16:57:05,497,[org.quartz.core.ErrorLogger],An error occured while scanning for the next trigger to fire.
    org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Io exception: Connection reset [See nested exception: java.sql.SQLException: Io ex
    ception: Connection reset]
    at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.obtainLock(StdRowLockSemaphore.java:154)
    at org.quartz.impl.jdbcjobstore.JobStoreCMT.acquireNextTrigger(JobStoreCMT.java:1376)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:231)
    * Nested Exception (Underlying Cause) ---------------
    java.sql.SQLException: Io exception: Connection reset
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:287)
    at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:515)
    at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029)
    at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
    at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.obtainLock(StdRowLockSemaphore.java:137)
    at org.quartz.impl.jdbcjobstore.JobStoreCMT.acquireNextTrigger(JobStoreCMT.java:1376)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:231)
    Did anyone had ever encountered this error.Any Hints?

    I would check the network pieces as suggested in our internal emails. If the connection is dropping somewhere on your network, the lock would never be released.
    -Kevin

  • Read only users and row locks

    Can read-only users obtain row locks on non-temporary (i.e,. visible to other users) tables, for example through SELECT FOR UPDATE, even though they couldn't not ultimately modify said tables?

    Yes.
    Here is an example with Oracle XE 11G and HR schema:
    Connecting as user having only CREATE SESSION and SELECT privilege on HR.JOBS table:
    SQL> desc hr.jobs;
    Name                                      Null?    Type
    JOB_ID                                    NOT NULL VARCHAR2(10)
    JOB_TITLE                                 NOT NULL VARCHAR2(35)
    MIN_SALARY                                         NUMBER(6)
    MAX_SALARY                                         NUMBER(6)
    SQL> select * from session_roles;
    no rows selected
    SQL> select * from session_privs;
    PRIVILEGE
    CREATE SESSION
    SQL> select owner, table_name, privilege from user_tab_privs;
    OWNER                          TABLE_NAME
    PRIVILEGE
    HR                             JOBS
    SELECT
    SQL> select job_title from hr.jobs for update;
    JOB_TITLE
    President
    Administration Vice President
    Administration Assistant
    Finance Manager
    Accountant
    Accounting Manager
    Public Accountant
    Sales Manager
    Sales Representative
    Purchasing Manager
    Purchasing Clerk
    JOB_TITLE
    Stock Manager
    Stock Clerk
    Shipping Clerk
    Programmer
    Marketing Manager
    Marketing Representative
    Human Resources Representative
    Public Relations Representative
    19 rows selected.
    SQL>Now connecting as HR following statement hangs:
    SQL> connect hr/hr
    Connected.
    SQL> select * from jobs for update;Going back to first session:
    SQL> update hr.jobs set min_salary=0;
    update hr.jobs set min_salary=0
    ERROR at line 1:
    ORA-01031: insufficient privileges

  • TX - row lock contention in SELECT query without update clause

    Hi,
    We are having problem in one of our application on production. The ASH report shows 'eq: Tx row lock contention' for only Select statements. There is no FOR UPDATE in the select statements. The exact statement is
    enq: TX - row lock contention : SELECT COUNT (1) FROM Table1 WHERE col1= :1 AND col2= :1 AND col3= :1 AND ROWNUM = 1
    enq: TX - row lock contention : SELECT MODULE_CD , MSG_DESC , SEVERITY FROM GS_ERROR_MSG WHERE MSG_NUM = :1
    I don't know why the select are locking the table rows and resulting in waits..
    Our environment is Oracle 10g and Forms & Reports..
    Please help.
    -- Prashant

    Hi,
    are you sure that there is no dml against the tables?
    You can query v$active_session_history (eg column BLOCKING_SESSION) to see which session locked the row.
    HTH..
    - wiZ

  • How to release row lock by using jdbc

    hi, currently we are using jdbc to create a connection and create a row lock , is there anyway to release the row lock? right now i am using resultset.close(), but this cause me problem since it release other resultset's row lock too. please help.

    hi, from your post, i understood that u know how to do row locking..
    How was it done ??
    I'm currently looking for answer to do row locking in Microsoft Access...
    These are the SQL stmt i've done without success..
    SELECT * FROM BSPerson WITH UPDLOCK WHERE ID = 'P001';
    SELECT * FROM BSPerson WHERE ID = 'P001' FOR UPDATE;
    Both stmt having error........
    Please help !
    A miliion thanks....

  • DB row lock from servlet.

    Hi to all,
    we're developing a J2EE application (with NO Ejb, actually we cannot use them) in which users can select orders from a DB2 database, modify the order, or create a new order. Any order is implemented by a class (Order.java) that exposes methods to execute SELECTs, INSERTs and UPDATEs to the db2 order table; the class mantains a Connection to the database and it's responsible to manage the connection, resultset, prepared statement and so on, and it's possible to specify if we want only read data (executing a select) or read for update the data (so, executing a select ... for update).
    Users can access the data via web: the instances of Order are created by a servlet, which load the data and show them passing the Order instance to a JSP that fills up a form.
    The problem is we want to lock the row corrisponding to the data mapped into Order instance. Initially, we thought we can instantiate an Order, load data with a select for update, saving on a session the instance, and redirect to the Jsp for visualization, without closing the connection; when the user send data via a form, the order is retrieved from the session, updates are performed and session closed. Unluckily, this approach does not work 'cause the Web Container rolls back automatically all unclosed connection. The row lock is lost.
    In very few words, we are trying to keep-alive a Connection after a Servlet method ends. It seems that Servlet specification 2.3 does not allow this, while specification 2.2 does.
    How can we avoid this problem ? We cannot just implement an application-level Lock manager, because the database is a legacy database and data are concurrently accessed by legacy applications.
    Any suggestion would be very appreciated.
    Thanx in advance !
    Claudio.

    Heck (can you say "hec|<" or will the **** filter nuke it?), I had a reply all written up.
    And then I noticed you were cross-posting.
    Please don't.

  • Is row locking available in Oracle 10g?

    Hi,
    Does anybody knows if Oracle 10g can do a row locking?
    Thanks,
    Amorsolo

    Teymur Hajiyev wrote:
    amorsolo wrote:
    Hi,
    Does anybody knows if Oracle 10g can do a row locking?
    Thanks,
    AmorsoloIn my opinion locking mechanism in Oracle is one of the features/option which made Oracle the best in Database world.
    Regards,
    Teymur Hajiyev
    Oracle 10g Certified Master
    http://teymur-hajiyev.blogspot.com
    http://dba.az
    Agree with Teymur. As Tom Kyte said in the "Comparison between Oracle and Others" topic:
    For example -- all of the above would get check marks for having "row level locking". Once you look at the implementations however, you'll find they are way different. In Oracle, the overhead of having 1 lock is the same as having 1billion locks (eg: none).
    In the others there is a HUGE different between the two as locks are a scare resource in those systems, they consume memory, take up space, are stored in in-memory data structures. Our implementation of the feature is so different as to not be comparable.
    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1886476148373

  • Acquiring database row lock in session bean

    I am getting a "ora-01002 fetch out of sequence" exception when trying to acquire a row lock by doing a select for update nowait sql command.
    The code that is trying to get the lock is running inside a session bean deployed in both weblogic 6.0 sp2 and JBOSS 3.0.4. I have read some other threads in the JDBC forum and they suggest me to use the con.setAutoCommit(false) to avoid this error. This solution works on weblogic but not on JBOSS. In JBOSS I got a message saying I should not be setting the auto commit value in a container managed transaction.
    Is there something I could do to do avoid the error without explicitly setting this value in the code?
    Thanks.

    Below are the settings in my ejb-jar.xml, weblogic-ejb-jar.xml, and jboss.xml. Can you see any wrong with the transaction settings?
    Please help.
    ************ejb-jar.xml*************
    <ejb-jar>
          <enterprise-beans>
                <session>
                  <ejb-name>mybean.MybeanRemoteHome</ejb-name>
                  <home>testing.mybean.MybeanRemoteHome</home>
                  <remote>testing.mybean.MybeanRemote</remote>
                  <ejb-class>mybean.Mybean</ejb-class>
                  <session-type>Stateless</session-type>
                  <transaction-type>Container</transaction-type>
                </session>
          </enterprise-beans>
          <container-transaction>
            <method>
              <ejb-name>mybean.MybeanRemoteHome</ejb-name>
              <method-intf>Remote</method-intf>
              <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
          </container-transaction>
    </ejb-jar>
    ************weblogic-ejb-jar.xml*************
    <weblogic-ejb-jar>
        <weblogic-enterprise-bean>
            <ejb-name>mybean.MybeanRemoteHome</ejb-name>
        <stateless-session-descriptor>
          <pool>
            <max-beans-in-free-pool>10</max-beans-in-free-pool>
            <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
          </pool>
        </stateless-session-descriptor>
        <jndi-name>mybean.MybeanRemoteHome</jndi-name>
        </weblogic-enterprise-bean>
        <transaction-isolation>
              <isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
              <method>
                <ejb-name>mybean.MybeanRemoteHome</ejb-name>
                <method-intf>Remote</method-intf>
                <method-name>*</method-name>
              </method>
        </transaction-isolation>
    </weblogic-ejb-jar>
    ************jboss.xml*************
    <jboss>
       <enterprise-beans>
           <session>
              <ejb-name>mybean.Mybean</ejb-name>
              <jndi-name>mybean.MybeanRemoteHome</jndi-name>
              <local-jndi-name>mybean.MybeanLocalHome</local-jndi-name>
           </session>
       </enterprise-beans>
       <resource-managers>
       </resource-managers>
    </jboss>

Maybe you are looking for

  • Information about setting up the RAID system

    I'm completely ignorant here, so you'll have to bare with me. I'm just trying to work out whether I've set things at least correctly if not optimally! I've got a Mac Pro with four single Terrabyte disks. I've gone to the Raid utility and chosen the R

  • [newbie] JNLP, Quicktime Java, WebObjects

    I'm developing a Java Client application that uses WebStart, Apple's Quicktime Java and WebObjects. (I'm new to WebStart and somewhat new to Java Client). Several issues have arisen. Quicktime likes to record stuff directly to hard disk. So, I'm goin

  • BUZZING AND CRACKLING WHILE WATCHING VIDEO OR LISTENING TO MUSIC...PLEASE HELP ME!

    Hi, I have an HP Pavillion dv6 notebook PC with windows 7 (bought last december) and for the past month it has been crackling and buzzing more and more every time I watch a video of any kind or listen to music...with volume loud or soft, regardless I

  • Recreating a program interface with the drawing API?

    Hey there all! I've been out of the developing arena for awhile, so please bear with me. I'm currently doing a road trainer gig, and it would help me out tremendously to have a Flash version of the software I'm providing training on. Can someone poin

  • ZLE_SHP_DELNOTE

    We've created a user copy of the LE_SHP_DELNOTE Smartform and are trying to view the output via tranx VL02N. The Smartform has been tested and displays without any errors. The output message is setup okay within VL02N and the config (using either V/3