Bounded buffer

hi i have created a bounded buffer class called,Q, and this operates as a fixed length first-in-first-out queue of size N. I have two public methods put, which takes an Object as its only parameter, and adds this object to the end of the queue, and get, which removes an object from the front of the queue and returns it as its result.
I have used private Semaphore variables to ensure that any thread attempting to get from an empty buffer, or to put into a full buffer is caused to wait.
Now I have this i want to be able to create two thread, producer and consumer. I want to Write a producer thread which continuously generates objects, and places them in my buffer (Object[] buf), and a consumer thread which takes objects out of the same buffer, I don't know how to create this. Your help would be amazing
The class Semaphore and Q are as follows.
Q class
protected Object[] buf;
protected int in = 0;
protected int out= 0;
protected int size;
private Semaphores full;
private Semaphores empty;
public Q(int size)
this.size = size;
// makes the Object array size (size)
buf = new Object[size];
// creates a new Semaphores saying full is zero
full = new Semaphores(0);
// creates new semaphore saying empty is size(size)
empty = new Semaphores(size);
public void put(Object o) throws InterruptedException
empty.semWait();
synchronized(this)
buf[in] = o;
in=(in+1) % size;
full.semSignal();
System.out.println("put");
public Object get() throws InterruptedException
full.semWait();
Object o;
synchronized(this)
o = buf[out];
buf[out]=null;
out=(out+1) % size;
empty.semSignal();
System.out.println("Get");
return (o);
public class Semaphores implements Semaphore
private int value;
public Semaphores(int value)
this.value = value;
public void semWait()
try
value--;
if( value < 0)
wait();
catch(InterruptedException e)
public void semSignal()
value++;
if( value <= 0)
notify();
}

didn't test the example, but it should work... anyway it's pretty easy to understand.
public class Producer
extends Thread
private Q buffer;
private int cnt;
public Producer(Q buffer, int cnt)
this.buffer = buffer;
this.cnt = cnt;
public Long currentTime()
return new Long(System.currentTime());
public void run()
try
for(int i = 0; i < cnt; i++)
Q.put(currentTime);
Q.put(null);
catch(Exception e)
e.printStackTrace();
public class Consumer
extends Thread
private Q buffer;
public Consumer(Q buffer)
this.buffer = buffer;
public void run()
try
Object o;
while((o = Q.get()) != null)
System.out.println(o);
catch(Exception e)
e.printStackTrace();
public class Test
public static void main(String[] args)
Q buffer = new Q(30);
Producer p = new Producer(buffer,100);
Consumer c = new Consumer(buffer);
p.start();
c.start();
}

