Locking in oracle

Here I inserted a single row in USA table. I know It will acquire a TX
lock in LMODE 6 & TM lock on LMODE 3.
And it would acquire all the child tables in TM LMODE 2.
But I see a few tables acquired on TM LMODE 3, other than USA ?
Why are few child tables inn LMODE 2 & few other in LMODE 3.
I really appreciate all your help into this issue.
Thanks
Satish
SQL>insert into COUNTRY values ( 'USA','XXX','XXX','XXX');
SQL> select object_name,object_id from dba_objects where object_id=54808;
object_name object_id
USA 54808
SQL> select * from v$lock where sid=797;
ADDR KADDR SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK
76A65058 76A6516C 797 TX 327697 1053730 6 0 1053 0
76930D20 76930D38 797 TM 42183 0 3 0 1053 0
76930C7C 76930C94 797 TM 54595 0 3 0 1053 0
76930BE8 76930C00 797 TM 94880 0 3 0 1053 0
76930B54 76930B6C 797 TM 87295 0 2 0 1053 0
76930AC0 76930AD8 797 TM 86821 0 2 0 1053 0
76930A2C 76930A44 797 TM 82679 0 2 0 1053 0
76930998 769309B0 797 TM 82662 0 2 0 1053 0
76930904 7693091C 797 TM 81118 0 2 0 1053 0
76930870 76930888 797 TM 66195 0 2 0 1053 0
769307DC 769307F4 797 TM 64474 0 2 0 1053 0
76930748 76930760 797 TM 60364 0 3 0 1053 0
769306B4 769306CC 797 TM 58038 0 2 0 1053 0
76930620 76930638 797 TM 57939 0 2 0 1053 0
7693058C 769305A4 797 TM 54933 0 2 0 1053 0
769304F8 76930510 797 TM 54913 0 2 0 1053 0
76930464 7693047C 797 TM 54906 0 2 0 1053 0
769303D0 769303E8 797 TM 54898 0 2 0 1053 0
7693032C 76930344 797 TM 54890 0 2 0 1053 0
76930298 769302B0 797 TM 54877 0 2 0 1053 0
76930204 7693021C 797 TM 54869 0 2 0 1053 0
76930170 76930188 797 TM 54831 0 2 0 1053 0
769300DC 769300F4 797 TM 54822 0 2 0 1053 0
76930048 76930060 797 TM 54820 0 2 0 1053 0
7692FFB4 7692FFCC 797 TM 54818 0 2 0 1053 0
7692FF20 7692FF38 797 TM 54808 0 3 0 1053 0
7692FE8C 7692FEA4 797 TM 54799 0 2 0 1053 0
7692FDF8 7692FE10 797 TM 54787 0 2 0 1053 0
7692FD64 7692FD7C 797 TM 54783 0 2 0 1053 0
7692FCD0 7692FCE8 797 TM 54774 0 2 0 1053 0
7692FC3C 7692FC54 797 TM 54767 0 2 0 1053 0
7692FBA8 7692FBC0 797 TM 54757 0 2 0 1053 0
7692FB14 7692FB2C 797 TM 54751 0 2 0 1053 0
7692FA80 7692FA98 797 TM 54594 0 2 0 1053 0
34 rows selected.

Hi,
Up to the extent I know about locks, there are senarios where other than the liked tables will get the locks. it is the behavior of oracle that it will fetch the data in terms of blocks rather than a particular table, as the chunk has been moved to buffer it is obvious that it must be marked as to indicate it is in buffer. so these tables will get that lock status.

