Transactions blocked by single "local write wait"

Hi All,
We had something strange going on, on a 10.2.0.5 production datase on HPUX. Several hundreds of identical insert statements were temporarily (but too long) blocked by another but also identical statement. Investigation of the ASH gives us the following:
SAMPLE_TIME     SESSION_ID     EVENT               XID               SESSION_STATE     BLOCKING_SESSION     SQL_ID               SQL_TXT
11:15:41.966     2,279          enq: TX - contention     007B002900024C1B     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...     
11:15:41.966     2,295          enq: TX - contention     006600060003C87D     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...      
11:15:41.966     2,324          enq: TX - contention     008700200001F810     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...     
... (hundreds of these statements)
11:16:02.266     4,332          enq: TX - contention     0021001C00416917     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...
     is waiting for
11:15:41.966     2,062          local write wait     005400220006A87F     WAITING                         14fzcavsat4p8          insert into cwd63...
11:15:52.116     2,062          local write wait     005400220006A87F     WAITING                         14fzcavsat4p8          insert into cwd63...
11:16:02.266     2,062          local write wait     005400220006A87F     WAITING                         14fzcavsat4p8          insert into cwd63...
Our problem is that we cannot find a good reason we the causing statement is blocked, so we are left with 2 questions:
*1. What exactly is causing the insert to be blocked, or what does "local write wait" mean?* We assume it has something to do with an high latency for the DBWR to write out a buffer block, so I/O related, but on OS level we don't find any good reason (yet), so how can we find the underlying reason?
If we search support.oracle.com on "local write wait", we get 2 results, none of which is helpful. We already opened an SR and Oracle answered that they can only help us if we can reproduce the problem (very helpful!), where I at least expected some kind of explanation regarding the local write wait. Reproduction is not easy since we do not know what triggered this problem.
*2. What can we do to prevent this from happening again?*
Any suggestions are welcome.
Thanks,
Michel

michel.roggen wrote:
Hi All,
We had something strange going on, on a 10.2.0.5 production datase on HPUX. Several hundreds of identical insert statements were temporarily (but too long) blocked by another but also identical statement. Investigation of the ASH gives us the following:
SAMPLE_TIME     SESSION_ID     EVENT               XID               SESSION_STATE     BLOCKING_SESSION     SQL_ID               SQL_TXT
11:15:41.966     2,279          enq: TX - contention     007B002900024C1B     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...     
11:15:41.966     2,295          enq: TX - contention     006600060003C87D     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...      
11:15:41.966     2,324          enq: TX - contention     008700200001F810     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...     
... (hundreds of these statements)
11:16:02.266     4,332          enq: TX - contention     0021001C00416917     WAITING          *2,062*               14fzcavsat4p8          insert into cwd63...
     is waiting for
11:15:41.966     2,062          local write wait     005400220006A87F     WAITING                         14fzcavsat4p8          insert into cwd63...
11:15:52.116     2,062          local write wait     005400220006A87F     WAITING                         14fzcavsat4p8          insert into cwd63...
11:16:02.266     2,062          local write wait     005400220006A87F     WAITING                         14fzcavsat4p8          insert into cwd63...
Our problem is that we cannot find a good reason we the causing statement is blocked, so we are left with 2 questions:
*1. What exactly is causing the insert to be blocked, or what does "local write wait" mean?* We assume it has something to do with an high latency for the DBWR to write out a buffer block, so I/O related, but on OS level we don't find any good reason (yet), so how can we find the underlying reason?
If we search support.oracle.com on "local write wait", we get 2 results, none of which is helpful. We already opened an SR and Oracle answered that they can only help us if we can reproduce the problem (very helpful!), where I at least expected some kind of explanation regarding the local write wait. Reproduction is not easy since we do not know what triggered this problem.
*2. What can we do to prevent this from happening again?*
Any suggestions are welcome.
Thanks,
Micheldoes table have PK?
does PK contain SEQUENCE?
is table part of PK/FK relationship?
is FK constraint supported by actual INDEX?

