Oracle prefetch

Hi,
Q1>Whenever we execute some querries, there is a roundtrip time involved to get the desired data from server which is taking much of the execution time.
Therefore we had to investigate on the problem and found out that ORACLE OCI allows prefetch at the client side and it is possible to build a client side cache by setting the "prefetch" attribute for the allocated transaction statment.
I wanted to confirm as to whether implementing the same, can we have significant performance gains..
Q2> What is the difference between fetch and prefetch? If fetch retrieves 5000 rows the will prefetch also retrieve 5000??
Any help will be appreciated
Thanks

I wanted to confirm as to whether implementing the same, can we have
significant performance gains..If your problem is that your application is executing too many round trips to get the data then using prefetch may help. However if the poor performance is down to badly written queries or poor application design then prefetching is unlikely to make things much better. For instance, if your problem is it takes 10 seconds to get back the first row, prefetching won't make any difference whatsoever.
Cheers, APC
Blog : http://radiofreetooting.blogspot.com/

Similar Messages

  • How does Oracle Prefetch work?

    There are 1000 rows in a table and I fire a "select *" query with a prefetch count of 100. How are the chunks of rows retrieved?
    Scenario one: Get first 100 row, wait till cursor rolls over to 101th row, then fetch 100 more rows.
    Scenario two: Get first 100 row, irrespective of whether this fetched rows are used or not, fetch the next 100 rows.
    I thinks it is scenario one. Any idea? Any links to such documentation.
    ~Sri

    I believe it works more like your first option.
    Prefetch tells the OCI layer to grab x rows at a time whenever it has to grab more rows, and to buffer those rows on the client side. When your application requests rows, it can select 1 row at a time (for simplicity of program logic) and get that row from the cache OCI has on the client, rather than incurring the overhead of going to the database for each row. If your application requests rows that have already been fetched by OCI, it will get those rows. If your application requests rows that OCI has not already fetched, OCI will grab x rows from the server and then fulfill your request.
    I'm assuming in the above discussion that your application is fetching fewer than x (prefetch size) records, since that's the case 99% of the time. I would assume that if your application fethes 2x records, that would be done in a single database round-trip rather than 2 round-trips, but I'm not sure of that.
    Justin

  • Prefetching in oracle

    I know that the prefetch issue for Oracle in handled by OCI calls. But in Db2 there's an option for influence this on the database side via "PREFETCHSIZE AUTOMATIC".
    Is there something on Oracle side I could adjust to obtain better prefetching time and sizes?
    Thanks a lot,
    mj

    Most client API's allow you to influence the amount of prefetching that the OCI layer is going to do. Each API will have a different approach to this-- in JDBC you can set your fetch size, in ODBC, you can configure prefetch at the DSN level, in SQL*Plus, you can manipulate the arraysize, other APIs are likely to have other approaches.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Jdbc connection to oracle

    Hi,
    I'm using jdeveloper 3.2 and connect with no problem using the connection wizard with the following parameters:
    Connection name - santanatst1
    connection type - JDBC
    user - castle1
    password - 12345
    role - normal
    select a jdbc driver - Oracle JDBC OCI-8
    select a connection method - Existing TNS Names
    host ID - santana.coid.com
    sid - orclde
    port - 1526
    network protocol - TCP
    row prefetch - 10
    batch value - 1
    However, my code below results in the following error:
    SQLException:[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    "C:\Program Files\Oracle\JDeveloper 3.2\java1.2\jre\bin\javaw.exe" -mx50m -classpath "
    C:\Program Files\Oracle\JDeveloper 3.2\myclasses;C:\Program Files\Oracle\JDeveloper 3.2\lib\jdev-rt.zip;
    C:\Program Files\Oracle\JDeveloper 3.2\jdbc\lib\oracle8.1.7\classes12.zip;
    C:\Program Files\Oracle\JDeveloper 3.2\lib\connectionmanager.zip;
    C:\Program Files\Oracle\JDeveloper 3.2\java1.2\jre\lib\rt.jar" catspackage.catsTables
    String DSN="orclde@santana:1526";
    String UserName = "castle1";
    String PassWord = "12345";
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbc:odbc:orclde@santana:1526";
    // String url="jdbc:odbc:"+DSN;
    Connection con=DriverManager.getConnection(url,UserName,PassWord);
    any help would be great!
    DAZED and CONFUSED

    Try
    class.forName("oracle.jdbc.driver.OracleDriver");
    -A
    Hi,
    I'm using jdeveloper 3.2 and connect with no problem using the connection wizard with the following parameters:
    Connection name - santanatst1
    connection type - JDBC
    user - castle1
    password - 12345
    role - normal
    select a jdbc driver - Oracle JDBC OCI-8
    select a connection method - Existing TNS Names
    host ID - santana.coid.com
    sid - orclde
    port - 1526
    network protocol - TCP
    row prefetch - 10
    batch value - 1
    However, my code below results in the following error:
    SQLException:[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    "C:\Program Files\Oracle\JDeveloper 3.2\java1.2\jre\bin\javaw.exe" -mx50m -classpath "
    C:\Program Files\Oracle\JDeveloper 3.2\myclasses;C:\Program Files\Oracle\JDeveloper 3.2\lib\jdev-rt.zip;
    C:\Program Files\Oracle\JDeveloper 3.2\jdbc\lib\oracle8.1.7\classes12.zip;
    C:\Program Files\Oracle\JDeveloper 3.2\lib\connectionmanager.zip;
    C:\Program Files\Oracle\JDeveloper 3.2\java1.2\jre\lib\rt.jar" catspackage.catsTables
    String DSN="orclde@santana:1526";
    String UserName = "castle1";
    String PassWord = "12345";
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbc:odbc:orclde@santana:1526";
    // String url="jdbc:odbc:"+DSN;
    Connection con=DriverManager.getConnection(url,UserName,PassWord);
    any help would be great!
    DAZED and CONFUSED

  • Oracle R Enterprise installation ERROR: cannot copy dll file

    This is bit strange, I posted this message in 2 forums but surprisingly can't find it anymore!! Anyways, I would appreciate if anyone can help me a bit on this issue:
    I am having trouble installing ORE 1.3 on my windows 7 (home premium, personal notebook) 64 bit. I strictly followed the installation note and made sure all the path variables are defined properly. My R version is 2.15.1. My Windows user is a member of ora_dba group as can be seen below.
    C:\Users\sourabh>net localgroup ora_dba
    Alias name        ora_dba
    Comment         Oracle DBA Group
    Members
    NT AUTHORITY\SYSTEM
    sourabh
    The command completed successfully.Now when I try to install.bat (bare with me as I try to include the whole path as I believe there may be the problem. Note that my oracle and R installation is in H:\ drive, not in C:\. Can that be an issue about some windows permission? I off-course tried many ways, gave the user full permission, but no luck.)
    C:Users\sourabh>H:\ORACLE\OracleREnterprise\ORE\ore-server-win-x86_64-1.3\server\install.bat
    Oracle R Enterprise 1.3 Server Installation.
    Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
    Checking R ...................................
    Pass
    Checking R libraries ........................
    Pass
    Checking ORACLE_HOME ...............
    Pass
    Checking ORACLE_SID ..................
    Pass
    Checking sqlplus ...........................
    Pass
    Checking ORE ..............................
    Pass
    Current configuration
      R_HOME            = H:\ORACLE\OracleREnterprise\R\R-2.15.1
      R_LIBS_USER     = H:\ORACLE\Oracle11g\product\11.2.0\dbhome\R\library
      ORACLE_HOME  =  H:\ORACLE\Oracle11g\product\11.2.0\dbhome
      ORACLE_SID      = SINHA
    Do you wish to install ORE? [yes]
    Choosomg RQSIS tablespace
    PERMANENT tablespace to use for RQSYS [SYSAUX]:
      Using default SYSAUX
    TEMPORARY tablespace to use for RQSYS [TEMP]:
      Using default TEMP
      Tablespace summary
      PERMANENT tablespace = SYSAUX
      TEMPORARY tablespace = TEMP
    Installing libraries ..............
    Fail
      ERROR: cannot copy "rqe.dll" to "H:\ORACLE\Oracle11g\product\11.2.0\dbhome\bin"
    C:Users\sourabh>Now here is the default group/user and permissions structures for C:\ and H:\ installation directories on my computer:
    C:\program files :
            Group or user names                                    Permissions
            CREATOR OWNER                                          Special Permissions
            SYSTEM                                                 FULL control
            Administrators (Win7\administrators)                   FULL control               
            Users (Win7\Users)                                     Read & execute, List folder contents, Read
            TrustedInstaller                                       List folder contents, Special Permissions
    H:\%ORACLE_HOME% :
            Group or user names                                    Permissions
            Authenticated Users                                    Special Permissions
            SYSTEM                                                 FULL control
            Administrators (Win7\administrators)                   FULL control                Now noticed that there is no user called sourabh (Win7\Users) or Users (Win7\Users) on H:\, so I created and gave them "Full control" permission before running install script, but still no luck.... Any help please?
    Thanks,
    Sourabh

    Hi all,
    I have finally solved the problem, it seems somehow on my windows home premium I can't run the install script (on H:\ ) from the command line. I manually ran the batch script by double clicking on it, it ran fine and I was finally able to install ORE (server + supported + client) on my laptop. Now the connection -- followed through the manual, created user and granted all the roles. Now that I want to test the connection, I open R console and below are the input and output error message though it seems I can connect to the database:
    R>
    R> library(ORE)
    Loading required package: OREbase
    Attaching package: ‘OREbase’
    The following object(s) are masked from ‘package:base’:
        cbind, data.frame, eval, interaction, order, paste, pmax, pmin, rbind, table
    Loading required package: OREstats
    Loading required package: MASS
    Loading required package: OREgraphics
    Loading required package: OREeda
    Loading required package: OREdm
    Loading required package: lattice
    Loading required package: OREpredict
    Loading required package: ORExml
    R>
    R>
    R>
    R> ore.connect(user = 'scott', sid = 'sinha', host = 'win7', password = 'tiger', port = 1521, all = T)
    Error in .oci.GetQuery(conn, statement, data = data, prefetch = prefetch,  :
      ORA-06520: PL/SQL: Error loading external library
    ORA-06522: Unable to load DLL
    ORA-06512: at "RQSYS.RQEVALIMPL", line 17
    ORA-06512: at "RQSYS.RQEVALIMPL", line 14
    ORA-06512: at line 4
    R>
    R>
    R> ore.is.connected()
    [1] TRUE
    R> I get the exact same error when I try to use even the ORE user "rquser". Any suggestion how to resolve this error?
    Thanks,
    Sourabh

  • Revised product name: "Oracle GlassFish Enterprise Message Queue"

    Hello,
    the release notes for OpenMQ 4.5 build 16 include a note about a revised product name, "Oracle GlassFish Enterprise Message Queue". Is this planned to be the future product name for the commercial product (the product formerly known as Java System Message Queue), or is this meant to be the name for both versions?
    Many thanks in advance,
    Michael Justin
    Edited by: 801285 on 10.10.2010 01:49

    Hi all,
    I have finally solved the problem, it seems somehow on my windows home premium I can't run the install script (on H:\ ) from the command line. I manually ran the batch script by double clicking on it, it ran fine and I was finally able to install ORE (server + supported + client) on my laptop. Now the connection -- followed through the manual, created user and granted all the roles. Now that I want to test the connection, I open R console and below are the input and output error message though it seems I can connect to the database:
    R>
    R> library(ORE)
    Loading required package: OREbase
    Attaching package: ‘OREbase’
    The following object(s) are masked from ‘package:base’:
        cbind, data.frame, eval, interaction, order, paste, pmax, pmin, rbind, table
    Loading required package: OREstats
    Loading required package: MASS
    Loading required package: OREgraphics
    Loading required package: OREeda
    Loading required package: OREdm
    Loading required package: lattice
    Loading required package: OREpredict
    Loading required package: ORExml
    R>
    R>
    R>
    R> ore.connect(user = 'scott', sid = 'sinha', host = 'win7', password = 'tiger', port = 1521, all = T)
    Error in .oci.GetQuery(conn, statement, data = data, prefetch = prefetch,  :
      ORA-06520: PL/SQL: Error loading external library
    ORA-06522: Unable to load DLL
    ORA-06512: at "RQSYS.RQEVALIMPL", line 17
    ORA-06512: at "RQSYS.RQEVALIMPL", line 14
    ORA-06512: at line 4
    R>
    R>
    R> ore.is.connected()
    [1] TRUE
    R> I get the exact same error when I try to use even the ORE user "rquser". Any suggestion how to resolve this error?
    Thanks,
    Sourabh

  • Oracle: Please implement simple performance improvement in JDBC (Thin) Driver

    Oracle should put dynamic prefetch into their (thin) JDBC driver. I don't use the OCI driver so I don't know how this applies.
    Some of you may be aware that tweaking a statement's row prefetch size can improve performance quite a lot. IIRC, the default prefetch is about 30 and that's pretty useless for queries returning large (# of rows) resultsets, but it's pretty good for queries returning only a small number of records. Just as an example, when running a simple SELECT * FROM foo WHERE ROWNUM <= somenumber query, here's what I got:
    Prefetch = 1: 10000 rows = 15 secs, 1000 rows = 1.5 secs, 10 rows = 30 ms
    Prefetch = 500: 10000 rows = 2.5 secs, 1000 rows = 280 ms, 10 rows = 80 ms
    Prefetch = 2000: 10000 rows = 2 secs, 1000 rows = 700 ms, 10 rows = 460 ms
    From our experience, the default of 30 (?) is too low for most applications, 500 to 1000 would be a better default. In the end, though, the only way to get best performance is to adjust the prefetch size to the expected number of rows for every query. While that sounds like a reasonable effort for developers of a simple client/server application, in a 3-tier system that deals with connection pools in an application server, this just won't work, so here's my suggestion on how Oracle should address this:
    Instead of having just a single prefetch setting for the statement (or connection), there should be an 'initial' prefetch value (with a default of somewhere between 1 and 50) and a maximum prefetch value (with a default of somewhere between 500 and 5000). When the driver pulls the first batch of records from the server it should use the initial refresh. If there are more records to fetch, it should fetch them using the maximum prefetch. This would allow the driver to perform much better for small AND large resultsets while, at the same time, making it transparent to the application (and application developer).
    [email protected]

    I have exactly the same problem, I tried to find out what is going on, changed several JDBC Drivers on AIX, but no hope, I also have ran the process on my laptop which produced a better and faster performance.
    Therefore I made a special solution ( not practical) by creating flat files and defining the data as an external table, the oracle will read the data in those files as they were data inside a table, this gave me very fast insertion into the database, but still I am looking for an answer for your question here. Using Oracle on AIX machine is a normal business process followed by a lot of companies and there must be a solution for this.

  • Oracle ODBC and DAO extremely slow

    Hi
    I'm using Microsoft DAO 3.6 with an Oracle ODBC connection (version 9.2) in an VB6 application.
    Opening an updateable dynaset is extremely slow, I have measured the performance with Oracle ODBC, Microsoft Oracle ODBC and Microsoft SQL-Server ODBC as follows:
    Oracle ODBC: 1952 ms
    MS Oracle ODBC: 360 ms
    MS SQL-Server ODBC: 40 ms (connection to a MS SQL-Server)
    If I use the SQLpassthrough option the result is about 10 ms in all 3 cases, but the dynaset is readonly !
    The testing program is as follows:
    Option Explicit
    Private Declare Function timeGetTime Lib "winmm.dll" () As Long
    Private Sub Form_Load()
    Dim wsdata As DAO.Workspace
    Dim db As DAO.Database
    Dim dbconn As String
    Dim rs As DAO.Recordset
    Dim start As Long
    dbconn = "ODBC;DSN=AdhocitORA;UID=adhocit;PWD=adhocit;"
    Set wsdata = DBEngine.Workspaces(0)
    Set db = wsdata.OpenDatabase("", False, False, dbconn)
    start = timeGetTime
    Set rs = db.OpenRecordset("Select * from Afdeling", dbOpenDynaset)
    rs.MoveLast
    rs.MoveFirst
    rs.Close
    Set rs = Nothing
    MsgBox "Time " & timeGetTime - start
    End Sub
    Is there any setting in the Oracle ODBC, that need to be adjusted ??
    Erling

    Why are you doing a moveLast followed by a moveFirst? That's going to force Oracle to retrieve all the records in the recordset. If there are a lot of records, you'll probably see a benefit if you increase the prefetch in the Oracle ODBC DSN configuration.
    Justin

  • Oracle 8.1.6, slow performance using XSU

    Hi,
    We have a problem with some queries running in our production environment. When we run them directly through sqlplus they take milliseconds, however when we pass them through our wrapper to the XSU, they can take 5 or 6 seconds to return. The type of query just involves reading data from the database and returning it in XML through the XSU. The wrapper procedure we have written is shown below. Some of the XML we get back can be quite big, hence the check on the return length, but nothing greater than this length will normally be passed through the XSU. We have no issues with indexes etc, as I say the queries run fast if we don't process them through the XSU.
    We beleive that the problems may be exaggerated by the load on the database at any time, and are going to investigate this further in the production environment when we get a chance but at the moment we are a bit stumped.
    Does anyone have an idea why we are experiencing such large overheads when going through the XSU? Is there anything in our wrapper procedure which could add to the delay? Would introducing bind variables into our queries help? Any advice much appreciated.
    PROCEDURE XML_Query(p_SQL IN VARCHAR2,
    p_XML OUT LONG) IS
         v_Context          DBMS_XMLQuery.ctxType;
         v_CLOB      CLOB;
         v_Length          INTEGER;
         v_Buffer          VARCHAR2(2767);
         v_Amount          BINARY_INTEGER := 30000;
         v_Offset          INTEGER := 1;
         e_OutputTooLarge     EXCEPTION;
    BEGIN
         --Get the query context
         v_Context := DBMS_XMLQuery.newContext(p_SQL);
         --v_Context := DBMS_XMLQuery.newContext('SELECT * FROM COLL_SCHEME');
         --Set the date format
         DBMS_XMLQuery.setDateFormat(v_Context,'dd/MM/yyyy hh:mm:ss');
         --Get the XML result
         v_CLOB := DBMS_XMLQuery.getXML(v_Context);
         --Check the length of the result
         v_Length := DBMS_LOB.GETLENGTH(v_CLOB);
         --We currently have a 32767 character limit
         IF v_Length > 32767 THEN
              --Close the context
              DBMS_XMLQuery.closeContext(v_Context);
              --Raise exception
              RAISE e_OutputTooLarge;
         END IF;
         --The first output is always the XML header <?xml version = '1.0'?>
         --We dont want it, so set the Offset to 24 to skip it
         v_Offset := 24;
         --Read the result into the output parameter (max 30000 chars at a time)
         DBMS_LOB.READ(v_CLOB,v_Amount,v_Offset,p_XML);
         --If there is more, get the remaining chars (up to another 2767)
         IF v_Length > 30000 THEN
              v_Amount := 2767;
              DBMS_LOB.READ(v_CLOB,v_Amount,30000,v_Buffer);
              p_XML := p_XML || v_Buffer;
         END IF;
         --Close the context
         DBMS_XMLQuery.closeContext(v_Context);
    EXCEPTION
         WHEN e_OutputTooLarge THEN
              -- Raise the error to the calling process
              RAISE_APPLICATION_ERROR(-20000,'XML output to large. (' || TO_CHAR(v_Length) || ')');
    END XML_Query;

    Thanks Justin. I tried what you suggested. Here's the findings:
    1. increase prefetch count -- did not seem to make a significant difference;
    2. tried MicroSoft ODBC driver -- See to be a little quicker, but still way slower than native SQLnet or Net8;
    3. Use Oracle ODBC test instead of application -- Oracle ODBC test seem to restrict the max row retrieval to 100 rows -- but it still take 10 to 20 seconds, which means for 800 rows it will take the same amount of time. I checked the NT taskmanager, while retieving data there's no CPU consumption.
    4. Installed Oracle to another machine in the same location on NT/wintel box. Response time ODBC vs SQLnet is comparable (50 msec or so) on 200 rows data retrieval. The production database is in DEC alpha machine running NT.
    Based on all these testing, I am still not sure what might have caused the performance problem in production oracle. Any further suggestions?
    null

  • Strange block prefetch patterns in 11g

    Hi.
    I've detected that Oracle 11g is able to prefect blocks when using table access by index rowid. This is great for datawarehouses (DWH), but when/how Oracle uses block level prefetching is not clear.
    This problem really affects performance on 11g datawareshouses as the results can be very different.
    So far, where's what I've found (these results where collected for empty buffer caches):
    Oracle is able to prefetch index and table blocks when doing table access by index rowid even if there's no nested loop join batching
    After a tablespace being created, nested loops on table/index in the tablespace are done using single block reads (db file sequential read). This only goes away after the DB is bounced. Neither gathering statistics nor flushing buffer_cache/shared_pool solves the problem.
    After the DB is bounced, when doing nested loops access by rowid, the first block of each extent is read using single block reads and the remaining of the extent is prefetched using 'db file scattered read' up to the end of the extend or DBFMRB (assuming the data is packed together sequentially in the extents)
    Next time the data is requested from that extent, all data from table/index is read using db file scattered reads,  there are no longer single block reads for the extent header block.
    Forcing full scans on index and tables is enough for Oracle to cache (somewhere) the extent header information. Flushing the cache/shared_pool will not invalidate that information and prefetches will read all extent wihout single block reads for the header block.
    Where's how I've reproduced the problem, on Oracle 11.2.0.1.0, Windows 7 64 bits with local disks (no ASM), 8K block size, .
    Creating a table+index in a 128K tablespace (each segment will have 16 blocks). The data in the table is sorted by ID, so filtering by ID will return the least number of block possible and all blocks are consecutive:
    CREATE TABLESPACE TS_128K DATAFILE  'd:\ORADATA\TESTE\TS_128K_002.DBF' SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING ONLINE PERMANENT
    EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128k
    SEGMENT SPACE MANAGEMENT MANUAL ;
    create table T tablespace TS_128K nologging as
    select mod(rownum, 1e2) id, lpad('x', 1, 'x') x
    from dual connect by level <= 1e6
    order by id;
    create index IDX_T on T(id) tablespace TS_128K nologging compress;
    exec dbms_stats.gather_table_stats(user, 'T', estimate_percent=>null,method_opt=>'for all columns size 1')
    Read the data from table using the index:
    alter session set db_file_multiblock_read_count = 128 ;
    alter system flush buffer_cache;
    alter system flush shared_pool;
    select count(length(x)) from T where id between 10 and 16 ;
    Execution Plan
    | Id  | Operation                    | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT             |       |     1 |     5 |   251   (1)| 00:00:04 |
    |   1 |  SORT AGGREGATE              |       |     1 |     5 |            |          |
    |   2 |   TABLE ACCESS BY INDEX ROWID| T     | 80606 |   393K|   251   (1)| 00:00:04 |
    |*  3 |    INDEX RANGE SCAN          | IDX_T | 80606 |       |   127   (1)| 00:00:02 |
    Predicate Information (identified by operation id):
       3 - access("ID">=10 AND "ID"<=16)
    This is what I get when until I bounce the DB (all reads are db file sequential reads)
    WAIT #11: nam='SQL*Net message to client' ela= 4 driver id=1413697536 #bytes=1 p3=0 obj#=74261 tim=96925045642
    WAIT #11: nam='db file sequential read' ela= 6208 file#=7 block#=1665 blocks=1 obj#=74470 tim=96925051918
    WAIT #11: nam='db file sequential read' ela= 4851 file#=7 block#=2171 blocks=1 obj#=74470 tim=96925056835
    WAIT #11: nam='db file sequential read' ela= 5796 file#=7 block#=1819 blocks=1 obj#=74470 tim=96925062678
    WAIT #11: nam='db file sequential read' ela= 7091 file#=7 block#=280 blocks=1 obj#=74469 tim=96925069857
    WAIT #11: nam='db file sequential read' ela= 282 file#=7 block#=281 blocks=1 obj#=74469 tim=96925070204
    WAIT #11: nam='db file sequential read' ela= 270 file#=7 block#=1820 blocks=1 obj#=74470 tim=96925070601
    WAIT #11: nam='db file sequential read' ela= 218 file#=7 block#=282 blocks=1 obj#=74469 tim=96925070971
    After I bounce the database, then it starts to read the first block using single reads and the remaining blocks on the extent using multiblock reads:
    EXEC #5:c=0,e=15,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=1883549804,tim=98054723327
    WAIT #5: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=98054723367
    WAIT #5: nam='Disk file operations I/O' ela= 72 FileOperation=2 fileno=7 filetype=2 obj#=74474 tim=98054723486
    WAIT #5: nam='db file sequential read' ela= 12960 file#=7 block#=1665 blocks=1 obj#=74474 tim=98054736474
    WAIT #5: nam='db file sequential read' ela= 21410 file#=7 block#=2171 blocks=1 obj#=74474 tim=98054757983
    WAIT #5: nam='db file sequential read' ela= 22377 file#=7 block#=1819 blocks=1 obj#=74474 tim=98054780424
    WAIT #5: nam='db file sequential read' ela= 15349 file#=7 block#=280 blocks=1 obj#=74473 tim=98054795897
    WAIT #5: nam='db file scattered read' ela= 13822 file#=7 block#=281 blocks=7 obj#=74473 tim=98054809899
    WAIT #5: nam='db file scattered read' ela= 488 file#=7 block#=1820 blocks=4 obj#=74474 tim=98054857456
    WAIT #5: nam='db file sequential read' ela= 34925 file#=7 block#=1824 blocks=1 obj#=74474 tim=98054894002
    WAIT #5: nam='db file scattered read' ela= 171842 file#=7 block#=1825 blocks=15 obj#=74474 tim=98055066371
    WAIT #5: nam='db file sequential read' ela= 261 file#=7 block#=288 blocks=1 obj#=74473 tim=98055067476
    WAIT #5: nam='db file scattered read' ela= 1328 file#=7 block#=289 blocks=15 obj#=74473 tim=98055069298
    WAIT #5: nam='db file sequential read' ela= 24779 file#=7 block#=1840 blocks=1 obj#=74474 tim=98055098838
    WAIT #5: nam='db file scattered read' ela= 1257 file#=7 block#=1841 blocks=15 obj#=74474 tim=98055100636
    WAIT #5: nam='db file sequential read' ela= 24738 file#=7 block#=304 blocks=1 obj#=74473 tim=98055126180
    WAIT #5: nam='db file scattered read' ela= 15299 file#=7 block#=305 blocks=15 obj#=74473 tim=98055142016
    WAIT #5: nam='db file sequential read' ela= 34570 file#=7 block#=1856 blocks=1 obj#=74474 tim=98055181298
    WAIT #5: nam='db file scattered read' ela= 1309 file#=7 block#=1857 blocks=15 obj#=74474 tim=98055183144
    WAIT #5: nam='db file sequential read' ela= 13036 file#=7 block#=320 blocks=1 obj#=74473 tim=98055197077
    If I flush the caches and ask for the same data , now the full extent is read using multiblock reads (if I change the filter on ID to read from extents that where never visited before, I'll get that single block read on header + remaining extent multiblock reads)
    WAIT #6: nam='SQL*Net message to client' ela= 4 driver id=1413697536 #bytes=1 p3=0 obj#=0 tim=98237022295
    WAIT #6: nam='db file sequential read' ela= 12608 file#=7 block#=1665 blocks=1 obj#=74474 tim=98237034964
    WAIT #6: nam='db file sequential read' ela= 4829 file#=7 block#=2171 blocks=1 obj#=74474 tim=98237039883
    WAIT #6: nam='db file scattered read' ela= 7116 file#=7 block#=1808 blocks=16 obj#=74474 tim=98237047101
    WAIT #6: nam='db file scattered read' ela= 7359 file#=7 block#=272 blocks=16 obj#=74473 tim=98237054586
    WAIT #6: nam='db file scattered read' ela= 1359 file#=7 block#=1824 blocks=16 obj#=74474 tim=98237057773
    WAIT #6: nam='db file scattered read' ela= 1358 file#=7 block#=288 blocks=16 obj#=74473 tim=98237060271
    WAIT #6: nam='db file scattered read' ela= 11341 file#=7 block#=1840 blocks=16 obj#=74474 tim=98237076799
    Can anyone explain the rules for block prefetching/batching ? This is happening even without the query plan using nested loop batch joins as you can see in the plan above.
    Thanks in advance.

    Hi,
    I don't think you should expect db file scattered read waits with TABLE ACCESS BY ROWID -- this is not the normal behavior. I think the only reason you're getting them after you bounce the database is because Oracle "sees" that the buffer cache is empty and wants to fill it using multiblock reads -- so multiblock reads don't help the performance of this particular query, rather, they're supposed to help the global database performance.
    Did you measure elapsed time in both cases?
    Best regards,
      Nikolay

  • Oracle Block Size - question for experts

    Hi ,
    For years i thought that my system block size was 8K.
    Lately due to an HPUX Bug i found that the file system block size is gust .... 1K
    (HP DocId: DCLKBRC00006913 fstyp(1m) returns unexpected block size (f_bsize) for VXFS )
    My instance is currently 10204 but previously was 7.3 --> 8 --> 8174 --> 10204.
    Since its old instance its block size is gust 4kb.
    We are planing to create new file system block size of 8k.
    The instance size is about 2 TB.
    Creating the whole database with 8 kb is impossible since its 24*7 instance.
    Do you think that i sould move gust few important tables to a new tablespace with 8k block size , or should i leave it with 4 kb ?
    Thanks

    Given that your Oracle Database Block_Size (4K) is a multiple of the FileSystem Block_Size (1K), there should be no inherent significant issue, as such.
    Yes, it would have been nice to have an 8KB Oracle Database Block_Size but whether you should recreate your FileSystems to 8KB is a difficult question. There would be implications on PreFetch that the OS does and on how the underlying Storage (must be a SAN, I presume) handles those requests.
    A thorough test (if you can setup a test environment for 2TB such that it does NOT share the same HW, doesn't complicate PreFetches in the existing SAN) would be well adviced.
    Else, check with HP and Veritas support if there are known issues and/or any Desupport plans for this combination ?!
    Oracle, obviously, would have issues with Index Key Length sizes if the Block Size is 4KB. Presumably you do not need to add any new indexes with very large keys.
    Having said that, you would have read all those posts about how Oracle doesn't (or really does ?) test every different block-size ! However, Oracle had, before 8i, been using 2K and 4K block sizes. Except that the new features (LMT, ASSM etc) may not have been well tested.
    Since you upgraded from 7.3 in place without changing the Block_Size, I would venture to say that your database is still using Dictionary Managed and Manual Allocation and Segment Space Management Manual ?
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • Problem Access2000-- ODBC-- Oracle 9.2 reexecuting on scrolling down result

    I have the following problem:
    I have an access 2000 frontend-db with linked oracle tables and views via Oracle-ODBC driver Version 9.2. I have relative complex linked Oracle-views which are collecting data from 4 different tables with outer joins.
    When I open one of this Oracle-views inside my Access-Frontend (in Access-Table-Register), I get the result after a few seconds. that's ok.
    But, if I want to scroll through the resultset in access, it seems, that everytime I push the 'pagedown' key, the view has to be executed again on my oracle database server. I can see that in the performance log of the Win2000 server from my Oracle-databaseserver.
    I testet the oracle-ODBC-parameter 'Prefetch count'. I set it to 1000 which should save 1000 records in the local memory. (my view has approx. 350 records). Even when I relink my Oracle-views in MS-Access and I check, the parameter settings, this doesn't help.
    I would be very gratefull for any help or suggestions.
    Thanks in advance,
    Zigi

    Thanks Pierre. I've performed the following test:
    1) I insert a chinese character in an NCHAR field in my table by using the UNISTR function thus:
    insert into tbl_test_ch (field1) values (unistr('\3E00'))
    2) I interrogated the value using the dump function thus:
    select dump(field1, 1016) FROM tbl_test_ch
    I'm struggling to understand the output. Obviously the character set being used is "AL16UTF16" (which I would expect to be able to store chinese characters), but the return_format argument I've provided to the function (1016) should return the hexadecimal code point of the character that's being stored. I would expect this to be the same as I inserted ("3E00"), but I'm getting the following output:
    DUMP(FIELD1,1016)
    Typ=1 Len=2 CharacterSet=AL16UTF16: 3e,0
    Can you shed any light on this?

  • Can Prefetch Count in OCCI be set externally (e.g. configuration, conn. string)?

    we have an OCCI client program for which we want to increase the prefetch count preferably without producing a new binary between releases. Is it possible via a configuration parameter or the connection string (which is parameterized in our program)? Thanks

    we have an OCCI client program for which we want to increase the prefetch count preferably without producing a new binary between releases. Is it possible via a configuration parameter or the connection string (which is parameterized in our program)? Thanks
    Not that I am aware of. For OCI the methods needed are part of the statement class, not the connection class. See the OCI prog guide
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28390/reference030.htm#sthref889
    setPrefetchMemorySize()
    Sets the amount of memory that will be used internally by OCCI to store data fetched during each round trip to the server.
    setPrefetchRowCount()
    Sets the number of rows that will be fetched internally by OCCI during each round trip to the server.

  • Re-installation of a damaged/partial install of Oracle Dev Suite 10g (9.0.4

    Hi
    First of apologies if this is the incorrect location to post - I couldn't find a dedicated forum!!
    My problem is this......
    I have followed Oracle's guidelines and created a silent installation of the full Dev Suite 10g (9.0.4) and have used this many times successfully to install to fully patched Windows XP Pro workstations.
    Periodically the installation fails and only partially completes....no problem I naively thought - reinstall.
    Initially I tried re-installing over the top of the partial install - but this always fails with the error "You have specified a non-empty directory to install this product...etc"
    Oracle's recommended method is to uninstall and then reinstall - except the installer doesn't think anything is installed.
    The obvious thing was then to delete all folders and files pertaining to Dev Suite....this also failed with the same message!!
    I extended my deletion to temp folders, windows\prefetch and the registry......still fails!!
    Frustratingly the java installer doesn't have the force reinstall switch that the windows installer has....gggrrrr...
    So I had the mad idea of watching a manual install......this generated the non-empty folder error......so I deleted the folders and hey bisto!! Then I started getting these errors "The value of the environment variable path is more than 1023 characters. This value cannot be set."
    I even tried creating a response file against a damaged install.....failed with both of the above errors.
    Now I am stuck....if only Oracle used a decent windows installer!!
    I did think to check the installation on a virgin build workstation - success....
    I really hope someone can help me with this as it's driving me mad!!
    Please help
    Thanks in advance

    Many thanks Sainath.....
    This has certainly helped......the limitation appears to be in the java installer......it seems to check whether there is enough space in the Env Var PATH and errors if there is insufficient space.
    Of course the installer was written in pre SP2 days when the Env Vars were limited to 1023 characters......todat SP2 allows 2047 characters.
    My installation script now temporarily modifies the PATH variable, allows the installation and then returns the PATH variable to its original state and then adds the DevSuite paths.
    I can now smile again.
    Thanks
    Greg

  • MTS problem, excessive oracle processes in the OS part.

    Hi,
    yesterday I changed internet banking connections to MTS (shared server)
    So, I changed the system to mix architecture (dedicated & shared both)
    DB version is 10.2.0.3
    OS version is AIX 5.3.5
    Number of dispatchers are 2, each with 250 connections.
    Shared_Servers=10
    Max_Shared_Servers=40
    After 3 hours, I take the following error, no oracle process can be forked after in the OS.
    At the time of problem, # of oracle processes in the OS was about 4000,
    which is the OS limit for max processes a user can create.
    But the number of sessions in the v$session was about 2000.
    I also observed that SMON process turned to ZOMBIE (defunct) process.
    It seems that MTS opens more oracle processes in the OS or turned some oracle processes to zombie.
    But how can it be, since MTS does not create any new oracle processes except shared server process
    in the OS.
    When I turned back to dedicated server, everything works fine, that is, database sessions and OS oracle prosesses are almost the same.
    Thanks,
    ORA-27300: OS system dependent operation:fork failed with status: 11
    ORA-27301: OS failure message: Resource temporarily unavailable
    ORA-27302: failure occurred at: skgpspawn3

    Buffer Cache: 1,200M 1,200M Std Block Size: 8K
    Shared Pool Size: 2,960M 2,960M Log Buffer: 14,352K
    Load Profile
    Per Second Per Transaction
    Redo size: 258,968.61 6,558.43
    Logical reads: 104,557.19 2,647.93
    Block changes: 2,360.58 59.78
    Physical reads: 7,752.76 196.34
    Physical writes: 120.65 3.06
    User calls: 1,534.90 38.87
    Parses: 374.77 9.49
    Hard parses: 13.12 0.33
    Sorts: 54.16 1.37
    Logons: 0.87 0.02
    Executes: 2,867.82 72.63
    Transactions: 39.49
    % Blocks changed per Read: 2.26 Recursive Call %: 73.94
    Rollback per transaction %: 14.15 Rows per Sort: 381.28
    Instance Efficiency Percentages (Target 100%)
    Buffer Nowait %: 99.96 Redo NoWait %: 100.00
    Buffer Hit %: 92.63 In-memory Sort %: 100.00
    Library Hit %: 99.01 Soft Parse %: 96.50
    Execute to Parse %: 86.93 Latch Hit %: 99.91
    Parse CPU to Parse Elapsd %: 38.25 % Non-Parse CPU: 99.11
    Shared Pool Statistics
    Begin End
    Memory Usage %: 90.66 89.40
    % SQL with executions>1: 72.50 56.30
    % Memory for SQL w/exec>1: 74.85 60.27
    Top 5 Timed Events
    Event Waits Time(s) Avg Wait(ms) % Total Call Time Wait Class
    CPU time 9,924 43.7
    db file sequential read 10,113,395 8,454 1 37.2 User I/O
    db file scattered read 1,660,502 1,848 1 8.1 User I/O
    SQL*Net more data from client 18,186 316 17 1.4 Network
    enq: TX - row lock contention 80 221 2,766 1.0 Application
    Wait Class
    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
    Wait Class Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn
    User I/O 11,955,810 0.00 10,465 1 83.97
    Network 4,053,277 0.00 390 0 28.47
    Application 6,355 1.15 225 35 0.04
    System I/O 795,447 0.00 213 0 5.59
    Commit 100,846 0.00 140 1 0.71
    Concurrency 2,770 0.36 11 4 0.02
    Configuration 46 19.57 0 8 0.00
    Other 1,491 0.07 0 0 0.01
    Wait Events
    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)
    Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn
    db file sequential read 10,113,395 0.00 8,454 1 71.03
    db file scattered read 1,660,502 0.00 1,848 1 11.66
    SQL*Net more data from client 18,186 0.00 316 17 0.13
    enq: TX - row lock contention 80 91.25 221 2766 0.00
    read by other session 157,454 0.00 142 1 1.11
    log file sync 100,846 0.00 140 1 0.71
    log file parallel write 128,249 0.00 137 1 0.90
    TCP Socket (KGAS) 2,429 0.00 64 26 0.02
    db file parallel write 10,158 0.00 55 5 0.07
    direct path write temp 6,721 0.00 13 2 0.05
    log file sequential read 981 0.00 8 9 0.01
    SQL*Net more data to client 156,908 0.00 6 0 1.10
    control file sequential read 651,338 0.00 5 0 4.57
    Log archive I/O 1,990 0.00 5 2 0.01
    latch: library cache 667 0.00 4 7 0.00
    db file parallel read 769 0.00 4 6 0.01
    os thread startup 127 0.00 4 33 0.00
    SQL*Net message to client 3,850,305 0.00 4 0 27.04
    SQL*Net break/reset to client 6,182 0.00 3 0 0.04
    control file parallel write 2,691 0.00 2 1 0.02
    latch: shared pool 145 0.00 2 12 0.00
    direct path read temp 13,714 0.00 1 0 0.10
    enq: RO - fast object reuse 93 0.00 1 9 0.00
    local write wait 300 0.00 0 1 0.00
    log file switch completion 29 0.00 0 12 0.00
    direct path read 1,806 0.00 0 0 0.01
    latch free 35 0.00 0 4 0.00
    direct path write 1,149 0.00 0 0 0.01
    SQL*Net more data to dblink 7,126 0.00 0 0 0.05
    log file single write 40 0.00 0 3 0.00
    cursor: pin S wait on X 12 83.33 0 8 0.00
    latch: cache buffers chains 1,666 0.00 0 0 0.01
    SQL*Net message to dblink 18,120 0.00 0 0 0.13
    reliable message 87 0.00 0 1 0.00
    LGWR wait for redo copy 1,209 0.00 0 0 0.01
    latch: messages 16 0.00 0 2 0.00
    latch: redo writing 7 0.00 0 5 0.00
    enq: TX - index contention 4 0.00 0 7 0.00
    rdbms ipc reply 95 0.00 0 0 0.00
    buffer busy waits 143 0.00 0 0 0.00
    latch: object queue header operation 18 0.00 0 1 0.00
    latch: checkpoint queue latch 2 0.00 0 5 0.00
    latch: cache buffers lru chain 2 0.00 0 3 0.00
    SQL*Net more data from dblink 203 0.00 0 0 0.00
    library cache load lock 1 0.00 0 4 0.00
    row cache lock 2 0.00 0 0 0.00
    latch: library cache pin 1 0.00 0 0 0.00
    undo segment extension 10 90.00 0 0 0.00
    cursor: pin S 26 0.00 0 0 0.00
    cursor: mutex S 2 0.00 0 0 0.00
    buffer deadlock 1 100.00 0 0 0.00
    SQL*Net message from client 3,850,087 0.00 2,879,903 748 27.04
    virtual circuit status 95,480 0.66 30,974 324 0.67
    jobq slave wait 6,672 87.16 18,382 2755 0.05
    wait for unread message on broadcast channel 3,611 100.00 3,521 975 0.03
    Streams AQ: waiting for messages in the queue 732 100.00 3,517 4805 0.01
    Streams AQ: qmn slave idle wait 129 0.00 3,506 27182 0.00
    Streams AQ: qmn coordinator idle wait 370 34.86 3,506 9477 0.00
    Streams AQ: waiting for time management or cleanup tasks 3 100.00 953 317683 0.00
    SQL*Net message from dblink 18,120 0.00 679 37 0.13
    HS message to agent 16,986 0.00 89 5 0.12
    single-task message 170 0.00 9 50 0.00
    pipe get 28 0.00 3 114 0.00
    class slave wait 2 0.00 0 0 0.00
    Background Wait Events
    ordered by wait time desc, waits desc (idle events last)
    Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn
    log file parallel write 128,212 0.00 137 1 0.90
    db file parallel write 10,158 0.00 55 5 0.07
    db file sequential read 8,822 0.00 11 1 0.06
    log file sequential read 981 0.00 8 9 0.01
    Log archive I/O 1,990 0.00 5 2 0.01
    os thread startup 127 0.00 4 33 0.00
    control file parallel write 2,091 0.00 1 1 0.01
    db file scattered read 172 0.00 1 3 0.00
    control file sequential read 12,106 0.00 1 0 0.09
    events in waitclass Other 1,351 0.00 0 0 0.01
    direct path read 1,800 0.00 0 0 0.01
    log file single write 40 0.00 0 3 0.00
    direct path write 900 0.00 0 0 0.01
    latch: redo writing 7 0.00 0 5 0.00
    latch: cache buffers chains 15 0.00 0 1 0.00
    log file sync 2 0.00 0 1 0.00
    buffer busy waits 6 0.00 0 0 0.00
    rdbms ipc message 246,802 7.02 60,773 246 1.73
    pmon timer 2,015 97.37 3,515 1744 0.01
    Streams AQ: qmn slave idle wait 129 0.00 3,506 27182 0.00
    Streams AQ: qmn coordinator idle wait 370 34.86 3,506 9477 0.00
    smon timer 519 0.00 3,505 6753 0.00
    Streams AQ: waiting for time management or cleanup tasks 3 100.00 953 317683 0.00
    Operating System Statistics
    Statistic Total
    NUM_LCPUS 0
    NUM_VCPUS 0
    AVG_BUSY_TIME 78,988
    AVG_IDLE_TIME 281,508
    AVG_IOWAIT_TIME 55,083
    AVG_SYS_TIME 17,835
    AVG_USER_TIME 61,046
    BUSY_TIME 1,265,704
    IDLE_TIME 4,506,088
    IOWAIT_TIME 883,071
    SYS_TIME 287,149
    USER_TIME 978,555
    LOAD 0
    OS_CPU_WAIT_TIME 1,232,300
    RSRC_MGR_CPU_WAIT_TIME 0
    PHYSICAL_MEMORY_BYTES 33,285,996,544
    NUM_CPUS 16
    NUM_CPU_CORES 8
    Service Statistics
    ordered by DB Time
    Service Name DB Time (s) DB CPU (s) Physical Reads Logical Reads
    andlp2 13,795.70 5,680.50 23,785,158 266,206,268
    SYS$USERS 5,146.80 2,456.20 3,079,496 60,895,888
    shared_andlp2 3,777.40 1,795.40 1,063,806 49,135,813
    SYS$BACKGROUND 0.00 0.00 12,840 1,021,071
    andlp2XDB 0.00 0.00 0 0
    Service Wait Class Stats
    Wait Class info for services in the Service Statistics section.
    Total Waits and Time Waited displayed for the following wait classes: User I/O, Concurrency, Administrative, Network
    Time Waited (Wt Time) in centisecond (100th of a second)
    Service Name User I/O Total Wts User I/O Wt Time Concurcy Total Wts Concurcy Wt Time Admin Total Wts Admin Wt Time Network Total Wts Network Wt Time
    andlp2 9575680 700718 2099 466 0 0 3945537 6997
    SYS$USERS 1415659 141165 151 25 0 0 20355 17
    shared_andlp2 951411 203079 364 144 0 0 81260 31984
    SYS$BACKGROUND 12818 1478 148 422 0 0 0 0
    SQL ordered by Elapsed Time
    Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.
    % Total DB Time is the Elapsed Time of the SQL statement divided into the Total Database Time multiplied by 100
    Elapsed Time (s) CPU Time (s) Executions Elap per Exec (s) % Total DB Time SQL Id SQL Module SQL Text
    1,443 104 273 5.29 6.35 9xvr07cvm5md0 httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    1,304 640 29 44.95 5.74 91wxrh27r5g8n DECLARE job BINARY_INTEGER := ...
    936 453 424 2.21 4.12 abkgjr63dv6u8 frmweb.exe SELECT MUS_K_ISIM , HESAP_NO ...
    859 335 30 28.63 3.78 c406h8xcvfn4s DECLARE job BINARY_INTEGER := ...
    703 272 30 23.45 3.10 g0y0bsusuagjt INSERT INTO MARDATA.M_D_HESAP_...
    701 139 1,613 0.43 3.09 g5636apbsuu6m Apache.exe declare rc__ number; simple_...
    664 589 16 41.50 2.92 gu3j96aktwv05 Apache.exe declare rc__ number; simple_...
    626 13 250 2.50 2.76 gn6w1hb4paw56 frmweb.exe SELECT TUTAR , B_A , ACIK_RE...
    517 94 754 0.69 2.28 3cawwq59capz2 frmweb.exe select mus_k_isim, hesap_no fr...
    515 463 16 32.19 2.27 chz9021ufnzyn Apache.exe SELECT SIR.SIRKET_ADI, P.SUBE...
    508 156 30 16.92 2.23 3ax52z7dpz9mc SELECT H.HESAP_NO, SUM(NVL(H....
    496 18 1,134 0.44 2.18 fydgv84cqwmxn frmweb.exe SELECT /*+ INDEX(M1 M_MHAREKET...
    419 124 53 7.90 1.84 7pxhq3kjq89c4 Apache.exe declare rc__ number; simple_...
    407 115 52 7.83 1.79 7q13983tc3z7j Apache.exe SELECT SUM(ORTALAMA_TUTAR_TL *...
    386 104 366 1.05 1.70 4pcsmrfq05c3t httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    382 311 598 0.64 1.68 53tzqfs73d0n4 httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    351 44 30 11.71 1.55 729cpbmdgb7xg frmweb.exe SELECT A.ISUBE , A.CEK_NO , ...
    322 238 131 2.46 1.42 gxkktn00ntrc7 frmweb.exe SELECT A.SUBE_KOD , A.HESAP_N...
    319 21 387 0.83 1.41 8rnb53wzsnjyz httpd@karabatak (TNS V1-V3) SELECT TO_CHAR(MAX(CIKIS), 'DD...
    312 29 269 1.16 1.37 6nmu8qrsffk0p frmweb.exe SELECT E.KULLANICIKODU , E.IP...
    296 194 126 2.35 1.30 3vtwpw06rp7q9 frmweb.exe SELECT A.SUBE_KOD , A.HESAP_N...
    SQL ordered by CPU Time
    Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.
    % Total DB Time is the Elapsed Time of the SQL statement divided into the Total Database Time multiplied by 100
    CPU Time (s) Elapsed Time (s) Executions CPU per Exec (s) % Total DB Time SQL Id SQL Module SQL Text
    640 1,304 29 22.06 5.74 91wxrh27r5g8n DECLARE job BINARY_INTEGER := ...
    589 664 16 36.79 2.92 gu3j96aktwv05 Apache.exe declare rc__ number; simple_...
    463 515 16 28.92 2.27 chz9021ufnzyn Apache.exe SELECT SIR.SIRKET_ADI, P.SUBE...
    453 936 424 1.07 4.12 abkgjr63dv6u8 frmweb.exe SELECT MUS_K_ISIM , HESAP_NO ...
    335 859 30 11.17 3.78 c406h8xcvfn4s DECLARE job BINARY_INTEGER := ...
    311 382 598 0.52 1.68 53tzqfs73d0n4 httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    272 703 30 9.07 3.10 g0y0bsusuagjt INSERT INTO MARDATA.M_D_HESAP_...
    238 322 131 1.82 1.42 gxkktn00ntrc7 frmweb.exe SELECT A.SUBE_KOD , A.HESAP_N...
    194 296 126 1.54 1.30 3vtwpw06rp7q9 frmweb.exe SELECT A.SUBE_KOD , A.HESAP_N...
    159 195 479 0.33 0.86 cc0nhrvkmuy8r httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    156 508 30 5.21 2.23 3ax52z7dpz9mc SELECT H.HESAP_NO, SUM(NVL(H....
    139 701 1,613 0.09 3.09 g5636apbsuu6m Apache.exe declare rc__ number; simple_...
    124 419 53 2.35 1.84 7pxhq3kjq89c4 Apache.exe declare rc__ number; simple_...
    115 407 52 2.21 1.79 7q13983tc3z7j Apache.exe SELECT SUM(ORTALAMA_TUTAR_TL *...
    104 386 366 0.28 1.70 4pcsmrfq05c3t httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    104 1,443 273 0.38 6.35 9xvr07cvm5md0 httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    94 517 754 0.12 2.28 3cawwq59capz2 frmweb.exe select mus_k_isim, hesap_no fr...
    44 351 30 1.46 1.55 729cpbmdgb7xg frmweb.exe SELECT A.ISUBE , A.CEK_NO , ...
    29 312 269 0.11 1.37 6nmu8qrsffk0p frmweb.exe SELECT E.KULLANICIKODU , E.IP...
    21 319 387 0.05 1.41 8rnb53wzsnjyz httpd@karabatak (TNS V1-V3) SELECT TO_CHAR(MAX(CIKIS), 'DD...
    18 496 1,134 0.02 2.18 fydgv84cqwmxn frmweb.exe SELECT /*+ INDEX(M1 M_MHAREKET...
    13 626 250 0.05 2.76 gn6w1hb4paw56 frmweb.exe SELECT TUTAR , B_A , ACIK_RE...
    SQL ordered by Gets
    Resources reported for PL/SQL code includes the resources used by all SQL statements called by the code.
    Total Buffer Gets: 377,028,313
    Captured SQL account for 36.7% of Total
    Buffer Gets Executions Gets per Exec %Total CPU Time (s) Elapsed Time (s) SQL Id SQL Module SQL Text
    36,098,836 30 1,203,294.53 9.57 335.17 858.88 c406h8xcvfn4s DECLARE job BINARY_INTEGER := ...
    25,797,967 30 859,932.23 6.84 156.31 507.52 3ax52z7dpz9mc SELECT H.HESAP_NO, SUM(NVL(H....
    21,427,570 598 35,832.06 5.68 310.83 382.37 53tzqfs73d0n4 httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    18,504,944 30 616,831.47 4.91 79.74 84.82 274s1h17p0j36 Reutersdevdb.exe (SELECT /*+ RULE */ '', T.own...
    18,132,811 29 625,269.34 4.81 639.68 1303.64 91wxrh27r5g8n DECLARE job BINARY_INTEGER := ...
    17,912,396 30 597,079.87 4.75 77.26 82.67 5cnac71x8744k Reutersdevdb.exe (SELECT /*+ RULE */ '', T.own...
    15,416,026 1,785 8,636.43 4.09 149.52 160.50 7u1rxxk2anfm1 httpd@karabatak (TNS V1-V3) SELECT /*+RULE*/ DISTINCT MD.S...
    11,188,695 16 699,293.44 2.97 588.69 664.07 gu3j96aktwv05 Apache.exe declare rc__ number; simple_...
    9,348,310 16 584,269.38 2.48 462.77 515.02 chz9021ufnzyn Apache.exe SELECT SIR.SIRKET_ADI, P.SUBE...
    8,674,950 424 20,459.79 2.30 452.70 935.96 abkgjr63dv6u8 frmweb.exe SELECT MUS_K_ISIM , HESAP_NO ...
    6,987,779 479 14,588.27 1.85 158.99 195.29 cc0nhrvkmuy8r httpd@karabatak (TNS V1-V3) declare rc__ number; simple_...
    6,545,269 53 123,495.64 1.74 124.31 418.90 7pxhq3kjq89c4 Apache.exe declare rc__ number; simple_...
    6,373,078 52 122,559.19 1.69 115.18 407.03 7q13983tc3z7j Apache.exe SELECT SUM(ORTALAMA_TUTAR_TL *...
    5,977,931 30 199,264.37 1.59 272.13 703.48 g0y0bsusuagjt INSERT INTO MARDATA.M_D_HESAP_...
    5,820,172 106 54,907.28 1.54 145.09 152.34 7nh29bk1sg42r frmweb.exe select distinct grup_kod, hes...
    Instance Activity Stats
    Statistic Total per Second per Trans
    CPU used by this session 820,065 227.42 5.76
    CPU used when call started 677,803 187.97 4.76
    CR blocks created 16,866 4.68 0.12
    Cached Commit SCN referenced 890,130 246.85 6.25
    Commit SCN cached 198 0.05 0.00
    DB time 3,363,185,519 932,675.92 23,620.20
    DBWR checkpoint buffers written 9,520 2.64 0.07
    DBWR checkpoints 100 0.03 0.00
    DBWR object drop buffers written 1,921 0.53 0.01
    DBWR parallel query checkpoint buffers written 0 0.00 0.00
    DBWR revisited being-written buffer 25 0.01 0.00
    DBWR tablespace checkpoint buffers written 0 0.00 0.00
    DBWR thread checkpoint buffers written 2,589 0.72 0.02
    DBWR transaction table writes 1,062 0.29 0.01
    DBWR undo block writes 75,368 20.90 0.53
    DDL statements parallelized 0 0.00 0.00
    DFO trees parallelized 0 0.00 0.00
    Misses for writing mapping 0 0.00 0.00
    PX local messages recv'd 0 0.00 0.00
    PX local messages sent 0 0.00 0.00
    Parallel operations downgraded 1 to 25 pct 0 0.00 0.00
    Parallel operations downgraded 50 to 75 pct 0 0.00 0.00
    Parallel operations not downgraded 0 0.00 0.00
    SMON posted for dropping temp segment 0 0.00 0.00
    SMON posted for undo segment recovery 0 0.00 0.00
    SMON posted for undo segment shrink 15 0.00 0.00
    SQL*Net roundtrips to/from client 3,859,275 1,070.25 27.10
    SQL*Net roundtrips to/from dblink 31,149 8.64 0.22
    active txn count during cleanout 115,814 32.12 0.81
    application wait time 22,502 6.24 0.16
    auto extends on undo tablespace 0 0.00 0.00
    background checkpoints completed 10 0.00 0.00
    background checkpoints started 10 0.00 0.00
    background timeouts 17,610 4.88 0.12
    branch node splits 7 0.00 0.00
    buffer is not pinned count 203,367,173 56,397.62 1,428.28
    buffer is pinned count 423,534,399 117,454.22 2,974.55
    bytes received via SQL*Net from client 875,387,626 242,761.80 6,147.99
    bytes received via SQL*Net from dblink 12,992,864 3,603.17 91.25
    bytes sent via SQL*Net to client ############### 1,369,289,664.01 34,677,525.68
    bytes sent via SQL*Net to dblink 52,952,034,748 14,684,615.90 371,890.74
    calls to get snapshot scn: kcmgss 15,353,638 4,257.86 107.83
    calls to kcmgas 732,189 203.05 5.14
    calls to kcmgcs 89,721 24.88 0.63
    change write time 3,250 0.90 0.02
    cleanout - number of ktugct calls 130,405 36.16 0.92
    cleanouts and rollbacks - consistent read gets 11,180 3.10 0.08
    cleanouts only - consistent read gets 2,244 0.62 0.02
    cluster key scan block gets 383,816 106.44 2.70
    cluster key scans 306,047 84.87 2.15
    commit batch performed 344 0.10 0.00
    commit batch requested 344 0.10 0.00
    commit batch/immediate performed 1,111 0.31 0.01
    commit batch/immediate requested 1,111 0.31 0.01
    commit cleanout failures: block lost 54,881 15.22 0.39
    commit cleanout failures: buffer being written 11 0.00 0.00
    commit cleanout failures: callback failure 1,410 0.39 0.01
    commit cleanout failures: cannot pin 77 0.02 0.00
    commit cleanout failures: hot backup in progress 0 0.00 0.00
    commit cleanouts 349,392 96.89 2.45
    commit cleanouts successfully completed 293,014 81.26 2.06
    commit immediate performed 767 0.21 0.01
    commit immediate requested 767 0.21 0.01
    commit txn count during cleanout 68,019 18.86 0.48
    concurrency wait time 1,058 0.29 0.01
    consistent changes 3,439,859 953.94 24.16
    consistent gets 366,680,318 101,687.49 2,575.26
    consistent gets - examination 121,966,420 33,823.63 856.59
    consistent gets direct 7,642 2.12 0.05
    consistent gets from cache 366,672,556 101,685.34 2,575.20
    current blocks converted for CR 55 0.02 0.00
    cursor authentications 14,703 4.08 0.10
    data blocks consistent reads - undo records applied 70,817 19.64 0.50
    db block changes 8,512,132 2,360.58 59.78
    db block gets 10,345,635 2,869.04 72.66
    db block gets direct 2,604 0.72 0.02
    db block gets from cache 10,343,017 2,868.32 72.64
    deferred (CURRENT) block cleanout applications 164,540 45.63 1.16
    dirty buffers inspected 201,591 55.91 1.42
    enqueue conversions 684,245 189.75 4.81
    enqueue deadlocks 0 0.00 0.00
    enqueue releases 2,493,773 691.57 17.51
    enqueue requests 2,493,903 691.61 17.52
    enqueue timeouts 68 0.02 0.00
    enqueue waits 101 0.03 0.00
    exchange deadlocks 1 0.00 0.00
    execute count 10,341,226 2,867.82 72.63
    failed probes on index block reclamation 0 0.00 0.00
    frame signature mismatch 0 0.00 0.00
    free buffer inspected 28,677,695 7,952.88 201.41
    free buffer requested 28,684,393 7,954.73 201.46
    global undo segment hints helped 0 0.00 0.00
    heap block compress 87,275 24.20 0.61
    hot buffers moved to head of LRU 3,506,139 972.32 24.62
    immediate (CR) block cleanout applications 13,424 3.72 0.09
    immediate (CURRENT) block cleanout applications 55,019 15.26 0.39
    index crx upgrade (found) 133 0.04 0.00
    index crx upgrade (positioned) 190,756 52.90 1.34
    index fast full scans (direct read) 0 0.00 0.00
    index fast full scans (full) 4,521 1.25 0.03
    index fast full scans (rowid ranges) 0 0.00 0.00
    index fetch by key 63,569,968 17,629.17 446.46
    index scans kdiixs1 47,264,964 13,107.48 331.95
    java call heap collected bytes 146,595,424 40,653.73 1,029.56
    java call heap collected count 2,109,118 584.90 14.81
    java call heap gc count 2,036 0.56 0.01
    java call heap live object count 53,667 14.88 0.38
    java call heap live object count max 163,629 45.38 1.15
    java call heap live size 4,897,136 1,358.07 34.39
    java call heap live size max 15,033,192 4,168.99 105.58
    java call heap object count 135,994 37.71 0.96
    java call heap object count max 194,386 53.91 1.37
    java call heap total size 8,131,840 2,255.12 57.11
    java call heap total size max 22,874,112 6,343.43 160.65
    java call heap used size 10,414,544 2,888.15 73.14
    java call heap used size max 17,090,000 4,739.39 120.03
    java session heap collected bytes 299,008 82.92 2.10
    java session heap collected count 223 0.06 0.00
    java session heap gc count 2 0.00 0.00
    java session heap live object count 62,042 17.21 0.44
    java session heap live object count max 62,204 17.25 0.44
    java session heap live size 6,119,424 1,697.03 42.98
    java session heap live size max 6,307,840 1,749.29 44.30
    java session heap object count 62,204 17.25 0.44
    java session heap object count max 62,204 17.25 0.44
    java session heap used size 6,307,840 1,749.29 44.30
    java session heap used size max 6,307,840 1,749.29 44.30
    leaf node 90-10 splits 590 0.16 0.00
    leaf node splits 12,720 3.53 0.09
    lob reads 18,068 5.01 0.13
    lob writes 378,857 105.06 2.66
    lob writes unaligned 378,854 105.06 2.66
    logons cumulative 3,128 0.87 0.02
    messages received 320,519 88.89 2.25
    messages sent 320,519 88.89 2.25
    no buffer to keep pinned count 0 0.00 0.00
    no work - consistent read gets 240,593,829 66,721.29 1,689.73
    opened cursors cumulative 1,230,004 341.10 8.64
    parse count (failures) 1,216 0.34 0.01
    parse count (hard) 47,313 13.12 0.33
    parse count (total) 1,351,392 374.77 9.49
    parse time cpu 8,806 2.44 0.06
    parse time elapsed 23,022 6.38 0.16
    physical read IO requests 11,798,391 3,271.92 82.86
    physical read bytes ############### 63,510,595.88 1,608,418.13
    physical read total IO requests 12,450,298 3,452.71 87.44
    physical read total bytes ############### 65,250,489.97 1,652,481.28
    physical read total multi block requests 1,668,164 462.61 11.72
    physical reads 27,956,086 7,752.76 196.34
    physical reads cache 27,790,026 7,706.71 195.17
    physical reads cache prefetch 16,014,666 4,441.17 112.47
    physical reads direct 166,060 46.05 1.17
    physical reads direct (lob) 7,635 2.12 0.05
    physical reads direct temporary tablespace 164,248 45.55 1.15
    physical reads prefetch warmup 0 0.00 0.00
    physical write IO requests 144,520 40.08 1.01
    physical write bytes 3,563,954,176 988,352.92 25,030.23
    physical write total IO requests 415,411 115.20 2.92
    physical write total bytes 7,501,977,600 2,080,442.42 52,687.61
    physical write total multi block requests 277,345 76.91 1.95
    physical writes 435,053 120.65 3.06
    physical writes direct 179,591 49.80 1.26
    physical writes direct (lob) 7 0.00 0.00
    physical writes direct temporary tablespace 176,122 48.84 1.24
    physical writes from cache 255,462 70.84 1.79
    physical writes non checkpoint 421,691 116.94 2.96
    pinned buffers inspected 1,685 0.47 0.01
    prefetch clients - default 1 0.00 0.00
    prefetch clients - keep 0 0.00 0.00
    prefetch warmup blocks aged out before use 0 0.00 0.00
    prefetched blocks aged out before use 2,672 0.74 0.02
    process last non-idle time 3,608 1.00 0.03
    queries parallelized 0 0.00 0.00
    recursive aborts on index block reclamation 0 0.00 0.00
    recursive calls 15,701,925 4,354.45 110.28
    recursive cpu usage 332,230 92.13 2.33
    redo blocks written 1,942,511 538.70 13.64
    redo buffer allocation retries 32 0.01 0.00
    redo entries 3,543,077 982.56 24.88
    redo log space requests 36 0.01 0.00
    redo log space wait time 32 0.01 0.00
    redo ordering marks 70,040 19.42 0.49
    redo size 933,828,628 258,968.61 6,558.43
    redo subscn max counts 92,765 25.73 0.65
    redo synch time 14,438 4.00 0.10
    redo synch writes 122,752 34.04 0.86
    redo wastage 28,240,164 7,831.54 198.34
    redo write time 14,659 4.07 0.10
    redo writer latching time 9 0.00 0.00
    redo writes 127,955 35.48 0.90
    rollback changes - undo records applied 10,431 2.89 0.07
    rollbacks only - consistent read gets 5,824 1.62 0.04
    rows fetched via callback 29,956,870 8,307.62 210.39
    session connect time 0 0.00 0.00
    session cursor cache hits 912,331 253.01 6.41
    session logical reads 377,028,313 104,557.19 2,647.93
    session pga memory 5,535,258,240 1,535,033.39 38,875.02
    session pga memory max ############### 35,280,612.09 893,488.33
    session uga memory ############### 1,112,659,489.56 28,178,316.86
    session uga memory max 6,581,957,632 1,825,303.22 46,226.16
    shared hash latch upgrades - no wait 662,685 183.78 4.65
    shared hash latch upgrades - wait 173 0.05 0.00
    sorts (disk) 0 0.00 0.00
    sorts (memory) 195,297 54.16 1.37
    sorts (rows) 74,462,048 20,649.76 522.96
    sql area evicted 29,407 8.16 0.21
    sql area purged 1,282 0.36 0.01
    summed dirty queue length 164,234 45.55 1.15
    switch current to new buffer 496,872 137.79 3.49
    table fetch by rowid 250,959,297 69,595.83 1,762.53
    table fetch continued row 634,272 175.90 4.45
    table scan blocks gotten 61,069,211 16,935.66 428.90
    table scan rows gotten 5,007,057,760 1,388,553.25 35,165.38
    table scans (cache partitions) 0 0.00 0.00
    table scans (direct read) 0 0.00 0.00
    table scans (long tables) 1,590 0.44 0.01
    table scans (rowid ranges) 0 0.00 0.00
    table scans (short tables) 1,455,250 403.57 10.22
    total number of times SMON posted 519 0.14 0.00
    transaction rollbacks 1,111 0.31 0.01
    transaction tables consistent read rollbacks 4 0.00 0.00
    transaction tables consistent reads - undo records applied 182 0.05 0.00
    undo change vector size 464,337,752 128,769.77 3,261.12
    user I/O wait time 1,046,881 290.32 7.35
    user calls 5,534,784 1,534.90 38.87
    user commits 122,239 33.90 0.86
    user rollbacks 20,147 5.59 0.14
    workarea executions - multipass 0 0.00 0.00
    workarea executions - onepass 19 0.01 0.00
    workarea executions - optimal 155,732 43.19 1.09
    write clones created in background 300 0.08 0.00
    write clones created in foreground 114 0.03 0.00
    Buffer Pool Statistics
    Standard block size Pools D: default, K: keep, R: recycle
    Default Pools for other block sizes: 2k, 4k, 8k, 16k, 32k
    P Number of Buffers Pool Hit% Buffer Gets Physical Reads Physical Writes Free Buff Wait Writ Comp Wait Buffer Busy Waits
    D 148,425 96 343,814,932 13,754,200 250,967 0 0 87,158
    K 7,916 58 33,054,317 14,034,039 4,373 0 0 70,577
    Enqueue Activity
    only enqueues with waits are shown
    Enqueue stats gathered prior to 10g should not be compared with 10g data
    ordered by Wait Time desc, Waits desc
    Enqueue Type (Request Reason) Requests Succ Gets Failed Gets Waits Wt Time (s) Av Wt Time(ms)
    TX-Transaction (row lock contention) 60 7 53 7 227 32,372.43
    RO-Multiple Object Reuse (fast object reuse) 810 810 0 90 1 9.60
    TX-Transaction (index contention) 4 4 0 4 0 7.00
    Resource Limit Stats
    only rows with Current or Maximum Utilization > 80% of Limit are shown
    ordered by resource name
    Resource Name Current Utilization Maximum Utilization Initial Allocation Limit
    processes 1,195 1,750 1750 1750
    sessions 1,230 1,930 1930 1930
    init.ora Parameters
    Parameter Name Begin value End value (if different)
    O7_DICTIONARY_ACCESSIBILITY TRUE
    aq_tm_processes 1
    archive_lag_target 1800
    audit_trail DB, EXTENDED
    background_dump_dest /oracle/orahome10/admin/andlp2/bdump
    compatible 10.2.0.3.0
    control_files /datac5/oradata/andlp2/control01.ctl, /datac6/oradata/andlp2/control02.ctl, /datac7/oradata/andlp2/control03.ctl
    core_dump_dest /oracle/orahome10/admin/andlp2/cdump
    cursor_sharing EXACT
    db_block_checksum FALSE
    db_block_size 8192
    db_cache_advice ON
    db_cache_size 1258291200
    db_domain
    db_file_multiblock_read_count 16
    db_keep_cache_size 67108864
    db_name andlp2
    db_recycle_cache_size 0
    db_writer_processes 6
    dispatchers (PROTOCOL=TCP)(SERVICE=shared_andlp2)(CONNECTIONS=250)(DISPATCHERS=2)
    fast_start_mttr_target 300
    filesystemio_options ASYNCH
    instance_name andlp2
    java_pool_size 100663296
    job_queue_processes 74
    large_pool_size 637534208
    local_listener LISTENER_ANDLP2
    log_archive_dest_1 LOCATION=/onliner0/andlp2/archive/
    log_archive_dest_2 LOCATION=/datac5/archive/
    log_archive_dest_3 SERVICE=ANDLP3
    log_archive_dest_state_3 DEFER
    log_archive_format %t_%s_%r.dbf
    log_archive_max_processes 4
    log_archive_min_succeed_dest 1
    log_buffer 14251008
    log_checkpoint_interval 200000
    log_checkpoint_timeout 27000
    max_dispatchers 2
    max_dump_file_size 1500M
    max_shared_servers 40
    open_cursors 500
    pga_aggregate_target 2621440000
    processes 1750
    query_rewrite_enabled TRUE
    remote_dependencies_mode SIGNATURE
    remote_login_passwordfile EXCLUSIVE
    remote_os_authent FALSE
    resource_limit TRUE
    session_cached_cursors 250
    session_max_open_files 20
    sga_max_size 5251268608
    shared_pool_size 3103784960
    shared_servers 10
    sort_area_retained_size 131072
    sort_area_size 1048576
    star_transformation_enabled FALSE
    streams_pool_size 50331648
    timed_statistics TRUE
    trace_enabled FALSE
    undo_management AUTO
    undo_retention 36000
    undo_tablespace UNDOTBS1
    user_dump_dest /oracle/orahome10/admin/andlp2/udump

Maybe you are looking for