Similar Messages

  • About pessimistick lock in Oracle

    Hello,
    I have some questions about pessimistick lock in Oracle:
    I know if i do a SELECT..FOR UPDATE statement, those records are locked, and just me can opperate on them.. but me - WHO? How i'm identified in Oracle? If i do a SELECT..FOR UPDATE select in an A procedure, then i call the update procedure B, how can i know that both calls belongs to the same user? If someone tries to update the same records, how the server knows if that person is allowed to make those updates or not? because everyone uses the same connection string.. isn't it?
    Probably it works if i make a SELECT..FOR UPDATE and i make the effective update in that procedure, but this means that the Business Logic is in that procedure..
    Please correct me if i'm wrong somewhere and clarify me.
    Thanks!

    By default the other session has to wait (no error message):
    From SQL Reference SELECT section: http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_10002.htm#SQLRF01702
    >
    NOWAIT | WAIT
    The NOWAIT and WAIT clauses let you tell the database how to proceed if the SELECT statement attempts to lock a row that is locked by another user.
    Specify NOWAIT to return control to you immediately if a lock exists.
    Specify WAIT to instruct the database to wait integer seconds for the row to become available and then return control to you.
    If you specify neither WAIT nor NOWAIT, then the database waits until the row is available and then returns the results of the SELECT statement.
    >
    Edited by: P. Forstmann on 7 janv. 2010 09:00
    Edited by: P. Forstmann on 7 janv. 2010 09:01

  • What is dead locks with oracle and wht is race condition wrt oracle

    what is dead locks with oracle and wht is race condition wrt oracle

    > And do you know what a race condition is all about?
    It is a term used to indicate several processes attempting to use the same resource that is not capable of servicing all these at the same time. This could be due to the resource not being thread safe or implemented as a serialised resource.
    It is often easy to look up definitions on Google. In the Google search field, type "define:race condition".
    The following [url http://www.google.co.za/search?hl=en&q=define%3Arace+condition&btnG=Google+Search&meta=]web definitions page is displayed.

  • How to identify the locks in oracle db objects? i dont have access to check

    How to identify the locks in oracle db objects? i dont have access to check the v$lock or v$ objects. i dont have dba access. what are the symptoms for table, row or objects lock? how v guess it would be lock?
    Thanks in advance friends..

    I believe you will have to call your DBA on the phone in that case.
    You can query something with a select ... for update nowait.
    If it raises an exception you can handle it within a when section.
    -- Running in one session
    SQL> create table t1 as select 1 col1 from dual;
    Table created
    SQL> select * from t1 for update nowait;
          COL1
             1
    SQL>
    -- now running in a different session
    SQL> select * from t1 for update nowait;
    select * from t1 for update nowait
    ORA-00054: resource busy and acquire with NOWAIT specified
    SQL> set serveroutput on
    SQL>
    SQL> DECLARE
      2    CURSOR cur1 IS
      3      SELECT col1 FROM t1 FOR UPDATE NOWAIT;
      4    v_col1 NUMBER;
      5    locking_error EXCEPTION;
      6    PRAGMA EXCEPTION_INIT(locking_error, -00054);
      7  BEGIN
      8    OPEN cur1;
      9  EXCEPTION
    10    WHEN locking_error THEN
    11      dbms_output.put_line('Busted locking my rows!');
    12  END;
    13  /
    Busted locking my rows!
    PL/SQL procedure successfully completed
    SQL> Now, surely you won't be able to tell anything else other than there was something locked there.
    But none of the details you would find in the views.

  • Locked the oracle User account

    How to know who(os Name/ User/ Locked Time) locked the oracle User account

    1) You didn't mention an Oracle version. If you're on 10.2, perhaps this discussion
    http://www.pythian.com/blogs/284/oracle-102-migrations-%E2%80%93-account-lockedtimed-and-failed_login_attempts
    would be interesting.
    2) DBA_USERS isn't going to tell you who caused the account to be locked. Just that it is locked and when it was locked.
    Justin

  • SAPR3 is keep on locking in Oracle

    Hi SAP gurus,
    we have just change our hostname. I already changed all necessary parameters. Now Im facing new problem.
    SAPR3 user is keep on locking in ORACLE every time I started MMC "ORA-28000: the account is locked".
    Please let me know what to do?
    Thanks in advance

    Hi,
    Delete OPS$ user from oracle  level,
         >Sql :  drop user "OPS$hostname\SIDADM" cascade;
         >Sql :  drop user "OPS$hostname\SAPSERVICESID" cascade;
    Then run oradbusr.sql from location where file available.
    After that , change password for SAPSR3 user. your problem will get resolve.
    Reply...
    Regards
    MLN

  • Using OleDbDataAdapter Update with InsertCommands and getting blocking locks on Oracle table

    The following code snippet shows the use of OleDbDataAdapter with InsertCommands.  This code is producing many inserts on the Oracle table and is now suffering from contention... all on the same table.  How does the OleDbDataAdapter produce
    inserts from a dataset... what characteristics do these inserts inherent in terms of batch behavior... or do they naturally contend for the same resource. 
    oc.Open();
    for (int i = 0; i < xImageId.Count; i++)
    // Create the oracle adapter using a SQL which will not return any actual rows just the structure
    OleDbDataAdapter da =
       new OleDbDataAdapter("SELECT BUSINESS_UNIT, INVOICE, ASSIGNMENT_ID, END_DT, RI_TIMECARD_ID, IMAGE_ID, FILENAME, BARCODE_LABEL_ID, " +
       "DIRECT_INVOICING, EXCLUDE_FLG, DTTM_CREATED, DTTM_MODIFIED, IMAGE_DATA, PROCESS_INSTANCE FROM sysadm.PS_RI_INV_PDF_MERG WHERE 1 = 2", oc);
    // Create a data set
    DataSet ds = new DataSet("documents");
    da.Fill(ds, "documents");
    // Loop through invoices and write to oracle
    string[] sInvoices = invoiceNumber.Split(',');
    foreach (string sInvoice in sInvoices)
        // Create a data set row
        DataRow dr = ds.Tables["documents"].NewRow();
        ... map the data
        // Populate the dataset
        ds.Tables["documents"].Rows.Add(dr);
    // Create the insert command
    string insertCommandText =
        "INSERT /*+ append */ INTO PS_table " +
        "(SEQ_NBR, BUSINESS_UNIT, INVOICE, ASSIGNMENT_ID, END_DT, RI_TIMECARD_ID, IMAGE_ID, FILENAME, BARCODE_LABEL_ID, DIRECT_INVOICING, " +
        "EXCLUDE_FLG, DTTM_CREATED, DTTM_MODIFIED, IMAGE_DATA, PROCESS_INSTANCE) " +
        "VALUES (INV.nextval, :BUSINESS_UNIT, :INVOICE, :ASSIGNMENT_ID, :END_DT, :RI_TIMECARD_ID, :IMAGE_ID, :FILENAME,  " +
        ":BARCODE_LABEL_ID, :DIRECT_INVOICING, :EXCLUDE_FLG, :DTTM_CREATED, :DTTM_MODIFIED, :IMAGE_DATA, :PROCESS_INSTANCE)";
    // Add the insert command to the data adapter
    da.InsertCommand = new OleDbCommand(insertCommandText);
    da.InsertCommand.Connection = oc;
    // Add the params to the insert
    da.InsertCommand.Parameters.Add(":BUSINESS_UNIT", OleDbType.VarChar, 5, "BUSINESS_UNIT");
    da.InsertCommand.Parameters.Add(":INVOICE", OleDbType.VarChar, 22, "INVOICE");
    da.InsertCommand.Parameters.Add(":ASSIGNMENT_ID", OleDbType.VarChar, 15, "ASSIGNMENT_ID");
    da.InsertCommand.Parameters.Add(":END_DT", OleDbType.Date, 0, "END_DT");
    da.InsertCommand.Parameters.Add(":RI_TIMECARD_ID", OleDbType.VarChar, 10, "RI_TIMECARD_ID");
    da.InsertCommand.Parameters.Add(":IMAGE_ID", OleDbType.VarChar, 8, "IMAGE_ID");
    da.InsertCommand.Parameters.Add(":FILENAME", OleDbType.VarChar, 80, "FILENAME");
    da.InsertCommand.Parameters.Add(":BARCODE_LABEL_ID", OleDbType.VarChar, 18, "BARCODE_LABEL_ID");
    da.InsertCommand.Parameters.Add(":DIRECT_INVOICING", OleDbType.VarChar, 1, "DIRECT_INVOICING");
    da.InsertCommand.Parameters.Add(":EXCLUDE_FLG", OleDbType.VarChar, 1, "EXCLUDE_FLG");
    da.InsertCommand.Parameters.Add(":DTTM_CREATED", OleDbType.Date, 0, "DTTM_CREATED");
    da.InsertCommand.Parameters.Add(":DTTM_MODIFIED", OleDbType.Date, 0, "DTTM_MODIFIED");
    da.InsertCommand.Parameters.Add(":IMAGE_DATA", OleDbType.Binary, System.Convert.ToInt32(filedata.Length), "IMAGE_DATA");
    da.InsertCommand.Parameters.Add(":PROCESS_INSTANCE", OleDbType.VarChar, 10, "PROCESS_INSTANCE");
    // Update the table
    da.Update(ds, "documents");

    Here is what Oracle is showing as blocking locks and the SQL that has been identified with each of the SIDS.  Not sure why there is contention.  There are no triggers or joined tables in this piece of code.
    Here is the SQL all of the SIDs below are running:
    INSERT INTO sysadm.PS_RI_INV_PDF_MERG (SEQ_NBR, BUSINESS_UNIT, INVOICE, ASSIGNMENT_ID, END_DT, RI_TIMECARD_ID, IMAGE_ID, FILENAME, BARCODE_LABEL_ID, DIRECT_INVOICING, EXCLUDE_FLG, DTTM_CREATED, DTTM_MODIFIED, IMAGE_DATA, PROCESS_INSTANCE) VALUES (SYSADM.INV_PDF_MERG.nextval,
    :BUSINESS_UNIT, :INVOICE, :ASSIGNMENT_ID, :END_DT, :RI_TIMECARD_ID, :IMAGE_ID, :FILENAME, :BARCODE_LABEL_ID, :DIRECT_INVOICING, :EXCLUDE_FLG, :DTTM_CREATED, :DTTM_MODIFIED, :IMAGE_DATA, :PROCESS_INSTANCE)
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1150 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1156 (BTSUSER,biztprdi,BTSNTSvc64.exe) in instance FSLX3
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 6 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX2
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1726 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX2
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 2016 (BTSUSER,biztprdi,BTSNTSvc64.exe) in instance FSLX2

  • I have created TM lock in oracle 9i and 11g databases. by using same query

    here is the query uesd for finding a lock in database.
    select /*+ RULE */ 'DATAPOINT # ' bpb,
    l.sid, ' # ',
    s.username, ' # ',
    s.sql_address, ' # ',
    x.sid, ' # ',
    y.username, ' # ',
    l.type, ' # ',
    l.id1, ' # ',
    l.id2, ' # ',
    decode(X.LMODE,
    0, 'None',
    1, 'Null',
    2, 'Row Share',
    3, 'Row Excl',
    4, 'Share',
    5, 'Shr Row Excl',
    6, 'Exclusive',
    decode(L.REQUEST,
    0, 'None',
    1, 'Null',
    2, 'Row Share',
    3, 'Row Excl',
    4, 'Share',
    5, 'Shr Row Excl',
    6, 'Exclusive',
    from v$session s, v$lock l, v$lock x, v$session y
    where l.ctime > 120
    and s.lockwait = l.kaddr
    and l.type in ('TM', 'TX', 'UL')
    and l.id1 = x.id1
    and l.id2 = x.id2
    and x.sid != l.sid
    and x.sid = y.sid
    and x.lmode >0;
    after doing further investigation i found that for 11g condition s.lockwait = l.kaddr not satisfied where as for 9i it's gives correct results
    here are the lockwait and kaddr values for 9i and 11g databases.
    for oracle 9i
    SQL> select lockwait from v$session where sid in (10,12);
    LOCKWAIT
    67B4E10C
    SQL> select kaddr from v$lock where sid in (10,12);
    KADDR
    67B4E088
    67B4E10C
    for oracle 11g
    SQL> select lockwait from v$session where sid in (70,134);
    LOCKWAIT
    070000002FA080D8
    SQL> select kaddr from v$lock where sid in (70,134);
    KADDR
    0700000030C595C0
    0700000030C59830
    00000001108E3E58
    00000001108E3E58
    070000002FA6CB30
    SQL>
    please advise if there is any change for calculations for lockwait,kaddr for 11g.

    can you post your query with explain plan for both 9i version and 10g version.
    Thanks,
    karthick.

  • How to display message using default lock in ORACLE 9i?

    I am using ORACLE 9i I am inserting a same record in a same table (which is having primary key) of same user with different sql editor (or from different machines).
    with same time.
    One person is able to insert the record..
    But other one is in processing state, once the inserted person give commit,then only other person got the message "Primary key constraint voilated".
    This is bcoz of concurrency in oracle. For this purpose Oracle uses default lock.
    Is it possible to give message to other person like "One user is using this table..", after a record is inserted and before commit is get issued by the inserted user?
    how can i do this?
    Thanks a lot for your help

    [url http://forums.oracle.com/forums/thread.jspa?threadID=543335&tstart=0]duplicate thread

  • Table locking in Oracle 8.0.6

    HI all,
    In Oracle 8.0.6 we are locking the table with the following select statement.
    SELECT ... FROM <Table Name> FOR UPDATE NOWAIT;
    But the data is still retreivable from the table in another session.
    In Oracle 7.1.3 we are able to lock the table using the same statement but in 8.0.6 its not working.
    Can anyone help me to lock the table so that other users should not select the data from the same table.
    We have also tried to lock the table with the following statement
    LOCK TABLE <Tablename> IN EXCLUSIVE MODE;
    but still not working.

    EXECUTE IMMEDIATE was new in 8i. In prior versions, you might use the DBMS_SQL supplied package instead.

  • How to see lock in oracle 10g

    hi,
    i m working on an application made in oracle 10g developer, & database is oracle 10g on aix ,
    some times i get some problem when user save any data through forms it gets hanged ,
    so tell me how to get rid of it , when i try to do it from sql navigator i see massges session is busy .
    so y this eror i m getting & how to resolve it.
    thxs

    Here you have some scripts:
    rem
    rem FUNCTION: Report all DB locks
    rem
    column osuser format a15 heading 'User'
    column session_id heading 'SID'
    column mode_held format a20 heading 'Mode|Held'
    column mode_requested format a20 heading 'Mode|Requested'
    column lock_id1 format a10 heading 'Lock|ID1'
    column lock_id2 format a10 heading 'Lock|ID2'
    column type heading 'Type|Lock'
    set feedback off echo off pages 59 lines 131
    start title132 'Report on All Locks'
    spool rep_out\&db\locks
    select nvl(a.osuser,'SYS') osuser,b.session_id,type,
    mode_held,mode_requested,
    lock_id1,lock_id2
    from sys.v_$session a, sys.dba_locks b
    where
    a.sid=b.session_id
    order by 2
    spool off
    pause press enter/return to continue
    clear columns
    set feedback on echo on pages 22 lines 80
    set headingsep ='|'
    set lines 160
    set pagesize 20
    ttitle 'Database Locking Conflict Report'
    btitle 'Mode Held = indicates the user holding the lock|Mode Request = indicates the user waiting on the later to finish to establish lock||** End of Locking Conflict Report **'
    column username      format a10     heading 'User'
    column terminal      format a15     heading 'Application|PC'
    column object           format a15     heading     'Table'
    column sql            format a15     heading 'SQL'
    column sid           format 999     heading 'SID'
    column lock_type      format a15     heading 'Lock|Type'
    column mode_held      format a11     heading 'Mode|Held'
    column mode_requested      format a10     heading 'Mode|Request'
    column lock_id1      format a8     heading 'Lock ID1'
    column lock_id2      format a8     heading 'Lock ID2'
    column first_load_time  format a19     heading 'Requested'
    break on lock_id1
    select a.sid,
           username,
           terminal,
           decode(a.type,'MR', 'Media Recovery',
                      'RT', 'Redo Thread',
                   'UN', 'User Name',
                   'TX', 'Transaction',
                   'TM', 'DML',
                   'UL', 'PL/SQL User Lock',
                   'DX', 'Distributed Xaction',
                     'CF', 'Control File',
                   'IS', 'Instance State',
                   'FS', 'File Set',
                   'IR', 'Instance Recovery',
                   'ST', 'Disk Space Transaction',
                   'IR', 'Instance Recovery',
                   'ST', 'Disk Space Transaction',
                   'TS', 'Temp Segment',
                   'IV', 'Library Cache Invalidation',
                   'LS', 'Log Start or Switch',
                   'RW', 'Row Wait',
                   'SQ', 'Sequence Number',
                   'TE', 'Extend Table',
                   'TT', 'Temp Table', a.type) lock_type,
            decode(a.lmode,0, 'None',           /* Mon Lock equivalent */
       1, 'Null',           /* N */
       2, 'Row-S (SS)',     /* L */
       3, 'Row-X (SX)',     /* R */
       4, 'Share',          /* S */
       5, 'S/Row-X (SSX)',  /* C */
       6, 'Exclusive',      /* X */
       to_char(a.lmode)) mode_held,
       decode(a.request,
       0, 'None',           /* Mon Lock equivalent */
       1, 'Null',           /* N */
       2, 'Row-S (SS)',     /* L */
       3, 'Row-X (SX)',     /* R */
       4, 'Share',          /* S */
       5, 'S/Row-X (SSX)',  /* C */
       6, 'Exclusive',      /* X */
       to_char(a.request)) mode_requested,
       to_char(a.id1) lock_id1, to_char(a.id2) lock_id2,
       c.object object,
       d.sql_text sql,
       e.first_load_time
    from v$lock a, v$session, v$access c, v$sqltext d, v$sqlarea e
       where (id1,id2) in
         (select b.id1, b.id2 from v$lock b where b.id1=a.id1 and
         b.id2=a.id2 and b.request>0) and
         a.sid = v$session.sid and
         a.sid = c.sid and
         d.address = v$session.sql_address and
         d.hash_value = v$session.sql_hash_value and
         d.address = e.address
    order by a.id1, a.lmode desc
    set headingsep ='|'
    set lines 160
    set pagesize 20
    ttitle 'Database Locking Conflict Report'
    btitle 'Mode Held = indicates the user holding the lock|Mode Request = indicates the user waiting on the later to finish to establish lock||** End of Locking Conflict Report **'
    column username      format a10     heading 'User'
    column terminal      format a15     heading 'Application|PC'
    column object           format a15     heading     'Table'
    column sql            format a15     heading 'SQL'
    column sid           format 999     heading 'SID'
    column lock_type      format a15     heading 'Lock|Type'
    column mode_held      format a11     heading 'Mode|Held'
    column mode_requested      format a10     heading 'Mode|Request'
    column lock_id1      format a8     heading 'Lock ID1'
    column lock_id2      format a8     heading 'Lock ID2'
    column first_load_time  format a19     heading 'Requested'
    break on lock_id1
    select a.sid,
           username,
           terminal,
           decode(a.type,'MR', 'Media Recovery',
                      'RT', 'Redo Thread',
                   'UN', 'User Name',
                   'TX', 'Transaction',
                   'TM', 'DML',
                   'UL', 'PL/SQL User Lock',
                   'DX', 'Distributed Xaction',
                     'CF', 'Control File',
                   'IS', 'Instance State',
                   'FS', 'File Set',
                   'IR', 'Instance Recovery',
                   'ST', 'Disk Space Transaction',
                   'IR', 'Instance Recovery',
                   'ST', 'Disk Space Transaction',
                   'TS', 'Temp Segment',
                   'IV', 'Library Cache Invalidation',
                   'LS', 'Log Start or Switch',
                   'RW', 'Row Wait',
                   'SQ', 'Sequence Number',
                   'TE', 'Extend Table',
                   'TT', 'Temp Table', a.type) lock_type,
            decode(a.lmode,0, 'None',           /* Mon Lock equivalent */
       1, 'Null',           /* N */
       2, 'Row-S (SS)',     /* L */
       3, 'Row-X (SX)',     /* R */
       4, 'Share',          /* S */
       5, 'S/Row-X (SSX)',  /* C */
       6, 'Exclusive',      /* X */
       to_char(a.lmode)) mode_held,
       decode(a.request,
       0, 'None',           /* Mon Lock equivalent */
       1, 'Null',           /* N */
       2, 'Row-S (SS)',     /* L */
       3, 'Row-X (SX)',     /* R */
       4, 'Share',          /* S */
       5, 'S/Row-X (SSX)',  /* C */
       6, 'Exclusive',      /* X */
       to_char(a.request)) mode_requested,
       to_char(a.id1) lock_id1, to_char(a.id2) lock_id2,
       c.object object,
       d.sql_text sql,
       e.first_load_time
    from v$lock a, v$session, v$access c, v$sqltext d, v$sqlarea e
       where (id1,id2) in
         (select b.id1, b.id2 from v$lock b where b.id1=a.id1 and
         b.id2=a.id2 and b.request>0) and
         a.sid = v$session.sid and
         a.sid = c.sid and
         d.address = v$session.sql_address and
         d.hash_value = v$session.sql_hash_value and
         d.address = e.address
    order by a.id1, a.lmode descCheers,
    Francisco Munoz Alvarez
    http://www.oraclenz.com

  • Exported CSV files are locked by Oracle SQL Developer 2.1.0.63

    Whenever I export my query result into a CSV file, the resulting file is always locked for editing by Oracle SQL Developer 2.1.0.63.
    Have anybody encountered the same problem? Do you know how can I report this as a bug to Oracle?
    Thanks,
    Adrian Wijasa
    Banner Programmer/Analyst
    College of St. Benedict/St. John's University MN
    [email protected]

    I got it too if I left SQl Developer open then go to Excel to edit my CSV - got message 'table_export.csv is locked for editing by another user'. If I close SQL Developer then open the file, it works. Seems SQL Developer's holding onto the file after creation.
    Bugs are being reported in this forum.
    Evita
    Edited by: Evita on Jan 8, 2010 12:53 PM

  • Security - Locking Down Oracle 9i

    Anyone,
    I have been asked by our auditors to lock down my Oracle environment by disabling the default accounts that are not needed.
    What User Accounts can I disable (Lock) and not break my Oracle environment?
    I am looking at the following:
    DBSNMP
    OUTLN
    WMSYS
    Will I break anything if I disable these accounts?
    Thanks in advance,
    Miller

    Hi
    DBSNMP User:
    For database event monitoring, it is recommended you use the pre-existing DBSNMP user account.The DBSNMP user is automatically created with each new database and is already used for basic monitoring such as checking database availability. When setting up the EM Event owner’s preferences for Preferred Credentials, specify DBSNMP as database credentials for all monitored databases. This account will be used by the agent for monitoring and historical data collection as well as by the OMS/Console for database browsing. The DBSNMP user has already been granted some basic privileges. However, if it is to be used for all database event monitoring, you will also need to grant:
    SELECT_CATALOG_ROLE role.
    OUTLN User:
    This user is used while using TKPROF utility
    select user# from sys.user$ where name = 'OUTLN'
    WMSYS: Don't know about this user.
    I suggest to remove only SCOTT user account, as this is a demo user account.
    Hope this was useful.
    Thank You

  • Two basic questions about locks in Oracle.

    Hello,
    This is about 9i and onwards.
    I need to develop a comprehensive analysis of locks and waits and while doing so, following questions popped up.
    1) What is the difference between locks and waits?
    2) There is a DBA view called DBA_BLOCKERS. The standard Oracle documentation has only one line comment about this view i.e. "DBA_BLOCKER – Shows non-waiting sessions holding locks being waited-on by other sessions.
    My question is : Why would a non waiting session hold locks after all? I guess that automatically repeats the question #1 from above, What is the difference between "being waited on" v/s "holding locks with wait" and "holding locks without waits"?
    Thanks,
    R

    1) What is the difference between locks and waits? Lock - something you queue up to get and simply wait until it is available
    Waits - Waiting for a Specific event to happen before it can proceed.
    Re: Difference between a latch and a lock
    2) There is a DBA view called DBA_BLOCKERS. The standard Oracle documentation has only one line comment about this view i.e. "DBA_BLOCKER – Shows non->waiting sessions holding locks being waited-on by other sessions.DBA_BLOCKERS displays a session if it is not waiting for a locked object but is holding a lock on an object for which another session is waiting.
    HTH
    -Anantha

  • Disk space transaction  and temp table lock  in oracle

    Hi,
    Today many sessions used to get disk space transaction lock and temp table lock and i am seeing these locks first time in my Production database,
    is there any workaround to avoid this contension.
    Thanks
    Prakash GR

    Post your version (all 3 decimal places).
    Post the SELECT statement and results that have led you to this conclusion.
    Other than the fact that you have seen a number what, precisely, is the issue.

Maybe you are looking for

  • How to upload file and put in BDC, need sample func specs to practice on...

    Hi guys, I do not have anything to do as of the moment, so I want to practice BDC on, lets say SU01. I have seen existing BDC programs here and I am confused as to why some are using read dataset, open dataset, etc. and others are not using them at a

  • Previewing Source Audio Not Working

    I have several source Libraries in iPhoto, each with their own stash of movie files. The most recent one -- and only this one -- won't allow movie files to be listened to unless the file has been inserted into the edit. In other words, I can't select

  • 8i Database Solaris Intel Platform

    From where should I download 8i Database for Solaris Intel Platform, as there is no such link at OTN software download. TIA & regards Muhammad Siraj

  • How to reset iTunes Match

    Hi everyone, Just a new thread to share with you how I did reset iTunes Match, this can be useful in some cases, like mine was. This allow you to sync again your entire iTunes library with iTunes Match like if it was the very first time you activate

  • The firmware upgrade file is not supported on this hardware version MI424-WR Hardware Ver. C

    Hello - I have been troubleshooting for quite some time a problem that only occurs on my wireless devices.  8 out of 10 times I fail to obtain a IP address from my MI424-WR.  My connection to the device is successful, however, DHCP times out.  I have