Similar Messages

  • Lock and semaphore, what's better method for my case

    Hi all,
    I'm implementing a classic case: a consumption queue with infinite capacity. That's say I have a queue of infinity capacity, a thread to put objects into the queue, another thread take it out. Pseudo code is smth like below:
    void put(Object o) {
    put message into the queue
    if (consume thread is waiting) {
    lock();
    signal();
    unlock();
    void eat() {
    if (queue not empty)
    take object out;
    else
    lock;
    wait for signal from producer;
    wake up and take object out;
    unlock;
    I don't know if I should use semaphore or Lock interface to get the job done. Do you know which one is better in my case? I'm writing an apps which is very sensitive in latency so basically I want the eater to get the object as soon as possible. Any advices?
    Message was edited by:
    principles

    Blocking queue doesn't work for me as it is too slow.
    I don't need to lock the data because one thread
    adds too the tail, one thread consumes the head, so
    why bother?LinkedBlockingQueue allows concurrent access to the head and tail ie it uses two different locks.
    A Lock is a mechanism for mutual exclusion. It generally has a notion of ownership and so the thread that locks must be the thread that unlocks.
    A Semaphore is a resource counter. There are no constraints on which thread signals() after await(). It is only a protocol that you establish in your code that allows it to be used for exclusion.
    A bounded-buffer generally needs two synchronization aids:
    a) an exclusion control to ensure the data structure is not corrupted by concurrent access
    b) a coordination control to allow consumers to block when the buffer is empty, or producers to block when the buffer is full.
    These two can be combined by using "synchronized" methods and wait/notify. Or by using Lock and associated Condition objects. Or you can use "synchronized" blocks or Lock for exclusion, and handle the coordination using a seperate semaphore (which must use some form of internal synchronization too - but perhaps more efficient.)
    If you have a lock-free data structure, such as ConcurrentLinkedQueue then you don't need anything for (a) and so you only need coordination. So try using a Semaphore: put() increments it and take() decrements it.
    But the Semaphore still becomes a serialization point in your code.

  • ASE ODBC driver related questions

    Hi Friends,
    I am using ODBC driver (the framework over ODBC API) to connect and read data from ASE database server on Windows.
    I've few questions about ASE ODBC driver. Can you please guide me.
    1) ASE has a DB option called "textsize" which sets the limit on amount data we can fetch in select statement.
         This option can be set either in the DSN configuration (Advanced->Textsize text field) or by "set textsize <number>" for a session.
         --- While scanning BLOBs (image data types), I want to increase this limit to 512MB in my application. But, I don't want to override the limit if user has Text Size field in the DSN configuration.
        * how can we (programatically) find out the Text Size value set in the DSN configuration?
           --- Is it possible using some ODBC function?
    2) What is the maximum limit on the data returned by SQLGetData function call at a time?
         --- Can we determine the size of the data stored in a column, especially the BLOB (or image) columns using ODBC API?
             or do we need to run the query "select datalength(ColumnName) from tablename" ?
    3) Which the most stable and reliable ODBC Driver Manager for Unix and Linux OSs? Is it unixODBC?
    Many thanks in advance for your clarifications and time.
    Best Regards

    Thanks Paul.
    This is not with SQLGetData. In fact, SQLGetData is working fine for me.
    Getting this problem when executing query and accessing bound buffers as below (pseudo code):
    // Set statement attribute to read by column, number of rows, static cursor and status pointer:
    /*struct StmtAttrs
        SQLINTEGER attr;
        SQLPOINTER valptr;
        SQLINTEGER len;
        SQLHSTMT& stmt = m_stmtHdl.m_hdl;
        StmtAttrs parms[5] = \
        {{SQL_ATTR_ROW_BIND_TYPE, SQL_BIND_BY_COLUMN, 0},
        {SQL_ATTR_CURSOR_TYPE, (SQLPOINTER)SQL_CURSOR_STATIC, 0},
        {SQL_ATTR_ROW_ARRAY_SIZE, (SQLPOINTER)limit, 0},
        {SQL_ATTR_ROW_STATUS_PTR, &m_rowStatus[0], 0},
        {SQL_ATTR_ROWS_FETCHED_PTR, &m_rowsFetched, 0}};
        uint32_t i = 0;
        SQLINTEGER errcode;
        for (; i < 5; ++i)
            bool ret = sqlSetStmtAttr(stmt, parms[i].attr, parms[i].valptr, parms[i].len);
              // error handling code
    //Bind the input buffers for number of columns using SQLBindCol:
    //Prepare the query using SQLPrepare
    // E.g.: select top 2039 numpk,convert(binary(256),ablob) from myccinfo.dbo.bigdata NOLOCK order by numpk asc ;
    // Execute the query with SQLExecute(stmt);
    // Fetch the data using SQLFetchScroll(stmt, SQL_FETCH_NEXT, 0);
    // Iterate thru each column and the bound buffer to read the data

  • Why won't it compile?

    I have four classes. I have been told that i can compile the main one and the rest will compile by them selves. This doesn't seem to work. I can't even compile then seperatley. Any ideas why they won't work?
    Main Code;
    public class TestBoundedBuffer {
    public static void main(String args[] ) {
    // just create the two threads and the bounded buffer
    BoundedBuffer b = new BoundedBuffer();
    ProduceIntegers p = new ProduceIntegers(b);
    ConsumeIntegers c = new ConsumeIntegers(b);
    p.start();
    c.start();
    THREE OTHER CLASSES:
    public class BoundedBuffer {
    private static final int BUFFER_SIZE = 5;
    private int count, in, out;
    private int [] buffer;
    public BoundedBuffer() {
    count = 0;
    in = 0;
    out = 0;
    buffer = new int[BUFFER_SIZE];
    public synchronized void enter(int item) {
    while (count == BUFFER_SIZE) {
    try {
    wait();
         catch (InterruptedException e) { }
    // add an item to the buffer
    count++;
    buffer[in] = item;
    in = (in + 1) % BUFFER_SIZE;
    notify();
    public synchronized int remove() {
    int item;
    while (count == 0) {
    try {
    wait();
         catch (InterruptedException e) { }
    // Remove an item from the buffer
    count--;
    item = buffer[out];
    out = (out + 1) % BUFFER_SIZE;
    notify();
    return item;
    NEXT CLASS:
    public class ProduceIntegers extends Thread {
    private BoundedBuffer buff;
    public ProduceIntegers( BoundedBuffer b ) {
    buff = b;
    public void run() {
    for (int i=0; i<100; i++) {
    System.out.println("Produced " + i);
    buff.enter(i);
    NEXT CLASS:
    public class ConsumeIntegers extends Thread {
    private BoundedBuffer buff;
    public ConsumeIntegers( BoundedBuffer b ) {
    buff = b;
    public void run() {
    for (int i=0; i<100; i++) {
    int item = buff.remove();
    System.out.println( "Consumed " + item);

    1) each of the 4 classes needs to be written in their own .java file, and in the same directory as the main .java file
    or
    2) TestBoundedBuffer.java can contain all the code for the other 3 classes, but you have to remove "public" as the class accessor.
    ie
    public class ProduceIntegers extends Thread {
    becomes
    class ProduceIntegers extends Thread {

  • When not using EJBs can I make BD a Singleton and cache facade instances?

    Hi,
    In an application which does not use EJBs can I make BD(Business Delegate) a singleton?
    I was very sure about doing this but when I tried Google on the same subject the answers were'nt supportive of this but that was in the context of applications which used EJBs. And also item 4 in Effective Java isnt very supportive of caching Objects at the drop of a hat.
    When not using EJBs would it be an unnecessary thing to make BD a singleton and cahce Facade instances in a BD and DAO instances in a Facade? I am planning to use a array based blocking bounded buffer for the purposes of caching. Or would it be better to make both BD and a facade as SIngletons and just cache DAOs in a Facade?
    Any suggestion would be of good help to me.
    Thanks a lot.

    Not sure I understand all your design, but you seem
    to describe an architecture where requests are queued
    and handled serially.Sorry if I messed up while explaining it. No, it will not be handled serially. Since the BD is a singleton multiple threads can pass messages to it simulteanously, a bit like an object of the Action class in Struts. Since I dont see having any synchronized methods in a BD requests will be handled simulteanously.
    The impact on throughput of handling requests
    serially (as opposed to parallelizing them) probably
    outweights by far the cost of instantiating one more
    object per request...Yes, I understand that but as I explained above the reqests wont be handled serially.
    To be more clear, I am thinking of using any one of these two things:
    1) BD(Singleton)-->Facade(Singleton, caches DAOs in a thread safe data structure)
    2)1) BD(Singleton, caches Facade instances in a thread safe data structure)-->Facade(caches DAOs in a thread safe data structure).
    the thread safe data structure I am planning to have is a array based bounded buffer which blocks using wait and notify mechanism.
    Thank you for the reply.

  • ORA-01044: size of buffer bound to variable exceeds maximum

    Hello Oracle Gurus,
    I have a tricky problem.
    I have a stored procedure which has to retun more than 100,000 records. In my stored procedure, I have "TABLE OF VARCHAR2(512) INDEX BY BINARY_INTEGER". It fails when I try to get 80,000 records.
    I get an error "ORA-01044: size 40960000 of buffer bound to variable exceeds maximum 33554432"
    A simple calculation shows that 512*80000=40960000.
    Oracle help suggests to reduce buffer size (i.e., number of records being returned or size of variable).
    But, reducing the number of records returned or reducing the size of variable is not possible because of our product design constraints.
    Are there any other options like changing some database startup parameters to solve this problem?
    Thanks,
    Sridhar

    We are migrating an application running on Oracle 8i to 9i and found the same problem with some of the stored procedures.
    Our setup:
    + Oracle 9.2.0.3.0
    + VB6 Application using OLEDB for Oracle ...
    + MDAC 2.8 msdaora.dll - 2.80.1022.0 (srv03_rtm.030324-2048)
    I am calling a stored procedure from VB like this one:
    {? = call trev.p_planung.GET_ALL_KONTEN(?,?,{resultset 3611, l_konto_id, l_name,l_ro_id, l_beschreibung, l_typ, l_plg_id})}
    If setting the parameter "resultset" beyond a certain limit, I will eventually get this ORA-01044 error. This even happens, if the returned number of records is smaller than what supplied in the resultset parameter (I manually set the "resultset" param in the stored procedure string). E.g.:
    resultset = 1000 -> ORA-06513: PL/SQL: Index der PL/SQL-Tabelle ungültig für Language-Array vom Host
    resultset = 2000 -> OK (actual return: 1043 Recordsets)
    resultset = 3000 -> ORA-01044: Größe 6000000 des Puffers für Variable überschreitet Höchstwert von 4194304
    resultset = 3500 -> ORA-01044: Größe 7000000 des Puffers für Variable überschreitet Höchstwert von 4194304
    ... therefore one record is calculated here 7000000/3500=2000 bytes.
    In Oracle 8i we never had this problem. As this is a huge application using a lot stored procedures, changing all "select" stored procedures to "get data by chunks" (suggestet in some forum threads in OTN) ist not an option.
    Interesting: I can call the stored procedure above with the same parameters as given in VB from e.g. Quest SQL Navigator or sql plus successfully and retrieve all data!
    Is there any other known solution to this problem in Oracle 9i? Is it possible to increase the maximum buffer size (Oracle documentation: ORA-01044 ... Action: Reduce the buffer size.)? What buffer size is meant here - which part in the communication chain supplies this buffer?
    Any help highly appreciated!
    Sincerely,
    Sven Bombach

  • Buffer busy waits

    Hi,
    Version : Oracle 9i
    I am getting buffer busy waits on some tables. Will increase in inittrans & pctfree of those tables reduce buffer busy waits?
    Tablespace is having segment space mgmt auto & extent management local.
    cursor_sharing is similar.
    Users are not experiencing any problem.Is there any problem other than this in statspack report?
    STATSPACK report for
    DB Name DB Id Instance Inst Num Release Cluster Host
    AHD 3712247982 ahd 1 9.2.0.1.0 NO SBGSDPRI
    Snap Id Snap Time Sessions Curs/Sess Comment
    Begin Snap: 20 13-Feb-07 14:48:35 33 9.9
    End Snap: 21 13-Feb-07 15:12:19 34 10.4
    Elapsed: 23.73 (mins)
    Cache Sizes (end)
    ~~~~~~~~~~~~~~~~~
    Buffer Cache: 656M Std Block Size: 8K
    Shared Pool Size: 152M Log Buffer: 768K
    Load Profile
    ~~~~~~~~~~~~ Per Second Per Transaction
    Redo size: 5,960.83 2,761.29
    Logical reads: 2,376.85 1,101.05
    Block changes: 35.48 16.44
    Physical reads: 97.56 45.20
    Physical writes: 1.15 0.53
    User calls: 92.63 42.91
    Parses: 20.00 9.27
    Hard parses: 0.29 0.13
    Sorts: 4.80 2.22
    Logons: 0.01 0.00
    Executes: 23.14 10.72
    Transactions: 2.16
    % Blocks changed per Read: 1.49 Recursive Call %: 14.69
    Rollback per transaction %: 0.00 Rows per Sort: 472.64
    Instance Efficiency Percentages (Target 100%)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Buffer Nowait %: 99.65 Redo NoWait %: 100.00
    Buffer Hit %: 95.90 In-memory Sort %: 100.00
    Library Hit %: 99.15 Soft Parse %: 98.55
    Execute to Parse %: 13.57 Latch Hit %: 99.70
    Parse CPU to Parse Elapsd %: 90.83 % Non-Parse CPU: 96.58
    Shared Pool Statistics Begin End
    Memory Usage %: 84.68 84.76
    % SQL with executions>1: 77.32 79.22
    % Memory for SQL w/exec>1: 90.74 92.81
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~ % Total
    Event Waits Time (s) Ela Time
    CPU time 125 54.23
    db file sequential read 83,110 69 30.14
    db file scattered read 23,196 27 11.75
    buffer busy waits 11,760 6 2.42
    log file sync 3,078 1 .45
    Wait Events for DB: AHD Instance: ahd Snaps: 20 -21
    -> s - second
    -> cs - centisecond - 100th of a second
    -> ms - millisecond - 1000th of a second
    -> us - microsecond - 1000000th of a second
    -> ordered by wait time desc, waits desc (idle events last)
    Avg
    Total Wait wait Waits
    Event Waits Timeouts Time (s) (ms) /txn
    db file sequential read 83,110 0 69 1 27.0
    db file scattered read 23,196 0 27 1 7.5
    buffer busy waits 11,760 0 6 0 3.8
    log file sync 3,078 0 1 0 1.0
    log file parallel write 5,216 4,841 1 0 1.7
    control file sequential read 1,390 0 1 1 0.5
    control file parallel write 462 0 0 1 0.2
    db file parallel write 672 336 0 0 0.2
    latch free 54 24 0 2 0.0
    SQL*Net more data to client 1,026 0 0 0 0.3
    LGWR wait for redo copy 12 0 0 0 0.0
    SQL*Net message from client 131,863 0 22,857 173 42.9
    virtual circuit status 48 48 1,497 31188 0.0
    wakeup time manager 45 45 1,446 32123 0.0
    SQL*Net message to client 131,864 0 0 0 42.9
    SQL*Net more data from clien 27 0 0 0 0.0
    Background Wait Events for DB: AHD Instance: ahd Snaps: 20 -21
    -> ordered by wait time desc, waits desc (idle events last)
    Avg
    Total Wait wait Waits
    Event Waits Timeouts Time (s) (ms) /txn
    log file parallel write 5,216 4,841 1 0 1.7
    control file parallel write 462 0 0 1 0.2
    control file sequential read 184 0 0 2 0.1
    db file parallel write 672 336 0 0 0.2
    log file sync 24 0 0 0 0.0
    db file sequential read 1 0 0 8 0.0
    LGWR wait for redo copy 12 0 0 0 0.0
    rdbms ipc message 12,386 7,345 10,752 868 4.0
    SQL*Net message from client 384 0 1,498 3901 0.1
    smon timer 4 4 1,229 ###### 0.0
    SQL*Net message to client 384 0 0 0 0.1
    SQL ordered by Gets for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Buffer Gets Threshold: 10000
    -> Note that resources reported for PL/SQL includes the resources used by
    all SQL statements called within the PL/SQL code. As individual SQL
    statements are also reported, it is possible and valid for the summed
    total % to exceed 100
    CPU Elapsd
    Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
    1,269,773 52 24,418.7 37.5 27.03 76.26 3370382957
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho WHERE ( call_req.customer = ctct.id AND ctct
    .c_l_id = loc.id AND loc.l_si_id = site.id AND site.z_si_zo_id
    = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.lho_name L
    IKE :"SYS_B_0" AND call_req.active_flag = :"SYS_B_1" ) AND ( (
    381,394 44 8,668.0 11.3 21.30 22.94 3653016280
    SELECT count(*) FROM call_req, ctct, loc, site, z_zo, z_lho WHER
    E ( call_req.customer = ctct.id AND ctct.c_l_id = loc.id AND l
    oc.l_si_id = site.id AND site.z_si_zo_id = z_zo.id AND z_zo.zo
    lhoid = z_lho.id AND z_lho.lho_name LIKE :"SYS_B_0" AND cal
    l_req.active_flag = :"SYS_B_1" ) AND ( ( call_req.group_id != :"
    239,582 10 23,958.2 7.1 5.95 17.44 1650906216
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho WHERE ( call_req.customer = ctct.id AND ctct
    .c_l_id = loc.id AND loc.l_si_id = site.id AND site.z_si_zo_id
    = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.lho_name L
    IKE :"SYS_B_0" ) AND ( ( call_req.group_id != :"SYS_B_1" ) and
    146,016 9 16,224.0 4.3 2.58 12.01 977739309
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.group_id IN ( SELECT id FROM ctct WHERE id = :"SYS_B_00" O
    R id = :"SYS_B_01" OR id = :"SYS_B_02" OR id = :"SYS_B_03" OR id
    = :"SYS_B_04" OR id = :"SYS_B_05" OR id = :"SYS_B_06" OR id = :
    "SYS_B_07" OR id = :"SYS_B_08" OR id = :"SYS_B_09" OR id = :"SYS
    117,569 7 16,795.6 3.5 0.52 0.52 1972089848
    SELECT call_req.open_date, call_req.id FROM call_req, ctct WHERE
    ( call_req.status = :"SYS_B_00" AND call_req.group_id = ctct.id
    AND ctct.c_last_name LIKE :"SYS_B_01" AND ( call_req.assigne
    e IS NULL ) ) AND ( call_req.group_id IN ( SELECT id FROM ctct W
    HERE id = :"SYS_B_02" OR id = :"SYS_B_03" OR id = :"SYS_B_04" OR
    100,276 4 25,069.0 3.0 2.77 6.95 771782876
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho, ctct cn01 WHERE ( call_req.customer = ctct.i
    d AND ctct.c_l_id = loc.id AND loc.l_si_id = site.id AND site
    .z_si_zo_id = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.
    lho_name LIKE :"SYS_B_0" AND call_req.active_flag = :"SYS_B_1"
    95,832 4 23,958.0 2.8 2.13 3.80 1755292198
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho WHERE ( call_req.customer = ctct.id AND ctct
    .c_l_id = loc.id AND loc.l_si_id = site.id AND site.z_si_zo_id
    = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.lho_name L
    IKE :"SYS_B_00" AND call_req.active_flag = :"SYS_B_01" AND ( ca
    86,680 10 8,668.0 2.6 7.69 8.21 3407388950
    SQL ordered by Gets for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Buffer Gets Threshold: 10000
    -> Note that resources reported for PL/SQL includes the resources used by
    all SQL statements called within the PL/SQL code. As individual SQL
    statements are also reported, it is possible and valid for the summed
    total % to exceed 100
    CPU Elapsd
    Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
    SELECT count(*) FROM call_req, ctct, loc, site, z_zo, z_lho WHER
    E ( call_req.customer = ctct.id AND ctct.c_l_id = loc.id AND l
    oc.l_si_id = site.id AND site.z_si_zo_id = z_zo.id AND z_zo.zo
    lhoid = z_lho.id AND z_lho.lho_name LIKE :"SYS_B_0" ) AND (
    ( call_req.group_id != :"SYS_B_1" ) and ( call_req.group_id !=
    71,839 3 23,946.3 2.1 2.73 6.07 1599404397
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo WHERE ( call_req.active_flag = :"SYS_B_0" AND call_r
    eq.customer = ctct.id AND ctct.c_l_id = loc.id AND loc.l_si_id
    = site.id AND site.z_si_zo_id = z_zo.id AND z_zo.zo_name LIK
    E :"SYS_B_1" ) AND ( ( call_req.group_id != :"SYS_B_2" ) and (
    60,507 9 6,723.0 1.8 1.47 1.49 632450130
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho, ctct cn01 WHERE ( call_req.customer = ctct.i
    d AND ctct.c_l_id = loc.id AND loc.l_si_id = site.id AND site
    .z_si_zo_id = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.
    lho_name LIKE :"SYS_B_0" AND call_req.status = :"SYS_B_1" AND
    57,682 191 302.0 1.7 3.48 3.52 484128938
    SELECT cnote.posted_date, cnote.text FROM cnote WHERE ( ( cnote.
    loc_id = :"SYS_B_0" ) OR cnote.loc_id IS NULL ) AND ( cnote.inte
    rnal IS NULL OR cnote.internal != :"SYS_B_1" ) ORDER BY cnote.p
    osted_date DESC
    52,146 3 17,382.0 1.5 1.22 3.60 930247717
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.group_id IN ( SELECT id FROM ctct WHERE id = :"SYS_B_00" O
    R id = :"SYS_B_01" OR id = :"SYS_B_02" OR id = :"SYS_B_03" OR id
    = :"SYS_B_04" OR id = :"SYS_B_05" OR id = :"SYS_B_06" OR id = :
    "SYS_B_07" OR id = :"SYS_B_08" OR id = :"SYS_B_09" OR id = :"SYS
    43,534 4 10,883.5 1.3 2.05 2.10 2363733805
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho, prob_ctg, ctct cn01 WHERE ( call_req.custome
    r = ctct.id AND ctct.c_l_id = loc.id AND loc.l_si_id = site.id
    AND site.z_si_zo_id = z_zo.id AND z_zo.zo_lho_id = z_lho.id A
    ND z_lho.lho_name LIKE :"SYS_B_00" AND call_req.active_flag =
    SQL ordered by Reads for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Disk Reads Threshold: 1000
    CPU Elapsd
    Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
    81,653 52 1,570.3 58.8 27.03 76.26 3370382957
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho WHERE ( call_req.customer = ctct.id AND ctct
    .c_l_id = loc.id AND loc.l_si_id = site.id AND site.z_si_zo_id
    = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.lho_name L
    IKE :"SYS_B_0" AND call_req.active_flag = :"SYS_B_1" ) AND ( (
    15,402 10 1,540.2 11.1 5.95 17.44 1650906216
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho WHERE ( call_req.customer = ctct.id AND ctct
    .c_l_id = loc.id AND loc.l_si_id = site.id AND site.z_si_zo_id
    = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.lho_name L
    IKE :"SYS_B_0" ) AND ( ( call_req.group_id != :"SYS_B_1" ) and
    13,371 9 1,485.7 9.6 2.58 12.01 977739309
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.group_id IN ( SELECT id FROM ctct WHERE id = :"SYS_B_00" O
    R id = :"SYS_B_01" OR id = :"SYS_B_02" OR id = :"SYS_B_03" OR id
    = :"SYS_B_04" OR id = :"SYS_B_05" OR id = :"SYS_B_06" OR id = :
    "SYS_B_07" OR id = :"SYS_B_08" OR id = :"SYS_B_09" OR id = :"SYS
    6,157 4 1,539.3 4.4 2.77 6.95 771782876
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho, ctct cn01 WHERE ( call_req.customer = ctct.i
    d AND ctct.c_l_id = loc.id AND loc.l_si_id = site.id AND site
    .z_si_zo_id = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.
    lho_name LIKE :"SYS_B_0" AND call_req.active_flag = :"SYS_B_1"
    6,152 4 1,538.0 4.4 2.13 3.80 1755292198
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho WHERE ( call_req.customer = ctct.id AND ctct
    .c_l_id = loc.id AND loc.l_si_id = site.id AND site.z_si_zo_id
    = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.lho_name L
    IKE :"SYS_B_00" AND call_req.active_flag = :"SYS_B_01" AND ( ca
    4,622 3 1,540.7 3.3 2.73 6.07 1599404397
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo WHERE ( call_req.active_flag = :"SYS_B_0" AND call_r
    eq.customer = ctct.id AND ctct.c_l_id = loc.id AND loc.l_si_id
    = site.id AND site.z_si_zo_id = z_zo.id AND z_zo.zo_name LIK
    E :"SYS_B_1" ) AND ( ( call_req.group_id != :"SYS_B_2" ) and (
    2,982 3 994.0 2.1 1.22 3.60 930247717
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.group_id IN ( SELECT id FROM ctct WHERE id = :"SYS_B_00" O
    R id = :"SYS_B_01" OR id = :"SYS_B_02" OR id = :"SYS_B_03" OR id
    = :"SYS_B_04" OR id = :"SYS_B_05" OR id = :"SYS_B_06" OR id = :
    "SYS_B_07" OR id = :"SYS_B_08" OR id = :"SYS_B_09" OR id = :"SYS
    1,566 44 35.6 1.1 21.30 22.94 3653016280
    SELECT count(*) FROM call_req, ctct, loc, site, z_zo, z_lho WHER
    E ( call_req.customer = ctct.id AND ctct.c_l_id = loc.id AND l
    oc.l_si_id = site.id AND site.z_si_zo_id = z_zo.id AND z_zo.zo
    _lho_id = z_lho.id AND z_lho.lho_name LIKE :"SYS_B_0" AND cal
    SQL ordered by Reads for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Disk Reads Threshold: 1000
    CPU Elapsd
    Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value
    l_req.active_flag = :"SYS_B_1" ) AND ( ( call_req.group_id != :"
    1,540 1 1,540.0 1.1 0.56 1.64 2582352638
    SELECT call_req.open_date, call_req.id FROM call_req, ctct, loc,
    site, z_zo, z_lho WHERE ( call_req.customer = ctct.id AND ctct
    .c_l_id = loc.id AND loc.l_si_id = site.id AND site.z_si_zo_id
    = z_zo.id AND z_zo.zo_lho_id = z_lho.id AND z_lho.lho_name L
    IKE :"SYS_B_0" AND call_req.active_flag = :"SYS_B_1" AND ( call
    1,106 2 553.0 0.8 1.25 3.01 548248759
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( ( c
    all_req.assignee IS NOT NULL OR call_req.group_id IS NOT NULL )
    AND ( call_req.type = :"SYS_B_00" OR call_req.type = :"SYS_B_01"
    OR call_req.type IS NULL ) AND call_req.active_flag = :"SYS_B_0
    2" ) AND ( call_req.group_id IN ( SELECT id FROM ctct WHERE id =
    875 2 437.5 0.6 0.94 2.95 1195215130
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( ( c
    all_req.assignee IS NULL AND call_req.group_id IS NULL ) AND ( c
    all_req.type = :"SYS_B_00" OR call_req.type = :"SYS_B_01" OR cal
    l_req.type IS NULL ) AND call_req.active_flag = :"SYS_B_02" ) AN
    D ( call_req.group_id IN ( SELECT id FROM ctct WHERE id = :"SYS_
    473 1 473.0 0.3 1.80 5.57 3376831664
    BEGIN statspack.snap; END;
    357 10 35.7 0.3 7.69 8.21 3407388950
    SELECT count(*) FROM call_req, ctct, loc, site, z_zo, z_lho WHER
    E ( call_req.customer = ctct.id AND ctct.c_l_id = loc.id AND l
    oc.l_si_id = site.id AND site.z_si_zo_id = z_zo.id AND z_zo.zo
    _lho_id = z_lho.id AND z_lho.lho_name LIKE :"SYS_B_0" ) AND (
    ( call_req.group_id != :"SYS_B_1" ) and ( call_req.group_id !=
    177 5 35.4 0.1 1.81 2.08 920690862
    SELECT ctct.c_last_name, ctct.c_first_name, ctct.c_middle_name,
    ctct.c_public_phone, ctct.c_contact_num, ctct.c_org_id, ctct.c_l
    _id, ctct.id FROM ctct, ct_ty WHERE ( ctct.c_ctp_id = ct_ty.id A
    SQL ordered by Executions for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Executions Threshold: 100
    CPU per Elap per
    Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
    7,741 7,738 1.0 0.00 0.00 1060224445
    SELECT grpmem.group_id , grpmem.manager_flag , grpmem.member , g
    rpmem.notify_flag FROM grpmem WHERE grpmem.id = :"SYS_B_0"
    2,459 2,459 1.0 0.00 0.00 3026674282
    SELECT act_log.action_desc , act_log.analyst , act_log.call_req_
    id , act_log.description , act_log.internal , act_log.knowledge_
    session , act_log.knowledge_tool , act_log.last_mod_dt , act_log
    .persid , act_log.system_time , act_log.time_spent , act_log.tim
    e_stamp , act_log.type FROM act_log WHERE act_log.id = :"SYS_B_0
    1,449 1,449 1.0 0.00 0.00 3299996875
    SELECT att_evt.cancel_time , att_evt.event_tmpl , att_evt.fire_t
    ime , att_evt.first_fire_time , att_evt.group_name , att_evt.las
    t_mod_dt , att_evt.num_fire , att_evt.obj_id , att_evt.persid ,
    att_evt.start_time , att_evt.status_flag , att_evt.user_smag , a
    tt_evt.wait_time FROM att_evt WHERE att_evt.id = :"SYS_B_0"
    1,336 1,336 1.0 0.00 0.00 3034229510
    SELECT cr_prp.description , cr_prp.label , cr_prp.last_mod_by ,
    cr_prp.last_mod_dt , cr_prp.owning_cr , cr_prp.persid , cr_prp.r
    equired , cr_prp.sample , cr_prp.sequence , cr_prp.value FROM cr
    prp WHERE crprp.id = :"SYS_B_0"
    968 968 1.0 0.00 0.00 3460529092
    select t.name, (select owner_instance from sys.aq$_queue_table_
    affinities where table_objno = t.objno) from system.aq$_queue
    _tables t where t.name = :1 and t.schema = :2 for update skip lo
    cked
    808 808 1.0 0.00 0.00 3346182257
    SELECT call_req.active_flag , call_req.affected_rc , call_req.as
    signee , call_req.call_back_date , call_req.call_back_flag , cal
    l_req.category , call_req.change , call_req.charge_back_id , cal
    l_req.close_date , call_req.created_via , call_req.customer , ca
    ll_req.description , call_req.event_token , call_req.extern_ref
    720 720 1.0 0.00 0.00 140137628
    Module: Spotlight On Oracle, classic
    SELECT DECODE(:b1,'BL','Buffer hash table instance lock','CF','C
    ontrol file schema global enqueue lock','CI','Cross-instance fun
    ction invocation instance lock','CS','Control file schema global
    enqueue lock','CU','Cursor bind lock','DF','Data file instance
    lock','DL','Direct loader parallel index create','DM','Mount/sta
    718 718 1.0 0.00 0.00 4078915446
    SELECT options.app_name, options.sym, options.id FROM options WH
    ERE ( options.sym = :"SYS_B_0" ) AND ( options.del = :"SYS_B_1"
    ) ORDER BY options.app_name
    634 634 1.0 0.00 0.00 1199698393
    SELECT loc.alias , loc.del , loc.l_addr1 , loc.l_addr2 , loc.l_a
    ddr3 , loc.l_addr4 , loc.l_addr5 , loc.l_addr6 , loc.l_details ,
    loc.l_name , loc.l_si_id , loc.last_mod , loc.persid , loc.z_cb
    SQL ordered by Executions for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Executions Threshold: 100
    CPU per Elap per
    Executions Rows Processed Rows per Exec Exec (s) Exec (s) Hash Value
    l1 , loc.zcb_l2 , loc.z_cb_l3 , loc.z_l_code , loc.z_ro_code ,
    loc.z_zo_code FROM loc WHERE loc.id = :"SYS_B_0"
    531 208 0.4 0.00 0.00 800192270
    SELECT lrel.l_persid, lrel.l_attr, lrel.l_sql, lrel.r_persid, lr
    el.r_attr, lrel.r_sql, lrel.id FROM lrel WHERE lrel.l_persid = :
    "SYS_B_0" and lrel.l_attr = :"SYS_B_1" ORDER BY lrel.l_persid ,
    lrel.l_attr , lrel.l_sql
    438 438 1.0 0.00 0.00 1317334374
    Select PROPERTY_NAME,PROPERTY_VALUE,PROPERTY_TYPE from CI_PROPER
    TIES where PROPERTY_NAME=:"SYS_B_0"
    429 8,151 19.0 0.00 0.00 1976028604
    SELECT cr_stat.sym, cr_stat.code FROM cr_stat WHERE cr_stat.del
    = :"SYS_B_0" ORDER BY cr_stat.sym
    383 383 1.0 0.00 0.00 2599265718
    DELETE FROM anima WHERE id = :"SYS_B_0"
    359 359 1.0 0.00 0.00 1719939797
    DELETE FROM att_evt WHERE id = :"SYS_B_0"
    337 337 1.0 0.00 0.00 3069423312
    SELECT anima.a_act , anima.a_delta , anima.a_lock , anima.a_name
    , anima.a_org , anima.a_string , anima.a_time , anima.t_method
    , anima.t_persid , anima.t_type FROM anima WHERE anima.id = :"SY
    S_B_0"
    332 331 1.0 0.00 0.00 1549656119
    SELECT crsq.id FROM crsq WHERE crsq.code = :"SYS_B_0"
    315 315 1.0 0.00 0.00 1734736338
    UPDATE cr_prp SET last_mod_by = :"SYS_B_0" , last_mod_dt = :"SYS
    _B_1" WHERE id = :"SYS_B_2"
    308 1,580 5.1 0.00 0.00 618252548
    SELECT cr_prp.sequence, cr_prp.id FROM cr_prp WHERE cr_prp.ownin
    g_cr = :"SYS_B_0" ORDER BY cr_prp.sequence
    279 1,716 6.2 0.00 0.00 749386807
    SELECT call_req.open_date, call_req.id FROM call_req WHERE call_
    req.customer = :"SYS_B_0" AND call_req.active_flag = :"SYS_B_1"
    ORDER BY call_req.open_date DESC
    277 277 1.0 0.00 0.00 321149819
    INSERT INTO anima ( a_act, a_delta, a_lock, a_name, a_org, a_str
    ing, a_time, t_method, t_persid, t_type, id ) VALUES ( :"SYS_B_
    0" , :"SYS_B_1" , :"SYS_B_2" , :"SYS_B_3" , :"SYS_B_4" , nu
    ll , :"SYS_B_5" , :"SYS_B_6" , :"SYS_B_7" , :"SYS_B_8" , :"
    SQL ordered by Parse Calls for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Parse Calls Threshold: 1000
    % Total
    Parse Calls Executions Parses Hash Value
    7,733 7,741 27.15 1060224445
    SELECT grpmem.group_id , grpmem.manager_flag , grpmem.member , g
    rpmem.notify_flag FROM grpmem WHERE grpmem.id = :"SYS_B_0"
    2,459 2,459 8.63 3026674282
    SELECT act_log.action_desc , act_log.analyst , act_log.call_req_
    id , act_log.description , act_log.internal , act_log.knowledge_
    session , act_log.knowledge_tool , act_log.last_mod_dt , act_log
    .persid , act_log.system_time , act_log.time_spent , act_log.tim
    e_stamp , act_log.type FROM act_log WHERE act_log.id = :"SYS_B_0
    1,449 1,449 5.09 3299996875
    SELECT att_evt.cancel_time , att_evt.event_tmpl , att_evt.fire_t
    ime , att_evt.first_fire_time , att_evt.group_name , att_evt.las
    t_mod_dt , att_evt.num_fire , att_evt.obj_id , att_evt.persid ,
    att_evt.start_time , att_evt.status_flag , att_evt.user_smag , a
    tt_evt.wait_time FROM att_evt WHERE att_evt.id = :"SYS_B_0"
    1,336 1,336 4.69 3034229510
    SELECT cr_prp.description , cr_prp.label , cr_prp.last_mod_by ,
    cr_prp.last_mod_dt , cr_prp.owning_cr , cr_prp.persid , cr_prp.r
    equired , cr_prp.sample , cr_prp.sequence , cr_prp.value FROM cr
    prp WHERE crprp.id = :"SYS_B_0"
    808 808 2.84 3346182257
    SELECT call_req.active_flag , call_req.affected_rc , call_req.as
    signee , call_req.call_back_date , call_req.call_back_flag , cal
    l_req.category , call_req.change , call_req.charge_back_id , cal
    l_req.close_date , call_req.created_via , call_req.customer , ca
    ll_req.description , call_req.event_token , call_req.extern_ref
    718 718 2.52 4078915446
    SELECT options.app_name, options.sym, options.id FROM options WH
    ERE ( options.sym = :"SYS_B_0" ) AND ( options.del = :"SYS_B_1"
    ) ORDER BY options.app_name
    634 634 2.23 1199698393
    SELECT loc.alias , loc.del , loc.l_addr1 , loc.l_addr2 , loc.l_a
    ddr3 , loc.l_addr4 , loc.l_addr5 , loc.l_addr6 , loc.l_details ,
    loc.l_name , loc.l_si_id , loc.last_mod , loc.persid , loc.z_cb
    l1 , loc.zcb_l2 , loc.z_cb_l3 , loc.z_l_code , loc.z_ro_code ,
    loc.z_zo_code FROM loc WHERE loc.id = :"SYS_B_0"
    531 531 1.86 800192270
    SELECT lrel.l_persid, lrel.l_attr, lrel.l_sql, lrel.r_persid, lr
    el.r_attr, lrel.r_sql, lrel.id FROM lrel WHERE lrel.l_persid = :
    "SYS_B_0" and lrel.l_attr = :"SYS_B_1" ORDER BY lrel.l_persid ,
    lrel.l_attr , lrel.l_sql
    438 438 1.54 1317334374
    Select PROPERTY_NAME,PROPERTY_VALUE,PROPERTY_TYPE from CI_PROPER
    TIES where PROPERTY_NAME=:"SYS_B_0"
    429 429 1.51 1976028604
    SQL ordered by Parse Calls for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Parse Calls Threshold: 1000
    % Total
    Parse Calls Executions Parses Hash Value
    SELECT cr_stat.sym, cr_stat.code FROM cr_stat WHERE cr_stat.del
    = :"SYS_B_0" ORDER BY cr_stat.sym
    383 383 1.34 2599265718
    DELETE FROM anima WHERE id = :"SYS_B_0"
    359 359 1.26 1719939797
    DELETE FROM att_evt WHERE id = :"SYS_B_0"
    337 337 1.18 3069423312
    SELECT anima.a_act , anima.a_delta , anima.a_lock , anima.a_name
    , anima.a_org , anima.a_string , anima.a_time , anima.t_method
    , anima.t_persid , anima.t_type FROM anima WHERE anima.id = :"SY
    S_B_0"
    330 332 1.16 1549656119
    SELECT crsq.id FROM crsq WHERE crsq.code = :"SYS_B_0"
    315 315 1.11 1734736338
    UPDATE cr_prp SET last_mod_by = :"SYS_B_0" , last_mod_dt = :"SYS
    _B_1" WHERE id = :"SYS_B_2"
    308 308 1.08 618252548
    SELECT cr_prp.sequence, cr_prp.id FROM cr_prp WHERE cr_prp.ownin
    g_cr = :"SYS_B_0" ORDER BY cr_prp.sequence
    277 277 0.97 321149819
    INSERT INTO anima ( a_act, a_delta, a_lock, a_name, a_org, a_str
    ing, a_time, t_method, t_persid, t_type, id ) VALUES ( :"SYS_B_
    0" , :"SYS_B_1" , :"SYS_B_2" , :"SYS_B_3" , :"SYS_B_4" , nu
    ll , :"SYS_B_5" , :"SYS_B_6" , :"SYS_B_7" , :"SYS_B_8" , :"
    SYS_B_9" )
    277 279 0.97 749386807
    SELECT call_req.open_date, call_req.id FROM call_req WHERE call_
    req.customer = :"SYS_B_0" AND call_req.active_flag = :"SYS_B_1"
    ORDER BY call_req.open_date DESC
    275 275 0.97 2816620377
    INSERT INTO att_evt ( cancel_time, event_tmpl, fire_time, first_
    fire_time, group_name, last_mod_dt, num_fire, obj_id, persid, st
    art_time, status_flag, user_smag, wait_time, id ) VALUES ( null
    , :"SYS_B_00" , :"SYS_B_01" , :"SYS_B_02" , :"SYS_B_03" ,
    :"SYS_B_04" , :"SYS_B_05" , :"SYS_B_06" , :"SYS_B_07" , :"SY
    269 269 0.94 3605948696
    SELECT slatpl.del , slatpl.elapsed , slatpl.event , slatpl.last_
    mod_by , slatpl.last_mod_dt , slatpl.object_type , slatpl.persid
    , slatpl.service_type , slatpl.sym FROM slatpl WHERE slatpl.id
    SQL ordered by Sharable Memory for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Sharable Memory Threshold: 1048576
    Sharable Mem (b) Executions % Total Hash Value
    23,912,520 231 13.6 139964375
    SELECT anima.a_name, anima.t_persid, anima.t_method, anima.id FR
    OM anima WHERE anima.t_persid LIKE :"SYS_B_0" ORDER BY anima.
    a_name
    18,314,292 26 10.4 380755726
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.ref_num LIKE :"SYS_B_00" ) AND ( call_req.group_id IN (
    SELECT id FROM ctct WHERE id = :"SYS_B_01" OR id = :"SYS_B_02" O
    R id = :"SYS_B_03" OR id = :"SYS_B_04" OR id = :"SYS_B_05" OR id
    = :"SYS_B_06" OR id = :"SYS_B_07" OR id = :"SYS_B_08" OR id = :
    12,365,844 107 7.0 1877135209
    SELECT chg.open_date, chg.chg_ref_num, chg.id FROM chg WHERE ( c
    hg.affected_contact = :"SYS_B_0" and chg.active_flag = :"SYS_B_1
    " ) AND ( chg.affected_contact = :"SYS_B_2" ) ORDER BY chg.open
    _date DESC
    2,692,852 17 1.5 4181730075
    SELECT ctct.c_last_name, ctct.c_first_name, ctct.c_middle_name,
    ctct.c_public_phone, ctct.c_contact_num, ctct.c_org_id, ctct.c_l
    _id, ctct.id FROM ctct, ct_ty WHERE ( ctct.c_last_name LIKE :"
    SYS_B_0" AND ctct.c_ctp_id = ct_ty.id AND ct_ty.id = :"SYS_B_1"
    AND ctct.del = :"SYS_B_2" AND ctct.id IN ( SELECT member FROM g
    2,048,083 10 1.2 153455816
    SELECT ctct.c_last_name, ctct.c_first_name, ctct.c_middle_name,
    ctct.c_public_phone, ctct.c_contact_num, ctct.c_org_id, ctct.c_l
    _id, ctct.id FROM ctct WHERE ( ctct.c_last_name LIKE :"SYS_B_0
    " ) AND ( ( ctct.del = :"SYS_B_1" ) AND ( ctct.c_ctp_id = :"SYS_
    B_2" AND ctct.alias = -:"SYS_B_3" ) ) ORDER BY ctct.c_last_name
    1,653,628 3 0.9 1096419296
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.ref_num LIKE :"SYS_B_0" ) AND ( ( call_req.group_id IN (
    SELECT group_id FROM grpmem WHERE member = :"SYS_B_1" ) ) or ca
    ll_req.assignee = :"SYS_B_2" or call_req.customer = :"SYS_B_3" )
    ORDER BY call_req.open_date DESC
    SQL ordered by Version Count for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Version Count Threshold: 20
    Version
    Count Executions Hash Value
    349 231 139964375
    SELECT anima.a_name, anima.t_persid, anima.t_method, anima.id FR
    OM anima WHERE anima.t_persid LIKE :"SYS_B_0" ORDER BY anima.
    a_name
    196 107 1877135209
    SELECT chg.open_date, chg.chg_ref_num, chg.id FROM chg WHERE ( c
    hg.affected_contact = :"SYS_B_0" and chg.active_flag = :"SYS_B_1
    " ) AND ( chg.affected_contact = :"SYS_B_2" ) ORDER BY chg.open
    _date DESC
    127 26 380755726
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.ref_num LIKE :"SYS_B_00" ) AND ( call_req.group_id IN (
    SELECT id FROM ctct WHERE id = :"SYS_B_01" OR id = :"SYS_B_02" O
    R id = :"SYS_B_03" OR id = :"SYS_B_04" OR id = :"SYS_B_05" OR id
    = :"SYS_B_06" OR id = :"SYS_B_07" OR id = :"SYS_B_08" OR id = :
    36 17 4181730075
    SELECT ctct.c_last_name, ctct.c_first_name, ctct.c_middle_name,
    ctct.c_public_phone, ctct.c_contact_num, ctct.c_org_id, ctct.c_l
    _id, ctct.id FROM ctct, ct_ty WHERE ( ctct.c_last_name LIKE :"
    SYS_B_0" AND ctct.c_ctp_id = ct_ty.id AND ct_ty.id = :"SYS_B_1"
    AND ctct.del = :"SYS_B_2" AND ctct.id IN ( SELECT member FROM g
    33 10 153455816
    SELECT ctct.c_last_name, ctct.c_first_name, ctct.c_middle_name,
    ctct.c_public_phone, ctct.c_contact_num, ctct.c_org_id, ctct.c_l
    _id, ctct.id FROM ctct WHERE ( ctct.c_last_name LIKE :"SYS_B_0
    " ) AND ( ( ctct.del = :"SYS_B_1" ) AND ( ctct.c_ctp_id = :"SYS_
    B_2" AND ctct.alias = -:"SYS_B_3" ) ) ORDER BY ctct.c_last_name
    26 3 1096419296
    SELECT call_req.open_date, call_req.id FROM call_req WHERE ( cal
    l_req.ref_num LIKE :"SYS_B_0" ) AND ( ( call_req.group_id IN (
    SELECT group_id FROM grpmem WHERE member = :"SYS_B_1" ) ) or ca
    ll_req.assignee = :"SYS_B_2" or call_req.customer = :"SYS_B_3" )
    ORDER BY call_req.open_date DESC
    Instance Activity Stats for DB: AHD Instance: ahd Snaps: 20 -21
    Statistic Total per Second per Trans
    CPU used by this session 12,450 8.7 4.1
    CPU used when call started 12,515 8.8 4.1
    CR blocks created 53 0.0 0.0
    DBWR buffers scanned 0 0.0 0.0
    DBWR checkpoint buffers written 1,644 1.2 0.5
    DBWR checkpoints 0 0.0 0.0
    DBWR free buffers found 0 0.0 0.0
    DBWR lru scans 0 0.0 0.0
    DBWR make free requests 0 0.0 0.0
    DBWR summed scan depth 0 0.0 0.0
    DBWR transaction table writes 10 0.0 0.0
    DBWR undo block writes 238 0.2 0.1
    SQL*Net roundtrips to/from client 131,833 92.6 42.9
    active txn count during cleanout 130 0.1 0.0
    background checkpoints completed 0 0.0 0.0
    background checkpoints started 0 0.0 0.0
    background timeouts 2,161 1.5 0.7
    branch node splits 0 0.0 0.0
    buffer is not pinned count 3,147,925 2,210.6 1,024.1
    buffer is pinned count 638,155 448.1 207.6
    bytes received via SQL*Net from c 20,116,711 14,126.9 6,544.2
    bytes sent via SQL*Net to client 33,961,169 23,849.1 11,047.9
    calls to get snapshot scn: kcmgss 76,324 53.6 24.8
    calls to kcmgas 6,266 4.4 2.0
    calls to kcmgcs 110 0.1 0.0
    change write time 25 0.0 0.0
    cleanout - number of ktugct calls 145 0.1 0.1
    cleanouts and rollbacks - consist 0 0.0 0.0
    cleanouts only - consistent read 0 0.0 0.0
    cluster key scan block gets 1,361 1.0 0.4
    cluster key scans 1,146 0.8 0.4
    commit cleanout failures: buffer 0 0.0 0.0
    commit cleanout failures: callbac 3 0.0 0.0
    commit cleanout failures: cannot 0 0.0 0.0
    commit cleanouts 14,837 10.4 4.8
    commit cleanouts successfully com 14,834 10.4 4.8
    commit txn count during cleanout 106 0.1 0.0
    consistent changes 2,123 1.5 0.7
    consistent gets 3,336,864 2,343.3 1,085.5
    consistent gets - examination 197,061 138.4 64.1
    cursor authentications 71 0.1 0.0
    data blocks consistent reads - un 2,123 1.5 0.7
    db block changes 50,525 35.5 16.4
    db block gets 47,774 33.6 15.5
    deferred (CURRENT) block cleanout 7,940 5.6 2.6
    dirty buffers inspected 0 0.0 0.0
    enqueue conversions 29 0.0 0.0
    enqueue releases 14,210 10.0 4.6
    enqueue requests 14,210 10.0 4.6
    enqueue waits 0 0.0 0.0
    execute count 32,955 23.1 10.7
    free buffer inspected 16 0.0 0.0
    free buffer requested 140,283 98.5 45.6
    hot buffers moved to head of LRU 950 0.7 0.3
    immediate (CR) block cleanout app 0 0.0 0.0
    immediate (CURRENT) block cleanou 2,804 2.0 0.9
    Instance Activity Stats for DB: AHD Instance: ahd Snaps: 20 -21
    Statistic Total per Second per Trans
    index fast full scans (full) 157 0.1 0.1
    index fetch by key 70,378 49.4 22.9
    index scans kdiixs1 28,181 19.8 9.2
    leaf node 90-10 splits 10 0.0 0.0
    leaf node splits 76 0.1 0.0
    logons cumulative 11 0.0 0.0
    messages received 5,452 3.8 1.8
    messages sent 5,452 3.8 1.8
    no buffer to keep pinned count 0 0.0 0.0
    no work - consistent read gets 3,085,481 2,166.8 1,003.7
    opened cursors cumulative 4,561 3.2 1.5
    parse count (failures) 0 0.0 0.0
    parse count (hard) 412 0.3 0.1
    parse count (total) 28,484 20.0 9.3
    parse time cpu 426 0.3 0.1
    parse time elapsed 469 0.3 0.2
    physical reads 138,930 97.6 45.2
    physical reads direct 0 0.0 0.0
    physical writes 1,644 1.2 0.5
    physical writes direct 0 0.0 0.0
    physical writes non checkpoint 232 0.2 0.1
    pinned buffers inspected 7 0.0 0.0
    prefetched blocks 32,732 23.0 10.7
    process last non-idle time 12,884,949,552 9,048,419.6 4,191,590.6
    recursive calls 22,718 16.0 7.4
    recursive cpu usage 226 0.2 0.1
    redo blocks written 19,178 13.5 6.2
    redo buffer allocation retries 0 0.0 0.0
    redo entries 27,265 19.2 8.9
    redo log space requests 0 0.0 0.0
    redo log space wait time 0 0.0 0.0
    redo size 8,488,216 5,960.8 2,761.3
    redo synch time 74 0.1 0.0
    redo synch writes 3,078 2.2 1.0
    redo wastage 1,040,788 730.9 338.6
    redo write time 75 0.1 0.0
    redo writer latching time 0 0.0 0.0
    redo writes 5,216 3.7 1.7
    rollback changes - undo records a 6 0.0 0.0
    rollbacks only - consistent read 233 0.2 0.1
    rows fetched via callback 54,581 38.3 17.8
    session connect time 12,884,949,552 9,048,419.6 4,191,590.6
    session logical reads 3,384,638 2,376.9 1,101.1
    session pga memory max 6,168,536 4,331.8 2,006.7
    session uga memory 599,984 421.3 195.2
    session uga memory max 9,592,864 6,736.6 3,120.7
    shared hash latch upgrades - no w 27,737 19.5 9.0
    shared hash latch upgrades - wait 84 0.1 0.0
    sorts (disk) 0 0.0 0.0
    sorts (memory) 6,834 4.8 2.2
    sorts (rows) 3,229,994 2,268.3 1,050.8
    summed dirty queue length 0 0.0 0.0
    switch current to new buffer 990 0.7 0.3
    table fetch by rowid 474,673 333.3 154.4
    table fetch continued row 8 0.0 0.0
    table scan blocks gotten 2,751,375 1,932.2 895.1
    Instance Activity Stats for DB: AHD Instance: ahd Snaps: 20 -21
    Statistic Total per Second per Trans
    table scan rows gotten 55,928,200 39,275.4 18,194.0
    table scans (long tables) 245 0.2 0.1
    table scans (short tables) 3,383 2.4 1.1
    transaction rollbacks 3 0.0 0.0
    transaction tables consistent rea 0 0.0 0.0
    transaction tables consistent rea 0 0.0 0.0
    user calls 131,904 92.6 42.9
    user commits 3,074 2.2 1.0
    user rollbacks 0 0.0 0.0
    workarea executions - onepass 0 0.0 0.0
    workarea executions - optimal 8,438 5.9 2.7
    write clones created in backgroun 0 0.0 0.0
    write clones created in foregroun 0 0.0 0.0
    Tablespace IO Stats for DB: AHD Instance: ahd Snaps: 20 -21
    ->ordered by IOs (Reads + Writes) desc
    Tablespace
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    AHD1_DATA
    105,869 74 0.9 1.3 828 1 11,740 0.5
    AHD1_IDX
    38 0 7.4 1.0 563 0 0 0.0
    PERFSTAT
    372 0 3.6 1.0 0 0 0 0.0
    UNDOTBS1
    0 0 0.0 248 0 0 0.0
    SYSTEM
    6 0 6.7 1.0 5 0 0 0.0
    File IO Stats for DB: AHD Instance: ahd Snaps: 20 -21
    ->ordered by Tablespace, File
    Tablespace Filename
    Av Av Av Av Buffer Av Buf
    Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
    AHD1_DATA E:\ORACLE\ORADATA\AHD\AHD1_DATA.ORA
    53,454 38 0.9 1.3 432 0 5,949 0.5
    E:\ORACLE\ORADATA\AHD\AHD2_DATA.ORA
    52,415 37 0.9 1.3 396 0 5,791 0.5
    AHD1_IDX E:\ORACLE\ORADATA\AHD\AHD1_IDX.ORA
    38 0 7.4 1.0 563 0 0
    PERFSTAT E:\ORACLE\ORADATA\AHD\PERFSTAT.ORA
    372 0 3.6 1.0 0 0 0
    SYSTEM E:\ORACLE\ORADATA\AHD\SYSTEM01.DBF
    6 0 6.7 1.0 5 0 0
    UNDOTBS1 E:\ORACLE\ORADATA\AHD\UNDOTBS01.DBF
    0 0 248 0 0
    Buffer Pool Statistics for DB: AHD Instance: ahd Snaps: 20 -21
    -> Standard block size Pools D: default, K: keep, R: recycle
    -> Default Pools for other block sizes: 2k, 4k, 8k, 16k, 32k
    Free Write Buffer
    Number of Cache Buffer Physical Physical Buffer Complete Busy
    P Buffers Hit % Gets Reads Writes Waits Waits Waits
    D 82,082 97.8 6,327,007 138,971 1,644 0 0 11,760
    Instance Recovery Stats for DB: AHD Instance: ahd Snaps: 20 -21
    -> B: Begin snapshot, E: End snapshot
    Targt Estd Log File Log Ckpt Log Ckpt
    MTTR MTTR Recovery Actual Target Size Timeout Interval
    (s) (s) Estd IOs Redo Blks Redo Blks Redo Blks Redo Blks Redo Blks
    B 75 26 2354 18057 17632 184320 17632
    E 75 27 2967 23569 22952 184320 22952
    Buffer Pool Advisory for DB: AHD Instance: ahd End Snap: 21
    -> Only rows with estimated physical reads >0 are displayed
    -> ordered by Block Size, Buffers For Estimate
    Size for Size Buffers for Est Physical Estimated
    P Estimate (M) Factr Estimate Read Factor Physical Reads
    D 64 .1 8,008 261.38 4,357,231,706
    D 128 .2 16,016 207.44 3,458,029,385
    D 192 .3 24,024 143.22 2,387,570,894
    D 256 .4 32,032 2.29 38,243,018
    D 320 .5 40,040 1.89 31,541,321
    D 384 .6 48,048 1.74 29,023,767
    D 448 .7 56,056 1.69 28,232,064
    D 512 .8 64,064 1.20 19,951,481
    D 576 .9 72,072 1.11 18,529,925
    D 640 1.0 80,080 1.04 17,367,752
    D 656 1.0 82,082 1.00 16,670,129
    D 704 1.1 88,088 0.97 16,124,256
    D 768 1.2 96,096 0.91 15,155,822
    D 832 1.3 104,104 0.90 15,055,099
    D 896 1.4 112,112 0.89 14,839,567
    D 960 1.5 120,120 0.88 14,668,682
    D 1,024 1.6 128,128 0.87 14,479,726
    D 1,088 1.7 136,136 0.84 13,988,866
    D 1,152 1.8 144,144 0.70 11,723,518
    D 1,216 1.9 152,152 0.61 10,156,857
    D 1,280 2.0 160,160 0.20 3,281,883
    Buffer wait Statistics for DB: AHD Instance: ahd Snaps: 20 -21
    -> ordered by wait time desc, waits desc
    Tot Wait Avg
    Class Waits Time (s) Time (ms)
    data block 11,754 6 0
    PGA Aggr Target Stats for DB: AHD Instance: ahd Snaps: 20 -21
    -> B: Begin snap E: End snap (rows dentified with B or E contain data
    which is absolute i.e. not diffed over the interval)
    -> PGA cache hit % - percentage of W/A (WorkArea) data processed only in-memory
    -> Auto PGA Target - actual workarea memory target
    -> W/A PGA Used - amount of memory used for all Workareas (manual + auto)
    -> %PGA W/A Mem - percentage of PGA memory allocated to workareas
    -> %Auto W/A Mem - percentage of workarea memory controlled by Auto Mem Mgmt
    -> %Man W/A Mem - percentage of workarea memory under manual control
    PGA Cache Hit % W/A MB Processed Extra W/A MB Read/Written
    100.0 1,169 0
    %PGA %Auto %Man
    PGA Aggr Auto PGA PGA Mem W/A PGA W/A W/A W/A Global Mem
    Target(M) Target(M) Alloc(M) Used(M) Mem Mem Mem Bound(K)
    B 350 293 37.6 0.0 .0 .0 .0 17,920
    E 350 293 37.5 0.2 .6 100.0 .0 17,920
    PGA Aggr Target Histogram for DB: AHD Instance: ahd Snaps: 20 -21
    -> Optimal Executions are purely in-memory operations
    Low High
    Optimal Optimal Total Execs Optimal Execs 1-Pass Execs M-Pass Execs
    8K 16K 6,809 6,809 0 0
    16K 32K 148 148 0 0
    32K 64K 90 90 0 0
    64K 128K 154 154 0 0
    128K 256K 73 73 0 0
    256K 512K 308 308 0 0
    512K 1024K 374 374 0 0
    1M 2M 171 171 0 0
    2M 4M 217 217 0 0
    4M 8M 10 10 0 0
    PGA Memory Advisory for DB: AHD Instance: ahd End Snap: 21
    -> When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value
    where Estd PGA Overalloc Count is 0
    Estd Extra Estd PGA Estd PGA
    PGA Target Size W/A MB W/A MB Read/ Cache Overalloc
    Est (MB) Factr Processed Written to Disk Hit % Count
    44 0.1 180,060.5 42,218.7 81.0 4
    88 0.3 180,060.5 23,194.7 89.0 0
    175 0.5 180,060.5 9,436.8 95.0 0
    263 0.8 180,060.5 9,356.7 95.0 0
    350 1.0 180,060.5 9,274.8 95.0 0
    420 1.2 180,060.5 9,169.9 95.0 0
    490 1.4 180,060.5 9,148.0 95.0 0
    560 1.6 180,060.5 9,148.0 95.0 0
    630 1.8 180,060.5 9,148.0 95.0 0
    700 2.0 180,060.5 9,148.0 95.0 0
    1,050 3.0 180,060.5 9,148.0 95.0 0
    1,400 4.0 180,060.5 9,148.0 95.0 0
    2,100 6.0 180,060.5 3,983.3 98.0 0
    2,800 8.0 180,060.5 3,983.3 98.0 0
    Rollback Segment Stats for DB: AHD Instance: ahd Snaps: 20 -21
    ->A high value for "Pct Waits" suggests more rollback segments may be required
    ->RBS stats may not be accurate between begin and end snaps when using Auto Undo
    managment, as RBS may be dynamically created and dropped as needed
    Trans Table Pct Undo Bytes
    RBS No Gets Waits Written Wraps Shrinks Extends
    0 29.0 0.00 0 0 0 0
    1 975.0 0.00 122,796 0 0 0
    2 1,244.0 0.00 1,094,706 10 0 5
    3 816.0 0.00 118,596 0 0 0
    4 1,430.0 0.00 212,754 2 0 0
    5 1,716.0 0.00 291,940 2 0 0
    6 1,287.0 0.00 197,900 0 0 0
    7 1,674.0 0.00 279,160 0 0 0
    8 1,031.0 0.00 148,216 0 0 0
    9 947.0 0.00 141,870 0 0 0
    10 834.0 0.00 117,422 0 0 0
    Rollback Segment Storage for DB: AHD Instance: ahd Snaps: 20 -21
    ->Optimal Size should be larger than Avg Active
    RBS No Segment Size Avg Active Optimal Size Maximum Size
    0 385,024 0 385,024
    1 2,220,032 455,412 2,220,032
    2 2,088,960 333,026 2,220,032
    3 2,220,032 456,101 2,220,032
    4 2,220,032 474,584 3,268,608
    5 2,220,032 480,865 3,268,608
    6 2,220,032 513,967 3,268,608
    7 2,220,032 480,785 2,220,032
    8 2,220,032 496,182 2,220,032
    9 2,220,032 486,763 2,220,032
    10 2,220,032 430,016 6,414,336
    Undo Segment Summary for DB: AHD Instance: ahd Snaps: 20 -21
    -> Undo segment block stats:
    -> uS - unexpired Stolen, uR - unexpired Released, uU - unexpired reUsed
    -> eS - expired Stolen, eR - expired Released, eU - expired reUsed
    Undo Undo Num Max Qry Max Tx Snapshot Out of uS/uR/uU/
    TS# Blocks Trans Len (s) Concurcy Too Old Space eS/eR/eU
    1 395 2,900,725 5 1 0 0 0/0/0/0/0/0
    Undo Segment Stats for DB: AHD Instance: ahd Snaps: 20 -21
    -> ordered by Time desc
    Undo Num Max Qry Max Tx Snap Out of uS/uR/uU/
    End Time Blocks Trans Len (s) Concy Too Old Space eS/eR/eU
    13-Feb 15:04 96 ######## 4 1 0 0 0/0/0/0/0/0
    13-Feb 14:54 299 ######## 5 1 0 0 0/0/0/0/0/0
    Latch Activity for DB: AHD Instance: ahd Snaps: 20 -21
    ->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
    willing-to-wait latch get requests
    ->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
    ->"Pct Misses" for both should be very close to 0.0
    Pct Avg Wait Pct
    Get Get Slps Time NoWait NoWait
    Latch Requests Miss /Miss (s) Requests Miss
    Consistent RBA 5,216 0.0 0 0
    FOB s.o list latch 34 0.0 0 0
    SQL memory manager latch 1 0.0 0 462 0.0
    SQL memory manager worka 40,347 0.0 0 0
    active checkpoint queue 1,261 0.0 0 0
    archive control 163 0.0 0 0
    archive process latch 29 0.0 0 0
    cache buffer handles 378 0.0 0 0
    cache buffers chains 6,836,244 0.4 0.0 0 266,617 0.0
    cache buffers lru chain 244,157 0.0 0.0 0 140,432 0.0
    channel handle pool latc 21 0.0 0 0
    channel operations paren 960 0.0 0 0
    checkpoint queue latch 86,982 0.0 0 2,337 0.0
    child cursor hash table 6,464 0.0 0.0 0 0
    dml lock allocation 15,005 0.0 0 0
    dummy allocation 21 0.0 0 0
    enqueue hash chains 28,447 0.0 0 0
    enqueues 8,689 0.0 0 0
    event group latch 11 0.0 0 0
    file number translation 4,079 0.0 0 0
    hash table column usage 38 0.0 0 187,596 0.0
    hash table modification 1 0.0 0 0
    job_queue_processes para 23 0.0 0 0
    ktm global data 4 0.0 0 0
    kwqit: protect wakeup ti 45 0.0 0 0
    lgwr LWN SCN 5,328 0.4 0.0 0 0
    library cache 342,865 0.2 0.0 0 342 0.6
    library cache load lock 452 0.0 0 0
    library cache pin 197,662 0.0 0.0 0 0
    library cache pin alloca 124,035 0.0 0.0 0 0
    list of block allocation 55 0.0 0 0
    messages 30,779 0.0 0.0 0 0
    mostly latch-free SCN 5,459 1.8 0.0 0 0
    multiblock read objects 194,822 0.0 0.0 0 0
    ncodef allocation latch 23 0.0 0 0
    object stats modificatio 618 0.0 0 0
    post/wait queue 10,441 0.0 0 3,078 0.0
    process allocation 11 0.0 0 11 0.0
    process group creation 21 0.0 0 0
    redo allocation 37,773 0.0 0.0 0 0
    redo copy 0 0 27,274 0.0
    redo writing 17,880 0.0 0 0
    row cache enqueue latch 169,423 0.0 0.0 0 0
    row cache objects 169,795 0.0 0 3 0.0
    sequence cache 38 0.0 0 0
    session allocation 15,580 0.0 0 0
    session idle bit 269,419 0.0 0.0 0 0
    session switching 23 0.0 0 0
    session timer 478 0.0 0 0
    shared pool 104,427 0.1 0.0 0 0
    Latch Activity for DB: AHD Instance: ahd Snaps: 20 -21
    ->"Get Requests", "Pct Get Miss" and "Avg Slps/Miss" are statistics for
    willing-to-wait latch get requests
    ->"NoWait Requests", "Pct NoWait Miss" are for no-wait latch get requests
    ->"Pct Misses" for both should be very close to 0.0
    Pct Avg Wait Pct
    Get Get Slps Time NoWait NoWait
    Latch Requests Miss /Miss (s) Requests Miss
    sim partition latch 0 0 32 0.0
    simulator hash latch 217,119 0.0 0.0 0 0
    simulator lru latch 16,247 0.0 0 902 0.4
    sort extent pool 29 0.0 0 0
    transaction allocation 36 0.0 0 0
    transaction branch alloc 23 0.0 0 0
    undo global data 19,973 0.0 0 0
    user lock 42 0.0 0 0
    Latch Sleep breakdown for DB: AHD Instance: ahd Snaps: 20 -21
    -> ordered by misses desc
    Get Spin &
    Latch Name Requests Misses Sleeps Sleeps 1->4
    cache buffers chains 6,836,244 26,201 46 0/0/0/0/0
    library cache 342,865 778 5 773/5/0/0/0
    shared pool 104,427 125 3 122/3/0/0/0
    Latch Miss Sources for DB: AHD Instance: ahd Snaps: 20 -21
    -> only latches with sleeps are shown
    -> ordered by name, sleeps desc
    NoWait Waiter
    Latch Name Where Misses Sleeps Sleeps
    cache buffers chains kcbgtcr: kslbegin excl 0 32 30
    cache buffers chains kcbrls: kslbegin 0 7 13
    cache buffers chains kcbzwb 0 4 3
    cache buffers chains kcbgtcr: fast path 0 3 0
    library cache kglic 0 2 0
    library cache kglobpn: child: 0 2 0
    library cache kgllkdl: child: cleanup 0 1 0
    shared pool kghalo 0 2 0
    shared pool kghalp 0 1 0
    Child Latch Statistics DB: AHD Instance: ahd Snaps: 20 -21
    -> only latches with sleeps/gets > 1/100000 are shown
    -> ordered by name, gets desc
    Child Get Spin &
    Latch Name Num Requests Misses Sleeps Sleeps 1->4
    cache buffers chains 439 28,269 1,276 1 0/0/0/0/0
    cache buffers chains 269 26,297 842 1 0/0/0/0/0
    cache buffers chains 1010 17,482 49 2 0/0/0/0/0
    cache buffers chains 260 11,141 20 1 0/0/0/0/0
    cache buffers chains 324 9,454 29 1 0/0/0/0/0
    cache buffers chains 840 7,235 20 1 0/0/0/0/0
    cache buffers chains 46 6,868 25 1 0/0/0/0/0
    cache buffers chains 835 6,799 26 2 0/0/0/0/0
    cache buffers chains 202 6,768 17 1 0/0/0/0/0
    cache buffers chains 740 6,573 38 2 0/0/0/0/0
    cache buffers chains 592 6,508 30 1 0/0/0/0/0
    cache buffers chains 436 6,485 25 2 0/0/0/0/0
    cache buffers chains 513 6,443 16 1 0/0/0/0/0
    cache buffers chains 844 6,436 28 1 0/0/0/0/0
    cache buffers chains 117 6,423 25 1 0/0/0/0/0
    cache buffers chains 389 6,381 25 1 0/0/0/0/0
    cache buffers chains 116 6,349 29 1 0/0/0/0/0
    cache buffers chains 51 6,340 34 1 0/0/0/0/0
    cache buffers chains 914 6,259 31 1 0/0/0/0/0
    cache buffers chains 713 6,249 24 1 0/0/0/0/0
    cache buffers chains 465 6,198 27 2 0/0/0/0/0
    cache buffers chains 416 6,193 27 1 0/0/0/0/0
    cache buffers chains 432 6,155 34 1 0/0/0/0/0
    cache buffers chains 583 6,152 23 2 0/0/0/0/0
    cache buffers chains 126 6,147 35 1 0/0/0/0/0
    cache buffers chains 879 6,043 21 1 0/0/0/0/0
    cache buffers chains 110 6,010 25 1 0/0/0/0/0
    cache buffers chains 138 6,010 25 1 0/0/0/0/0
    cache buffers chains 472 6,002 31 1 0/0/0/0/0
    cache buffers chains 908 5,964 20 1 0/0/0/0/0
    cache buffers chains 860 5,950 23 1 0/0/0/0/0
    cache buffers chains 71 5,945 29 3 0/0/0/0/0
    cache buffers chains 20 5,780 28 1 0/0/0/0/0
    cache buffers chains 932 5,759 25 1 0/0/0/0/0
    cache buffers chains 866 5,610 22 1 0/0/0/0/0
    cache buffers chains 989 5,454 34 2 0/0/0/0/0
    cache buffers chains 1005 5,434 40 1 0/0/0/0/0
    library cache 6 47,067 52 3 49/3/0/0/0
    shared pool 1 99,771 124 3 121/3/0/0/0
    Top 5 Logical Reads per Segment for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Segment Logical Reads Threshold: 10000
    Subobject Obj. Logical
    Owner Tablespace Object Name Name Type Reads %Total
    AHD AHD1_DATA CALL_REQ TABLE 1,714,928 51.19
    AHD AHD1_DATA CTCT TABLE 1,169,360 34.90
    AHD AHD1_IDX SYS_C003707 INDEX 89,152 2.66
    AHD AHD1_DATA CNOTE TABLE 66,272 1.98
    AHD AHD1_IDX CALL_REQ_X5 INDEX 61,360 1.83
    Top 5 Physical Reads per Segment for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Segment Physical Reads Threshold: 1000
    Subobject Obj. Physical
    Owner Tablespace Object Name Name Type Reads %Total
    AHD AHD1_DATA CALL_REQ TABLE 132,989 95.95
    AHD AHD1_DATA CTCT TABLE 5,325 3.84
    AHD AHD1_DATA CI_AUDIT_TRAILS_GU_I INDEX 43 .03
    AHD AHD1_DATA ACT_LOG TABLE 38 .03
    AHD AHD1_DATA CI_EXT_CALLS_GUID INDEX 36 .03
    Top 5 Buf. Busy Waits per Segment for DB: AHD Instance: ahd Snaps: 20 -21
    -> End Segment Buffer Busy Waits Threshold: 100
    Buffer
    Subobject Obj. Busy
    Owner Tablespace Object Name Name Type Waits %Total
    AHD AHD1_DATA CALL_REQ TABLE 11,751 99.95
    AHD AHD1_DATA CTCT TABLE 6 .05
    Dictionary Cache Stats for DB: AHD Instance: ahd Snaps: 20 -21
    ->"Pct Misses" should be very low (< 2% in most cases)
    ->"Cache Usage" is the number of cache entries being used
    ->"Pct SGA" is the ratio of usage to allocated size for that cache
    Get Pct Scan Pct Mod Final
    Cache Requests Miss Reqs Miss Reqs Usage
    dc_files 30 0.0 0 0 15
    dc_histogram_defs 3,022 3.9 0 0 1,919
    dc_object_ids 22,961 0.1 0 0 1,181
    dc_objects 1,092 9.2 0 0 1,026
    dc_profiles 11 0.0 0 0 1
    dc_rollback_segments 168 0.0 0 0 22
    dc_segments 5,519 0.1 0 0 1,334
    dc_sequences 1 0.0 0 1 2
    dc_tablespace_quotas 3 0.0 0 3 2
    dc_tablespaces 25,902 0.0 0 0 16
    dc_user_grants 127 0.0 0 0 22
    dc_usernames 110 0.0 0 0 18
    dc_users 26,077 0.0 0 0 30
    Library Cache Activity for DB: AHD Instance: ahd Snaps: 20 -21
    ->"Pct Misses" should be very low
    Get Pct Pin Pct Invali-
    Namespace Requests Miss Requests Miss Reloads dations
    CLUSTER 19 0.0 16 0.0 0 0
    INDEX 315 0.0 315 0.0 0 0
    SQL AREA 27,908 0.0 94,300 0.5 38 0
    TABLE/PROCEDURE 3,793 2.6 6,017 6.5 55 0
    TRIGGER 20 0.0 20 0.0 0 0
    Shared Pool Advisory for DB: AHD Instance: ahd End Snap: 21
    -> Note there is often a 1:Many correlation between a single logical object
    in the Library Cache, and the physical number of memory objects associated
    with it. Therefore comparing the number of Lib Cache objects (e.g. in
    v$librarycache), with the number of Lib Cache Memory Objects is invalid
    Estd
    Shared Pool SP Estd Estd Estd Lib LC Time
    Size for Size Lib Cache Lib Cache Cache Time Saved Estd Lib Cache
    Estim (M) Factr Size (M) Mem Obj Saved (s) Factr Mem Obj Hits
    88 .6 81 11,169 59,229 1.0 6,202,663
    104 .7 96 13,308 59,237 1.0 6,207,373
    120 .8 112 15,603 59,277 1.0 6,228,405
    136 .9 127 18,086 59,348 1.0 6,265,370
    152 1.0 142 19,501 59,379 1.0 6,295,279
    168 1.1 157 21,035 59,426 1.0 6,314,861
    184 1.2 172 22,038 59,455 1.0 6,325,903
    200 1.3 187 23,807 59,459 1.0 6,328,446
    216 1.4 202 25,911 59,460 1.0 6,329,386
    232 1.5 217 28,194 59,461 1.0 6,330,245
    248 1.6 232 29,884 59,462 1.0 6,330,914
    264 1.7 248 31,127 59,462 1.0 6,331,222
    280 1.8 263 32,878 59,463 1.0 6,331,563
    296 1.9 278 34,121 59,463 1.0 6,331,898
    312 2.1 295 36,139 59,463 1.0 6,332,102
    SGA Memory Summary for DB: AHD Instance: ahd Snaps: 20 -21
    SGA regions Size in Bytes
    Database Buffers 687,865,856
    Fixed Size 455,196
    Redo Buffers 929,792
    Variable Size 293,601,280
    sum 982,852,124
    SGA breakdown difference for DB: AHD Instance: ahd Snaps: 20 -21
    Pool Name Begin value End value % Diff
    java free memory 75,497,472 75,497,472 0.00
    large free memory 41,943,040 41,943,040 0.00
    shared 1M buffer 2,098,176 2,098,176 0.00
    shared Checkpoint queue 846,912 846,912 0.00
    shared FileOpenBlock 695,504 695,504 0.00
    shared KGK heap 3,756 3,756 0.00
    shared KGLS heap 1,230,944 1,438,740 16.88
    shared KQR L PO 2,064 2,064 0.00
    shared KQR M PO 2,480,924 2,514,220 1.34
    shared KQR S PO 383,036 383,036 0.00
    shared KQR S SO 5,636 5,636 0.00
    shared KSXR pending messages que 841,036 841,036 0.00
    shared KSXR receive buffers 1,033,000 1,033,000 0.00
    shared MTTR advisory 97,412 97,412 0.00
    shared PL/SQL DIANA 624,112 624,112 0.00
    shared PL/SQL MPCODE 422,640 422,640 0.00
    shared PLS non-lib hp 2,068 2,068 0.00
    shared character set object 323,724 323,724 0.00
    shared dictionary cache 1,610,880 1,610,880 0.00
    shared errors 35,964 35,964 0.00
    shared event statistics per sess 1,718,360 1,718,360 0.00
    shared fixed allocation callback 300 300 0.00
    shared free memory 26,982,004 26,841,956 -0.52
    shared joxs heap init 4,220 4,220 0.00
    shared kgl simulator 3,980,240 3,996,976 0.42
    shared library cache 54,425,164 53,999,624 -0.78
    shared message pool freequeue 834,752 834,752 0.00
    shared miscellaneous 8,126,704 8,177,516 0.63
    shared parameters 1,632 1,632 0.00
    shared sessions 410,720 410,720 0.00
    shared sim memory hea 377,656 377,656 0.00
    shared sql area 66,513,080 66,768,476 0.38
    shared subheap 45,216 45,216 0.00
    shared table definiti 1,200 2,752 129.33
    shared trigger defini 340 340 0.00
    shared trigger inform 1,292 1,292 0.00
    shared trigger source 100 100 0.00
    buffer_cache 687,865,856 687,865,856 0.00
    fixed_sga 455,196 455,196 0.00
    log_buffer 918,528 918,528 0.00
    init.ora Parameters for DB: AHD Instance: ahd Snaps: 20 -21
    End value
    Parameter Name Begin value (if different)
    aq_tm_processes 1
    background_dump_dest E:\oracle\admin\ahd\bdump
    compatible 9.2.0.0.0
    control_files E:\oracle\oradata\ahd\CONTROL01.C
    core_dump_dest E:\oracle\admin\ahd\cdump
    cursor_sharing SIMILAR
    db_block_size 8192
    db_cache_size 687865856
    db_domain
    db_file_multiblock_read_count 8
    db_name ahd
    db_writer_processes 2
    dispatchers (PROTOCOL=TCP) (SERVICE=ahdXDB)
    fast_start_mttr_target 300
    hash_join_enabled TRUE
    instance_name ahd
    java_pool_size 75497472
    job_queue_processes 10
    large_pool_size 41943040
    log_archive_dest_1 location=c:\archive
    log_archive_format arc%d_%t_%s.arc
    log_archive_start TRUE
    open_cursors 300
    pga_aggregate_target 367001600
    processes 150
    query_rewrite_enabled FALSE
    remote_login_passwordfile EXCLUSIVE
    shared_pool_size 159383552
    sort_area_size 10485760
    star_transformation_enabled FALSE
    timed_statistics TRUE
    undo_management AUTO
    undo_retention 3600
    undo_tablespace UNDOTBS1
    user_dump_dest E:\oracle\admin\ahd\udump
    End of Report

    I am getting buffer busy waits on some tables.
    Users are not experiencing any problem.Looks like you got bit by the CTD troll while sleeping.
    Note also that (if I'm reading the report alright) out of 23 mins you have 6 seconds accounted to buffer busy waits.
    Read the sample chapter here.

  • Adding Interior Bounds to a Slider

    I am attempting to create a version of JSlider which has interior bounds that its value must respect. Included in the default Bounded Range model, employed by JSlider, is a value called extent, whose function is similar to the end product I am working towards. The Default Bound Range Model has the following constraints for its values:
    min <= value <= value + extent <= max
    where min is the minimum value, max is the maximum value, value is its current value and extent is a sort of buffer that limits how close value can get to max. When this model is employed by JSlider, it usually has extent set to zero, but if extent takes on a non zero value, then the slider will prevent the thumb from being dragged all the way max value, with extent being the closest to max it can get. I would like to have this effect on both the left and right sides of the slider, effectively decreasing the sliders range by a total of 2*extent.
    In order to do this, I have extended the default bounded range model so that it now obeys the following constraint:
    min <= value - extent <= value <= value + extent <= max
    where extent can only take on values between zero and (max - min)/2. If value is found to be too large or small to obey the constraints involving extent, then value is adjusted so that extent is maintained and value is found within the inner bounds.
    So as it is now, the Model seems to be working, enforcing an inner boundary defined by extent, but the visual representation (the slider) does not reflect this. Below is a simple class that displays the problem. The window includes a label to the right of the slider which displays the slider's current value. As you can see, you cannot pull the thumb past 80 (because extent = 20), but you can pull the thumb all the way to zero, though value will not go below 20. If you resize the window, forcing it to repaint the component, then the thumb moves up to 20, where it should be. Also, only drag events cause this problem, simply clicking or using the arrow keys will not take the thumb below 20. How do I fix this? I have tried extending JSlider and rewriting the setValue() method so that it calls repaint() or revalidate(), but that does not work. Please help!!! Thank you so much! (sorry for the long explanation)
    Here is the code:
    /*BoundedSliderTest.java */
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.DefaultBoundedRangeModel;
    public class BoundedSliderTest extends JPanel
    implements ChangeListener {
    private JSlider slider;
    private JLabel label;
    private int extent;
    private int min;
    private int max;
    private int initValue;
    public BoundedSliderTest() {
         min = 0;
         max = 100;
         initValue = 50;
         extent = 20;
    public void init() {
         setLayout(new BorderLayout(5,5));
         DoubleBoundedRangeModel myModel = new DoubleBoundedRangeModel();
         slider = new JSlider();
         slider.setModel(myModel);
         slider.setMinimum(min);
         slider.setMaximum(max);
         slider.setExtent(extent);
         slider.setValue(initValue);
         slider.setMajorTickSpacing(20);
         slider.setMinorTickSpacing(2);
         slider.setPaintLabels(true);
         slider.setPaintTicks(true);
         slider.addChangeListener(this);
         Dimension size = new Dimension(3slider.getMinimumSize().width,
                        slider.getMinimumSize().height);
         slider.setMinimumSize(size);
         slider.setPreferredSize(size);
         slider.setMaximumSize(size);
         label = new JLabel(String.valueOf(slider.getValue()));
         add(slider, BorderLayout.CENTER);
         add(label, BorderLayout.EAST);
    public void stateChanged(ChangeEvent e) {
         JSlider source = (JSlider)e.getSource();
         int value = (int)source.getValue();
         label.setText(String.valueOf(value));
    public static void main(String [] args) {
         JFrame frame = new JFrame("Bounded Slider Test ...");
         frame.getContentPane().setLayout(new BorderLayout());
         MyWindowListener l = new MyWindowListener();
         frame.addWindowListener(l);
         BoundedSliderTest test = new BoundedSliderTest();
         test.init();
         test.setOpaque(true);
         frame.getContentPane().add(test,BorderLayout.CENTER);
         frame.pack();
         frame.setVisible(true);
         frame.show();
    class MyWindowListener extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
         System.exit(0);
    class DoubleBoundedRangeModel extends DefaultBoundedRangeModel{
    public DoubleBoundedRangeModel() {
    public int getValueRules(int tryValue) {
         int extent = super.getExtent();
         int min = super.getMinimum();
         int max = super.getMaximum();
         if((tryValue-extent) < min){
         tryValue = min + extent;
         if((tryValue+extent) > max) {
         tryValue = max - extent;
         return tryValue;
    public void setValue(int newValue) {
         //System.out.println("Try setting value of " + newValue);
         int value = super.getValue();
         int extent = super.getExtent();
         int min = super.getMinimum();
         int max = super.getMaximum();
         //Now must ensure compliance with inner bounds;
         if((newValue-extent) < min){
         newValue = min + extent;
         if((newValue+extent) > max) {
         newValue = max - extent;
         if( newValue != value)
         super.setValue(newValue);
    public void setExtent(int newExtent) {
         int value = super.getValue();
         int extent = super.getExtent();
         int min = super.getMinimum();
         int max = super.getMaximum();
         if (newExtent < 0)
         newExtent = 0;
         else if (newExtent > (int)Math.floor((max - min)/2.))
         newExtent = (int)Math.floor((max - min)/2.);
         if( newExtent != extent)
         super.setExtent(newExtent);
    public void setRangeProperties(int newValue,
                        int newExtent,
                        int newMin,
    int newMax,
    boolean newAdjusting) {
         //System.out.println("setRangeProps");
         int value = super.getValue();
         int extent = super.getExtent();
         int min = super.getMinimum();
         int max = super.getMaximum();
         boolean isAdjusting = super.getValueIsAdjusting();
    if (newMax < newMin) {
    if(max >= newMin)
              newMax = max;
         else if(min <= newMax)
              newMin = min;
         else {
              newMin = min;
              newMax = max;
         if (newExtent < 0)
         newExtent = 0;
         else if (newExtent > (int)Math.floor((newMax - newMin)/2.))
         newExtent = (int)Math.floor((newMax - newMin)/2.);
         if (!bounded(newMin,newMax,newValue)) {
         if (newMin == newMax)
              newValue = newMin;
         else if (bounded(newMin,newMax,value))
              newValue = value;
         else
              newValue = (int)Math.round((newMax+newMin)/2.);
         //Now must ensure compliance with inner bounds;
         if((newValue-newExtent) < newMin){
         newValue = newMin + newExtent;
         if((newValue+newExtent) > newMax) {
         newValue = newMax - newExtent;
    boolean changeOccurred = false;
    if (newValue != value) {
    value = newValue;
    changeOccurred = true;
    if (newMax != max) {
    max = newMax;
    changeOccurred = true;
    if (newMin != min) {
    min = newMin;
    changeOccurred = true;
    if (newExtent != extent) {
         extent = newExtent;
    changeOccurred = true;
    if (newAdjusting != isAdjusting) {
    isAdjusting = newAdjusting;
    changeOccurred = true;
    if (changeOccurred)
    super.setRangeProperties(newValue, newExtent, newMin, newMax,
                        newAdjusting);
    private static boolean bounded(int lowBound, int highBound,
                        int num) {
         boolean bounded = false;
         if(num >= lowBound && num <= highBound) bounded = true;
         return bounded;

    perrymanp-
    I tried employing your suggestion by including the following code in my stateChanged listener for the slider, but it had no effect... maybe I am missing something? Thanks.
         BoundedRangeModel brm = source.getModel();
         source.setModel(new DoubleBoundedRangeModel(value,brm.getExtent(),
                                  brm.getMinimum(),
                                  brm.getMaximum()));
    -kheldar83
    PS any more suggestions or clarifications are greatly appreciated!

  • Sudden surge of 'gc buffer busy release/acquire' waits on index in 11gR2 leads to timeouts

    Hello,
    We experienced a small applicative crash on Tuesday afternoon, when all of a sudden
    a huge soaring of gc buffer busy release & acquire-related waits led to timeouts, for
    about 10 to 15 minutes, in a RAC 11gR2 two-instance database. Drawing AWR and ASH
    reports over the period of this issue shows that it happened on blocks belonging to 3
    indexes of the same table (this table incurs an average of 12,000 inserts per hour, coming
    from a trigger set up against its parent table).
    My question: we never experienced this issue before for months, I'm trying to understand
    why these inserts suddenly caused such concurrency in the global cache (and why it
    does not happen on a regular basis or all the while...), but I don't know where to look for.
    I don't think there was any more activity than usually at the time the timeouts occurred. It
    could never happen again, but if it is bound to, I'd like to know it and prevent it, if possible...
    Thanks a lot in advance for any suggestion !
    Regards,
    Seb

    Hi Brian,
    Thanks for your reply.
    As the PK index of this table is involved in this inter-instance contention, d'you think that setting
    a high cache for the sequence used to populate the PK column would alleviate this process of
    inserting ? (I could set this CACHE to at least the avg amount of entries per block in this index,
    so that when inserting the instances at leat wouldn't have to exchange the index blocks being
    updated...)
    Here is an excerpt of the ASH report (I'm talking about the first index listed below, txts2_pk):
    Object ID
    % Activity
    Event
    % Event
    Object Name (Type)
    Tablespace
    76750
    55.53
    gc buffer busy release
    55.53
    ABCD.TXTS2_PK (INDEX)
    ABCD_DI1
    76558
    16.21
    gc buffer busy acquire
    15.51
    ABCD.TXTS_NI3 (INDEX)
    ABCD_DI1
    76556
    4.40
    gc buffer busy release
    4.40
    ABCD.TXTS_NI (INDEX)
    ABCD_DI1
    Or do I stand on the wrong track - as far as this 'gc buffer busy' issue is concerned ?
    Thanks.
    Regards,
    Seb

  • How to check if table or index bound to data cache loaded in memory?

    In my system, thare are many named data caches created and certain objects bind to those data cache.
    For example, I have a large table mytab which is bound to data cache mycache.
    When I issue a sql like select * from mytab where x=y, run it at first time is is very slow.  run it again and again. then it very fast. it means data loaded in cahce and ready for same query.
    Question:
    1. How can I know if the table mytab has been loaded in data cache mycache?
    2. How to load mytab into data cahce mycache one time for all query in the feature?

    one way to monitor is:
    select CacheName,DBName,OwnerName,ObjectName,IndexID,sum(CachedKB) as "CachedKb"
    from master..monCachedObject
    group by CacheName,DBName,OwnerName,ObjectName,IndexID
    order by CacheName,DBName,OwnerName,ObjectName,IndexID
    But, you should understand that caches have a finite size, and caches contain "pages" of objects including data pages, index pages, and LOB pages.  Also, caches may have different pool sizes, so a page can be in only one cache pool.  So, if you want  a table and all of it's indexes, text/image pages  to be loaded into a dedicated cache, you need a large enough cache to fit all of those pages, and decide which buffer pool you want them in (typically either the 1 page pool, or the 8 page pool).
    Then, simply execute SQL (or dbcc) commands that access all of those pages in the manner you wish to find them in the cache.  For example, two statements, one that scans the table using 2k reads, and another that scans the index (mytab_ind1) using 2k reads.
    select count(*) from mytab plan '( i_scan mytab_cl mytab) ( prop mytab ( prefetch 2 ) ( lru ) )'
    select count(*) from mytab plan '( i_scan mytab_ind1 mytab) ( prop mytab ( prefetch 2 ) ( lru ) )'
    etc etc.
    used count(*) to limit result sets of examples

  • Buffer overflow

    I have created executable file, tested it for several days on my laptop and send it to the customer together with hardware.
    As soon as he received it he  faced buffer overflow problem.
    Is it possible to eliminate this poblem?
    When this error appeares the part of the program that does acceleration analysis still workes but signal generation stopped.
    Unfortunately I do not have this hardware  so I have to modify the program wihou testing it.
    What are the ways to avoid buffer overflow(one of them is probably just to use DAQmx configure input buffer but I do not know where to insert it and how configure it).
    Attachments:
    Generator-Accelerometer New.vi ‏636 KB

    Here is what I see is happening.
    You are using DAQ assistant in the 2nd loop to acquire 1000 samples at 1000 Hz  It is set for continuous samples.  So that will take a second.  Then the data is passed of to the other functions.  I don't know how long they would take to run, but they are pretty substantial.  (By the way, your write measurment file as no data going into it.)  If it takes longer than a second, then the DAQ functions which have been continuing, will have the buffer overwritten and you will get the error.
    You could ignore the error, but that also means you've lost data which may or may not be important.
    It is better to pass the data off into a queue.  Let another parallel loop do the number crunching and saving to file.  Search the labview help and the discussion forums for producer/consumer design architecture for examples.  With only the DAQ assistant in the loop, you will get all of the data.  The only risk would be if the queue would grow without bounds in the event that each chunk of data still takes longer than a second to process.
    Putting a wait statement in the top loop as well will help.  Without a wait statement, a loop will run as fast as it possibly can.  Since you are mainly reading a local variable and some controls such as the stop button, you probably don't need to run instantaneously.  Even a small wait of a few milliseconds can help yield processor time to other loops.
    In your top loop, you are recalculating the waveform and writing it to the analog output on every iteration.  It would be better to put that code in a case statement that only executes in the event the values change.  I believe with continuous samples, and if you allow that channel to regenerate its data, the analog output will run continuously without needing to update it every iteration.
    Also, please move your front panel down and size it to fit closer to the front panel controls. For some reason your VI appears with the title bar off the top of the screen.
    Message Edited by Ravens Fan on 04-08-2008 01:33 PM

  • Export .. to shared buffer ...

    I try to use this command but I don't understand something in the example of the Help. (F1 on shared buffer). (the bold)
    TABLES INDX.
    TYPES: BEGIN OF ITAB3_TYPE,
              CONT(4),
           END OF ITAB3_TYPE.
    DATA: INDXKEY LIKE INDX-SRTFD VALUE 'KEYVALUE',
          F1(4), F2 TYPE P,
          ITAB3 TYPE STANDARD TABLE OF ITAB3_TYPE WITH
                     NON-UNIQUE DEFAULT KEY INITIAL SIZE 2,
          WA_INDX TYPE INDX.
    Fill data fields before CLUSTR
    before the actual export
    INDX-AEDAT = SY-DATUM.
    INDX-USERA = SY-UNAME. Export data.
    EXPORT F1    FROM F1
           F2    FROM F2
           ITAB3 FROM ITAB3
           TO SHARED BUFFER INDX(ST) FROM WA_INDX ID INDXKEY.
    Frédéric
    (SAP 4.6C)

    Because when everybody works on the same table, you cannot guarantee data consistency. Furthermore, the "free components" of INDX are just an example. You might want to define your own fields with your own specific information. Here comes the full description how such at table must be created. Note the second to the last entry. You are totally free to add components as you like and you are not bound to SAP's INDX-example!
    <b>INDX-type structure:</b>
    The first field must be a key field named MANDT of type CLNT for the client, if you want to store the data objects client-specifically. For a cross-client storage, this component does not apply.
    The second field must be a key field named RELID of type CHAR and length 2. It stores the area ar specification.
    The third field must be a key field of type CHAR named SRTFD with a maximum length of 55 characters. It stores the identifier specified in id.
    The fourth field must be a key field named SRTF2 of type INT4. It contains the row numbers of a stored data cluster that can extend over several rows and is filled automatically by the system.
    Then any number of components with freely selectable names and types may follow. They are provided with values by the specification of FROM wa. Addition TO wa of the IMPORT statement exports these fields again.
    The last two components must be named CLUSTR and CLUSTD and be of types INT2 and LRAW of any length. In CLUSTR, the current length of field CLUSTD of each row is stored, while CLUSTD contains the actual data cluster.

  • Buffer Size error on Oracle 10.2.0 Database

    Hi Experts,
    I am getting th following error when my VB application executes on Oracle 10.2.0.
    ORA-01044: Size 5000000 of buffer bound to variable exceeds maximum SYSMAN.EMD_NOTIFICATION
    The Oracle documentation suggests to reduce the Buffer Size.
    As per my knowledge Oracle 10g has only one such parameter Log_Buffer.
    Which parameter is required to be changed in init.ora ?
    Any additional recommendation, which could arrest this error?
    Thanks and Regards

    Hi,
    The same Application works with the same schema and same Database Objects with Oracle 9i, which is pretty surprising. I took a backup of the schema objects from Oracle 10g, and uploaded it on Oracle 9i. The application works fine without a single modification.
    Next, I sat with my developer and checked the parameters, as suggested. Where the Procedure was being called, I found that it is thru command line (not with record set), and the parameter was set to 10000, which was modified it to 5000. This Procedure calling object is used globally across the application. The application started running fine on Oracle 10g, where it was earlier giving errors.
    Now the point is that should we go for the change of the parameter from 10000 to 5000 ?
    This value is very sensitive, and if the number or rows returned is more than 5000 (even 5001), the application shall give an error, and it is obvious that the number of rows in the table for most of the queries shall definitely exceed 5000.
    I feel this is a temporary solution, but can we go for some permanent solution? Definitely, in this fourm I am sure, we have plenty of brains who can trouble shoot this issue.
    Waiting for realtime solution.
    Edited by: user3299261 on Aug 31, 2009 2:14 PM

  • URGENT -- Increase the buffer of the serveroutput

    Hello
    I would like to know if it exists any way to increase the buffer of messages in SQL*PLUS.
    I am testing the functions of a package (process very long) and I would like to know what happens in the middle to test it correctly. I have tried to write the package in Form Builder, but the version don4t let me use publics functions in selects, ... and there too many cases. I also tried to use the RESTRICT_REFERENCES pragma, and it doesn4t work very well in this version.
    Please, send me any idea or suggestion that can help me.
    Thanks.
    Gabi

    SET SERVEROUTPUT ... SIZE allows the buffer size to be changed within the predefined bounds.
    - CJ

  • What is the status of fixing nio Buffer performance?

    The performance of nio Buffers is very slow in comparison to primitive arrays. Does anyone know the status for getting this fixed? For performance sensitive code, Buffers are currently unacceptable.
    Several Bugs were open regarding this issue, but they have all mysteriously been closed without resolution?
    (Bug ID: 4411600, http://developer.java.sun.com/developer/bugParade/bugs/4411600.html)
    Any insight would be appreciated.

    Here are numbers using the code from the Bug reference I posted above.
    (Bug ID: 4411600, http://developer.java.sun.com/developer/bugParade/bugs/4411600.html)
    The only change I made was to the main() function so I could run tests multiple times to see if Hotspot would kick in at some point.
    Here is the change I made. Replaced the original main() function with the following:
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    public static void main(String[] args) {
    for ( int x = 0; x < 5; x++ )
    System.gc();
    System.out.println();
    System.out.println( ">>>> run #" + x );
    run();
    public static void run()
    timeArray();
    time("heap", ByteBuffer.allocate(SIZE));
    time("direct", ByteBuffer.allocateDirect(SIZE));
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Btw, I am running this under Win2k.
    The results follow.
    D:\dev\parse>java -server Bench3
    run #0array 30
    array rev 80
    heap 51
    heap rev 90
    direct 601
    direct rev 401
    run #1array 40
    array rev 40
    heap 571
    heap rev 661
    direct 671
    direct rev 290
    run #2array 41
    array rev 40
    heap 550
    heap rev 671
    direct 591
    direct rev 291
    run #3array 40
    array rev 50
    heap 551
    heap rev 661
    direct 590
    direct rev 300
    run #4array 50
    array rev 51
    heap 561
    heap rev 651
    direct 581
    direct rev 291
    D:\dev\parse>java -client Bench3
    run #0array 181
    array rev 190
    heap 380
    heap rev 390
    direct 791
    direct rev 701
    run #1array 180
    array rev 180
    heap 861
    heap rev 802
    direct 731
    direct rev 711
    run #2array 180
    array rev 180
    heap 1202
    heap rev 721
    direct 721
    direct rev 971
    run #3array 200
    array rev 180
    heap 741
    heap rev 731
    direct 861
    direct rev 821
    run #4array 180
    array rev 210
    heap 911
    heap rev 721
    direct 741
    direct rev 741
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    But after taking a closer look at the code I realized that both the heap and direct buffers were being run through the same sum() and reverse() methods, so maybe Hotspot's inlining policy avoids keeping more than one specialized version of a function cached?
    So I re-ran the benchmark, but only running time("heap"...) and time("direct",...) one at a time. I will not bother posting the numbers, but this time array, heap, and direct were all roughly equivalent.
    So depending on the scenario, maybe it is not as bad as I though?
    To try another variant, I replaced all calls to bb.get(j) with bb.get(), thinking this may be an opportunity for Buffer to be faster than array, since no start-of-buffer bounds check should be necessary (can only iterate forward).
    But even running heap and direct separately, the test yielded slow numbers that suggest no inlining was performed again?
    So I'm not sure what to think? I would like to use Buffers over primitive arrays, but I have no certainty of the performance characteristics of Buffers? They may run fast, or they may run very slow, depending on the scenario and which functions are used.
    Here are the numbers after replacing calls bb.get(j) with bb.get().
    D:\dev\parse>java -server Bench3
    run #0array 41
    array rev 80
    heap 271
    heap rev 381
    run #1array 40
    array rev 50
    heap 231
    heap rev 321
    run #2array 40
    array rev 40
    heap 241
    heap rev 321
    run #3array 40
    array rev 50
    heap 231
    heap rev 321
    run #4array 40
    array rev 40
    heap 231
    heap rev 320

Maybe you are looking for

  • How to capture a screen in Lync

    I'm currently using IBM sametime, which I found very handy when it comes to capturing any portion of the desktop screen and paste it into conversations. I'm not sure there is any similar feature in Lync? Not the sharing screen.

  • Safari will not open on my retina MacBook pro?

    I've received my laptop & after using migration assistant with the computer, safari will no longer open on my pro, and continually crashes. I've run out of ideas?

  • How to get total or sum year to date or date range

    Is there a way to duplicate in Numbers what I used to do with Excel's formula =DSUM(Database,"Total",Criteria) where criteria would be any date I plugged into a referenced cell to get a year to date total. Thanks! DBT

  • Satellite Pro M30: Can't read DVDs on DVDrw drive

    I cant read dvds... i can burn them but when i start to read them it shows me an error like this " E:\ is not accessible. The request could not be performed because of an I/O device error." its killin me, please help

  • Servlet chaining

    Hi, I am having three servlets. First servlet is receiving request and after doing some processing it generates html and sends html to user. Once user enters all details in requested page(html page sent by servlet 1), he presses submit on that html.