Similar Messages

  • Single-statement 'write consistency' on read committed?

    Please note that in the following I'm only concerned about single-statement read committed transactions. I do realize that for a multi-statement read committed transaction Oracle does not guarantee transaction set consistency without techniques like select for update or explicit hand-coded locking.
    According to the documentation Oracle guarantees 'statement-level transaction set consistency' for queries in read committed transactions. In many cases, Oracle also provides single-statement write consistency. However, when an update based on a consistent read tries to overwrite changes committed by other transactions after the statement started, it creates a write conflict. Oracle never reports write conflicts on read committed. Instead, it automatically handles them based on the new values for the target table columns referenced by the update.
    Let's consider a simple example. Again, I do realize that the following design might look strange or even sloppy, but the ability to produce a quality design when needed is not an issue here. I'm simply trying to understand the Oracle's behavior on write conflicts in a single-statement read committed transaction.
    A valid business case behind the example is rather common - a financial institution with two-stage funds transfer processing. First, you submit a transfer (put transfer amounts in the 'pending' column of the account) in case the whole financial transaction is in doubt. Second, after you got all the necessary confirmations you clear all the pending transfers making the corresponding account balance changes, resetting pending amount and marking the accounts cleared by setting the cleared date. Neither stage should leave the data in inconsistent state: sum (amount) for all rows should not change and the sum (pending) for all rows should always be 0 on either stage:
    Setup:
    create table accounts
    acc int primary key,
    amount int,
    pending int,
    cleared date
    Initially the table contains the following:
    ACC AMOUNT PENDING CLEARED
    1 10 -2
    2 0 2
    3 0 0 26-NOV-03
    So, there is a committed database state with a pending funds transfer of 2 dollars from acc 1 to acc 2. Let's submit another transfer of 1 dollar from acc 1 to acc 3 but do not commit it yet in SQL*Plus Session 1:
    update accounts
    set pending = pending - 1, cleared = null where acc = 1;
    update accounts
    set pending = pending + 1, cleared = null where acc = 3;
    ACC AMOUNT PENDING CLEARED
    1 10 -3
    2 0 2
    3 0 1
    And now let's clear all the pending transfers in SQL*Plus Session 2 in a single-statement read-committed transaction:
    update accounts
    set amount = amount + pending, pending = 0, cleared = sysdate
    where cleared is null;
    Session 2 naturally blocks. Now commit the transaction in session 1. Session 2 readily unblocks:
    ACC AMOUNT PENDING CLEARED
    1 7 0 26-NOV-03
    2 2 0 26-NOV-03
    3 0 1
    Here we go - the results produced by a single-statement transaction read committed transaction in session 2, are inconsistent � the second funds transfer has not completed in full. Session 2 should have produced the following instead:
    ACC AMOUNT PENDING CLEARED
    1 7 0 26-NOV-03
    2 2 0 26-NOV-03
    3 1 0 26-NOV-03
    Please note that we would have gotten the correct results if we ran the transactions in session 1 and session 2 serially. Please also note that no update has been lost. The type of isolation anomaly observed is usually referred to as a 'read skew', which is a variation of 'fuzzy read' a.k.a. 'non-repeatable read'.
    But if in the session 2 instead of:
    -- scenario 1
    update accounts
    set amount = amount + pending, pending = 0, cleared = sysdate
    where cleared is null;
    we issued:
    -- scenario 2
    update accounts
    set amount = amount + pending, pending = 0, cleared = sysdate
    where cleared is null and pending <> 0;
    or even:
    -- scenario 3
    update accounts
    set amount = amount + pending, pending = 0, cleared = sysdate
    where cleared is null and (pending * 0) = 0;
    We'd have gotten what we really wanted.
    I'm very well aware of the 'select for update' or serializable il solution for the problem. Also, I could present a working example for precisely the above scenario for a major database product, providing the results that I would consider to be correct. That is, the interleaving execution of the transactions has the same effect as if they completed serially. Naturally, no extra hand-coded locking techniques like select for update or explicit locking is involved.
    And now let's try to understand what just has happened. Playing around with similar trivial scenarios one could easily figure out that Oracle clearly employs different strategies when handling update conflicts based on the new values for the target table columns, referenced by the update. I have observed the following cases:
    A. The column values have not changed: Oracle simply resumes using the current version of the row. It's perfectly fine because the database view presented to the statement (and hence the final state of the database after the update) is no different from what would have been presented if there had been no conflict at all.
    B. The row (including the columns being updated) has changed, but the predicate columns haven't (see scenario 1): Oracle resumes using the current version of the row. Formally, this is acceptable too as the ANSI read committed by definition is prone to certain anomalies anyway (including the instance of a 'read skew' we've just observed) and leaving behind somewhat inconsistent data can be tolerated as long as the isolation level permits it. But please note - this is not a 'single-statement write consistent' behavior.
    C. Predicate columns have changed (see scenario 2 or 3): Oracle rolls back and then restarts the statement making it look as if it did present a consistent view of the database to the update statement indeed. However, what seems confusing is that sometimes Oracle restarts when it isn't necessary, e.g. when new values for predicate columns don't change the predicate itself (scenario 3). In fact, it's bit more complicated � I also observed restarts on some index column changes, triggers and constraints change things a bit too � but for the sake of simplicity let's no go there yet.
    And here come the questions, assuming that (B) is not a bug, but the expected behavior:
    1. Does anybody know why it's never been documented in detail when exactly Oracle restarts automatically on write conflicts once there are cases when it should restart but it won't? Many developers would hesitate to depend on the feature as long as it's not 'official'. Hence, the lack of the information makes it virtually useless for critical database applications and a careful app developer would be forced to use either serializable isolation level or hand-coded locking for a single-statement update transaction.
    If, on the other hand, it's been documented, could anybody please point me to the bit in the documentation that:
    a) Clearly states that Oracle might restart an update statement in a read committed transaction because otherwise it would produce inconsistent results.
    b) Unambiguously explains the circumstances when Oracle does restart.
    c) Gives clear and unambiguous guidelines on when Oracle doesn't restart and therefore when to use techniques like select for update or the serializable isolation level in a single-statement read committed transaction.
    2. Does anybody have a clue what was the motivation for this peculiar design choice of restarting for a certain subset of write conflicts only? What was so special about them? Since (B) is acceptable for read committed, then why Oracle bothers with automatic restarts in (C) at all?
    3. If, on the other hand, Oracle envisions the statement-level write consistency as an important advantage over other mainstream DBMSs as it clear from the handling of (C), does anybody have any idea why Oracle wouldn't fix (B) using well-known techniques and always produce consistent results?

    I intrigued that this posting has attracted so little interest. The behaviour described is not intuitive and seems to be undocumented in Oracle's manuals.
    Does the lack of response indicate:
    (1) Nobody thinks this is important
    (2) Everybody (except me) already knew this
    (3) Nobody understands the posting
    For the record, I think it is interesting. Having spent some time investigating this, I believe the described is correct, consistent and understandable. But I would be happier if Oracle documented in the Transaction sections of the Manual.
    Cheers, APC

  • Execution/exit of DIO single read/write.vi

    Hi all,
    System - Windows NT4.0, LabView 7.0, PCI-DIO-96 card.
    Info -
    I am using the "DIO single read/write.vi" to update ports on a custom board. The Labview code has an outer For Loop that executes 64 times (to update the ports 64 times). Inside the loop is a sequence structure. The first sequence frame uses PPI B Port A of the DIO-96 in output Mode 0 (no handshake) to update one target port. The next frame uses PPI A Port A in output Mode 1 (handshake) to update a different target port. The DIO PPIs are always used in the same Mode and the same data direction.
    Question 1 -
    When the vi executes, does it look at the iteration input and leave the PPI config register alone if the iteration input is nonzero? Specifical
    ly, during my system init routine, the input is wired to the iteration terminal of the For Loop. Later in the code (after exiting init) the vi is used to do updates in other structures. I want all subsequent executions of the vi to be the same configuration as initialized. If I tie a nonzero numeric constant to the iteration input of the vi during subsequent executions, will the vi leave the 8255 in the same configuration as when the init routine was exited?
    Question 2 -
    I need to wait for the handshake in the second sequence frame to complete before the sequence is exited. I assume that when the vi is used inside of a sequence, it is analagous to a subroutine call. Does the vi wait for the handshake to complete before returning? In other words, will the vi complete the handshake with my target port before the sequence frame is exited? If not, any suggestions on how to wait for the completion?
    TIA - Charlie

    Charlie,
    Yes, if the iteration input to DIO Single Read/Write.vi is greater than zero, configuration will not take place. Furthermore, the VI will only return once execution has completed.
    Good luck with your application.
    Spencer S.

  • Windows could not start the distributed transaction coordinator service on local computer

    Dear All,
    I'm having an issue starting the DTC service in windows 7 OS. I always got the error message below when im trying to start it.
    "Windows could not start the distributed transaction coordinator service on local computer"
    Thanks,
    Melvin

    Hi Melvin,
    Please try the following methods to solve this issue:
    Method 1: Re-create the MS DTC log, and then restart the service.
    Click
    Start, type cmd in the search box, and then press
    Enter.
    Type the command
    msdtc -resetlog at the command prompt, and then press
    Enter.
    Warning: The msdtc -resetlog command can cause data corruption if it is used incorrectly. Make sure that you do not have any pending transactions when you run this
    command.
    Type the command net start msdtc, and then press
    Enter.
    Method 2: Set the logon account permissions for the MS DTC service
    If Method 1 does not resolve the problem, set the logon account for the MS DTC service to have read and write permissions for the Msdtc.log file. Please follow the steps below:
    Click
    Start, type cmd in the search box, and then press
    Enter.
    Type the command
    control admintools at the command prompt, and then press
    Enter.
    Double-click
    Services.
    In the Services pane, locate
    Distributed Transaction Coordinator.
    In the
    Log On As column, note the account name.  Note: The default logon account for the MS DTC service is the NETWORK SERVICE account.
    Start Windows Explorer, and
    then open the %windir%\System32\Msdtc folder.
    Right-click the
    Msdtc.log file, and then click Properties.
    Click the
    Security tab.
    Click the logon account name that you noted
    in step 5. For example, click the NETWORK SERVICE account name.
    In the
    Permissions pane, click to select the Allow check box for the following permissions: ◦Read & Execute  
    ◦Read    ◦Write
    Click
    OK.
    Click
    Yes to accept the security warning.
    In the
    Services pane, right-click Distributed Transaction Coordinator, and then click
    Start.
    Method 3: Assign permissions to the NETWORK service to traverse the directory tree
    Determine whether the NETWORK service has permissions to traverse through the folder. To do this, follow these steps.
    Note: By default, the "Everyone" group has these permissions. For more information, go to the following Microsoft TechNet website:
    Bypass traverse checking
    Click
    Start, type secpol.msc in the search box, and then press
    Enter.     
    Browse through the following computer configuration: 
            \Windows Settings\Security Settings\Local Policies\User Rights Assignment 
    Check for "Bypass traverse checking," and then add the "Everyone" group. 
    Update the Group Policy settings on the computer. To do this, click
    Start, type gpupdate in the search box, and then press
    Enter.
    In the
    Services pane, right-click Distributed Transaction Coordinator, and then click
    Start.
    Regards,
    Lany Zhang

  • About single-task message wait event

    Hello
    I have several active users, some of them from 2 an 3 days ago with single-task message wait event and their last_call was many time ago. One of users, blocked to other users just a little while ago and Concurrency grow up to 20 % and was on increase. i had to kill this user and all were well, concurrency dessapeared.
    How could I avoid this behavior??
    How could I kill these type of user by automatic way??
    Thanks

    Hi,
    according to me active user is different
    according to me active user is session or oracle process is doing something else like dml or ddl execution or select stmt else session is idel.
    trace the session what is doing? is may be problem with dead connection
    use oradebug and set the 10046 at level 12 and format it with tkprof utility.
    paste it thread
    Kind Regards,
    Rakesh jayappa

  • WLC - How to block a single client MAC address?

    Hi Sir,
    On a WLC (software version 4.1.185.0), how to block a single client MAC address?
    I thought of using the SECURITY -> Disabled Clients. Is it right?
    There are currently 250 users connected to the WLC. MAC Filtering is not a scalable solution because as I understand it, we have to specify all the legitimate MAC addresses in the local database.
    Thank you.
    B.Rgds,
    Lim TS

    Hi Lim,
    As you have discovered, the Mac filtering on the WLC is an Allow (based on Mac address) rather than what you need which is a Deny (based on Mac address). I have not tried this feature but I think you are on the right track in using the Exclusion List (Blacklist) feature. Have a look;
    Use SECURITY > AAA > Disabled Client then click New or MONITOR > Clients then click Disable to navigate to this page.
    This page allows you to manually Exclusion List (blacklist) a client by MAC address.
    Add the MAC Address and an optional Client Description for the client to be disabled.
    Note When you enter a client MAC address to be disabled, the Operating System checks that the MAC address is not one of the known Local Net clients ( Local Net Users), Authorized clients ( MAC Filtering), or Local Management users ( Local Management Users) MAC addresses. If the entered MAC address is on one of these three lists, the Operating System does not allow the MAC address to be manually disabled.
    Hope this helps! Let us know.
    Rob

  • Can i display My application iview and transaction iview in single page ?

    Hi,
    I am new in web dynpro and portal. i am doing one approval application through web dynpro. Now i need to attache sap inbox to application. For that some budy suggested me about transaction view. So my questions are as folloes.
    1.> How i attached my application to iview ?
    2.> How i created Transaction  iview ?
    3.> Can i attache my application iview with transaction iview if it is possible then how ?
    4.> Can i display My application iview and transaction iview in single page ?
    Please guide me in this procesure.
    Regards,
    Gurprit Bhatia

    Hi Gurprit,
    1.> How i attached my application to iview ?
           You can attach your application to web Dynpro IView, for this login into portal, in the Content Management tab right click on a folder, then New --> IView. Select WD java Application. Select your application and create an Iview.
    2.> How i created Transaction iview ?
           Similarly, instead of selecting WD java Application, select iView template, you will get a list of available templates, and in this you will find template for Transaction Iview, in this template define the Tx for which you want to create the template.
    3.> Can i attache my application iview with transaction iview if it is possible then how ?
          No, I dont think you can attach your application to transaction Iview. but, you can attach both IViews on single page.
    4.> Can i display My application iview and transaction iview in single page ?
          Yes, you can attach  both IViews on single page. Again in Content Management tab, crate a PAGE; Then right click on created IViews and select  add IView to Page ßß: Delta Link.
    Hope this helps.
    Regards,
    Amit

  • How to block a single table for a single user

    Hi all.
    I want to block a single Z table for a single user. How to do this?  If he/she tries to display data using SE16 or SE11 Tcode he/she should get an error message.
    Regards,
    Prajwal K.

    Hi Prajwal,
    We can use the function modules ENQUEUE_E_TABLE for locking tables and the function module DEQUEUE_E_TABLE for unlocking tables. With this method, we don't need to lock objects in order to lock the tables. In other words, any table can be locked/unlocked using these function modules.
    Check this sample code:
    *Locking Table*
    data:
    varkey like rstable-varkey.
    varkey = sy-mandt.
    locking the tables............................
    call function 'ENQUEUE_E_TABLE'
    exporting
    MODE_RSTABLE = 'E'
    tabname = 'MARA'
    varkey = varkey
    X_TABNAME = ' '
    X_VARKEY = ' '
    _SCOPE = '2'
    _WAIT = ' '
    _COLLECT = 'X'
    exceptions
    foreign_lock = 1
    system_failure = 2
    others = 3.
    Hope this helps you.
    Regards,
    Chandra Sekhar

  • How to call 2 transactions in a single screen

    Hi All,
    I need to call 2 Standard transaction in a single screen.
    ie: 1 transaction should be displayed in first half of the sceen and another transaction should be in the next half. How we can do this.
    Thanks
    Partha.

    Attach two subscren in that screen and call the transactions from the seperate subscreens.

  • How to convert pl/sql block into single update statement

    Dear all gurus,
    I have pl/sql block mention below, Can I convert this pl/sql block to single update statement if possible?
    If not how to optimize this block?
    Pleaese suggest.
    thanks in advance.
    Vijay
    DECLARE
    CURSOR vt_mlr_cursor IS Select master_key, user4 from vt_mlr Where USER4 is not null;
    USERFIELD VARCHAR2(100);
    C1 VARCHAR2(3); /* this will return location of first space = 12 */
    C2 VARCHAR2(3); /* this will return location of second space = 20 */
    C3 VARCHAR2(3); /* this will return location of third space = 28 */
    C4 VARCHAR2(3); /* this will return location of forth space = 35 */
    Field1 VARCHAR2(40); /* this will return FTMYFLXA04W */
    Field2 VARCHAR2(10); /* this will return VPI0043 */
    Field3 VARCHAR2(10); /* this will return VCI0184 */
    Field4 VARCHAR2(10); /* this will return 005 */
    Field5 VARCHAR2(10); /* this will return 00001 */
    Field_2_n_3 VARCHAR2(25);
    key VARCHAR2(10);
    BEGIN
    FOR vt_mlr_record IN vt_mlr_cursor
    LOOP
    key := vt_mlr_record.master_key;
    USERFIELD := vt_mlr_record.user4;
    C1 := INSTR(vt_mlr_record.user4,' ',1,1); /* this will return location of first space = 12 */
    C2 := INSTR(vt_mlr_record.user4,' ',1,2); /* this will return location of second space = 20 */
    C3 := INSTR(vt_mlr_record.user4,' ',1,3); /* this will return location of third space = 28 */
    C4 := INSTR(vt_mlr_record.user4,' ',1,4); /* this will return location of forth space = 35 */
    Field1 := SUBSTR(vt_mlr_record.user4,1,C1-1); /* this will return FTMYFLXA04W */
    Field2 := SUBSTR(vt_mlr_record.user4,C1+4,C2-C1-4); /* this will return VPI0043 */
    Field3 := SUBSTR(vt_mlr_record.user4,C2+4,C3-C2-4); /* this will return VCI0184 */
    Field4 := SUBSTR(vt_mlr_record.user4,C3+4,C4-C3-4); /* this will return 005 */
    Field5 := SUBSTR(vt_mlr_record.user4,C4+4,LENGTH(vt_mlr_record.user4)-C4-3); /* this will return 00001 */
    Field_2_n_3 := Field2 || '/' || Field3;
    /*DBMS_OUTPUT.PUT_LINE ('Current key is: ' || vt_mlr_record.master_key);*/
    UPDATE vt_mlr
    SET
    aggregator_clli = Field1,
    aggregator_vpi_vci = Field_2_n_3,
    aggregator_slot = Field4,
    aggregator_port = Field5
    WHERE
    master_key = vt_mlr_record.master_key;
    END LOOP;
    END;
    /

    Hi Vijay,
    Here's something to start with, you should be able to complete it.
    First, combine your select and update statements:
    update vt_mlr
       set aggregator_clli = field1
          ,aggregator_vpi_vci = field_2_n_3
          ,aggregator_slot = field4
          ,aggregator_port = field5
    where user4 is not null;Then put these two
    C1 := INSTR(vt_mlr_record.user4,' ',1,1); 
    Field1 := SUBSTR(vt_mlr_record.user4,1,C1-1);into
    Field1 := SUBSTR(vt_mlr_record.user4,1,INSTR(vt_mlr_record.user4,' ',1,1) -1);And put it into the update statement, removing reference to record
    (I have also removed default values for position and occurrence in instr function):
    update vt_mlr
       set aggregator_clli = substr(user4, 1, instr(user4,' ') - 1)
          ,aggregator_vpi_vci = field_2_n_3
          ,aggregator_slot = field4
          ,aggregator_port = field5
    where user4 is not null; I think you can do the rest from here ;-)
    Regards
    Peter

  • APP-QA-16161: Cant find the Transaction Block

    When I click on Create Service Request or View Service Request form I get message
    APP-QA-16161: Cant find the Transaction Block
    The error is coming from the pre-form trigger of the CSXSRISR.fmb.
    We have copied the .fmx of this file and all associated files from other instnaces, but still the issue is present.
    Also, the issue is not present when we enable FRD trace.
    Anyone has any suggestions on the same?

    Hi,
    Please verify that you have no invalid objects in the database -- See (Note: 308927.1 - APP-QA-16161 - Can't find transaction block. Please inform system administrator).
    If the above does not help, see (Bug 7253526 - RCVTXERT: APP-QA-16161 CAN'T FIND TRANSACTION BLOCK), I believe you would need to log a SR as the solution is not mentioned.
    Regards,
    Hussein

  • Single-Task Message Wait Event

    Discovered while researching some performance issues....
    A statspack report on the metadata repository is showing a lot of single-task message waits.
    Is this normal? What is the source of these waits?
    Per Oracle 8i documentation... "Oracle is diminishing the support of single-task mode."
    Why is this showing up in a 9.2.0.8 database???
    Any insights welcome...
    Thanks,
    Henry
    Edited by: OracleDBAinPA on Dec 8, 2009 6:56 AM

    As you can see, no one replied to the message...
    But, our performance issue was due to a memory leak in the listener (documented bug in 9.2.0.8).
    Restarting the listener, also reduced the wait...

  • The access to our new chess hall may be blocked by your local firewall. You would need to reconfigure your firewall to open port 15010 for TCP traffic.

    How do I do the following so I can get into my chess program??
    The access to our new chess hall may be blocked by your
    local firewall. You would need to reconfigure your firewall to open port 15010
    for TCP traffic.

    This is not really Firefox related.
    What you need to do here is to read the firewall manual which usually explains how to create a rule for what you want to do.
    If you're using the Windows XP firewall, see this Microsoft article: http://windows.microsoft.com/en-US/windows-vista/Firewall-frequently-asked-questions

  • Sales order is blocked for single-item planning

    MD50 results in below
    Sales order  000010 is blocked for single-item planning
    Message no. 61211
    what are some possible causes?

    Hi Friend,
    Please check the status of the concerned sales order and validate it.

  • How to calculate redo rate,transaction rate and Average redo write size

    Can anybody tell me how to get redo rate,transaction rate and Average redo write size other than statspack.

    thanks raghu,
    But can you tell me where it is in OEM. Preferably can you give me SQL queries to get these stuffs.

Maybe you are looking for

  • Can I have the same iTunes and iPhoto on different users?

    I have 2 user accounts on my Laptop. Mine is the main one with all the music on iTunes and the photos on iPhoto. I was wondering if there is anyway, I can add these photos and music to the other user on my laptop. It is a macbook running on - Version

  • Configurable product in CRM 7.0

    Hi all, has anybody experience with configurable products and product model in CRM 7.0? or is there a detailed manual somewhere? the way to manage them seems quite different from the previous release in which the PME component was external. Thanks Or

  • Forms icon

    Hello friends, Kinldy help me for the following issue. I am using developer 10g, forms . In the form, my icons are displaying the layout editor, but not displaying while the forms being run. Kinldy help me.

  • Can't download on a Mac

    Im trying to download CS5 on to my Mac and the only file download options I get are .exe or .7z instead of the .dmg. How do I get a download file with the .dmg?

  • Web form data storage

    Hi, In which table the Web form datas will be stored in EPM Planning repository. Please provide the table details. Thanks Kumar Edited by: kumarp on Aug 13, 2012 7:17 AM