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

Similar Messages

  • How does Oracle failsafe work with dataguard

    Question: Till now we used two nodes with failsafe and a database server.
    We need a solution for the following:
    * location 1: the same as above.
    * location 2: database server(standby) and maybe another instance(node).
    Scenario: The production database at location 1 fails and needs to failover(dataguard?) to the standby db at location 2. The failsafe instances at location 1 still point to the production database(which is down).
    Does dataguard point the failsafe instances to location 2. Is there maybe a better solution stategy(keep in mind the costs)?
    Or do we need RAC configured with dataguard?
    Thanx,
    Pim

    I was able to run a simple query with ora_* functions using 10g on Windows.
    The Oracle OCI calls used by PHP's ora extension still exist in the Oracle 10g libraries
    But I cannot recommend this obsolete extension.
    -- cj

  • How does Oracle client communicate with a database server

    Looking to idenify how Oracle Database Client for OpenVMS communicates with database server and whether the protocol used is secure. Realize that it is using whatever the configured network protocol is (ie. tcpip) but is languauge it uses ( ie. SQL, etc..)  secured/encrypted and if not what steps can be taken to encypt

    Arizuddin wrote:
    I have installed oracle client 10g on client pc for getting connection to Oracle databse 10g (runng on windows server) usng ODBC through SAGE ACC PAC (ERP). Working fine earlier. Now all of a suddent user starts complaining about database connection. When checked his pc registry values. Two values of ODBC keys are reset to null. Those are DSN and DRIVER values. How come this values reset to null? What is causing this to reset?Nothing in this has anything to do with the sever. You need to check what the client did on his machine that caused registry to get modified?
    How does oracle ODBC works with Oracle database? Need to know all the steps involved?The connectoin from any client is initiated by a client process. This client process is supposed to get a server process to do his work. So if this is done, the client can work now with oracle . Please see the concepts guide for the gory details of the entire process.
    HTH
    Aman....

  • How does oracle know which AO Framework page or process to execute.

    Hi,
    How does oracle know which AO Framework page or process to execute. I use to think this was defined in the Function definition. But looking through some Function definition in HRMS setup I noticed some of them simply calling the same first page, such as the one below used in many managers menus. This initial page is the page that allows managers to choose the employee they want to work on.
    OA.jsp?akRegionCode=HR_PERSON_TREE_TOP_SS&akRegionApplicationId=800.
    My question is, after executing this initial page, how does Oracle then varies the OA page by the diffferent functions?

    Hi;
    Thanks for sharing
    Please dont forget to change thread status to answered if it possible when u belive your thread has been answered, it pretend to lose time of other forums user while they are searching open question which is not answered,thanks for understanding*
    Regard
    Helios

  • How does Merged Dimensions Work in WebI created on SAP BI Queries

    Hi,
    I need to know how does Merge dimensions work in WebI when using SAP BI Query as source?
    Below is my understanding when connection is defined for the universe on oracle database:
    1) To get the data in merged dimensions, there must be physical join (Either Direct or vai some other tables) between different tables at backend level (This means  there  must be join between tables in Oracle database.)
    2) we get the UNION of data when dimensions are merged at webI level.
    I dont know how this works in SAP BI.
    Since there is different data model defined for different BI Queries in SAP , and for each BI Query and there is seperate Universe, So how can you get correct data in WebI when there is no connections in DSO's used in different BI queries?
    Can any one suggest me the way data apperas in merged dimensions for WebI created on SAP BI?

    I assume we are only talking about merging dimensions in Web Intelligence here and not on the BW backend. this is a client side mere where you have 2 resultsets.
    if you want to do this on the BI server side it would be a multi-provider combining different InfoProviders - or a InfoSet - depending on the join type you need. MultiProvider is a union, Infoset allows you to choose
    Ingo

  • How does opatch lsinventory works

    How does opatch lsinventory works ?

    Hi,
    Refer links:
    http://download.oracle.com/docs/cd/B19306_01/em.102/b16227/oui8_opatch.htm
    http://download.oracle.com/docs/cd/B16240_01/doc/em.102/e15294/prereq_checks.htm
    http://avdeo.com/2008/08/19/opatch-utility-oracle-rdbms-patching/
    thanks,
    X A H E E R

  • How does oracle execute a correlated subquery .... some confusion

    How does oracle 10g execute a correlated subquery?
    I read some articles online & i am a little confused.
    example:
    select * from emp e
    where e.deptno in (select d.deptno from dept d
    where e.deptno = d.deptno);
    My questions .......
    1.In the above example, does oracle read the entire outer table first and then run the inner query using the rows returned by the outer query?
    I read in some articles that they execute simultaneously.
    How does this work?
    2.Should the inner query have lesser amount of rows compared to the outer query for a good performance?
    3.Can every correlated subquery be converted to a join and if so which one to use?
    Truly appreciate any inputs on how oracle executes it at the backend.
    Thanks in advance.

    user10541890 wrote:
    How does oracle 10g execute a correlated subquery?
    I read some articles online & i am a little confused.
    example:
    select * from emp e
    where e.deptno in (select d.deptno from dept d
    where e.deptno = d.deptno);
    My questions .......
    1.In the above example, does oracle read the entire outer table first and then run the inner query using the rows returned by the outer query?
    I read in some articles that they execute simultaneously.
    How does this work?SQL is not a procedural language. SQL code specifies what the system sill do, not how the system wlll do it; that's entirely up to the system.
    What does it matter to you whether the two are done together, or if one is completed before the other begins?
    The system will probably choose to run ucorellated subqueiris only once, and correlated queries multiple times as needed.
    2.Should the inner query have lesser amount of rows compared to the outer query for a good performance?That usually doesn't matter.
    It some cases, you may want to consider whether the subquery is correlated or not. If the subquery is very costly, and produces, say, 1 million rows, but you know the main query will only produce about 5 rows, then you may want to do a correlated subquery rather than an uncorrelated one.
    3.Can every correlated subquery be converted to a join and if so which one to use?I believe so.
    Use whichever is easier to code and debug. That will change depnding on the data and the requirements.
    If performance is an issue, try different ways. Usually, where I've noticed a big difference, join was fastest.
    By the way, it's unusual to have a correlated IN-subquery.
    Usually IN-subqueris are uncorrelated, like this:
    select  *
    from      emp     e
    where     e.deptno     in ( select  d.deptno
                        from    dept     d
                      );(This and the queries below produce the same resutls as your original query.)
    Correlated subqueries are usually used for scalar subqueries or EXISTS subqueries, like this:
    select  *
    from      emp     e
    where     EXISTS ( select  d.deptno
               from    dept     d
                    where   e.deptno = d.deptno
                );To do the same thing with a join:
    select  e.*
    from      emp     e
    join     dept     d     on     e.deptno     = d.deptno
    ;assuming dept.deptno is unique.

  • How do you connect your photoshop elements on your computer to your account online? and how do you create a customized url? how does the gallery work and how do you access it? i have trouble signing in on my program from my computer to connect to the onli

    how do you connect your photoshop elements on your computer to your account online? and how do you create a customized url? how does the gallery work and how do you access it? i have trouble signing in on my program from my computer to connect to the online photoshop, and I really want to create my own customized url and post photos to my gallery and share them with the world, family, and friends, but i need help because i can't figure how to do any of this, would really appreciate feedback and assistance, thanks, - claire conlon

    To add to sig's reply, "calibrating" does not calibrate Lithiu-Ion batteries, it calibrates the charge reporting circuitry.  If you look at the effect of deep discharging Lithium-Ion batteries in the data from the independent test group, Battery University, you will see that doing so shortens the life of the battery significantly. It looks like an optimum balance between use and life is at a discharge level of 50%.

  • How does TimeOut(Sec) works/ behave in FTP Adapter?

    Hi ,
    How does TimeOut(Sec) works/ behave in FTP Adapter?
    Lets Say : If I mention 300 Secs in this . How Should it behave ??
    if a file processing in adapter is taking more then 300 sec , will it also be  terminated ??? what error response i will get in such case.
    Regards
    Prabhat Sharma.

    Hi,
    if there's a network error the channel may hang (for a very long time)
    if you specify 300 secs after that time the channel will reset the connection and you can start pooling again
    for more details:
    Note 849089 - XI 3.0 / PI 7.0 File Adapter: FTP Timeout Handling
    Regards,
    Michal Krawczyk

  • How does oracle write to datafiles in a tablespace?

    hi all
    Suppose I have a tablespace consisting of two datafiles. When I need to wirte data onto it,how does ORACLE
    write ? Does it initially write to the first datafile and then write to the second datafile when the first datafile getting full or write to two datafiles in an random manner?
    Thanks for your reply.

    hi all
    I have read reply in reponse to thread "tablespaces or datafile " and testcase in that thread shows that ORACLE will write to datafiles in round-robin manner.
    But my test show totally different result:
    SQL>
    SQL> create tablespace ts_maoxl
    2 datafile '/crash/oradata/TESTDB/datafile/1.bdf' size 5m,
    3 '/crash/oradata/TESTDB/datafile/2.bdf' size 5m
    4 EXTENT MANAGEMENT LOCAL;
    Tablespace created
    SQL>
    SQL> create table maoxl(id char(2000),id3 char(2000),id2 char(2000)) tablespace ts_maoxl;
    Table created
    SQL>
    SQL> declare
    2 begin
    3 for i in 0..99 loop
    4 insert into maoxl values('x','y','z');
    5 end loop;
    6 commit;
    7 end;
    8 /
    PL/SQL procedure successfully completed
    SQL> select count(*) from maoxl;
    COUNT(*)
    100
    SQL> select t.file_id,t.extent_id,bytes from dba_extents t where tablespace_name='TS_MAOXL';
    FILE_ID EXTENT_ID BYTES
    5 0 65536
    5 1 65536
    5 2 65536
    5 3 65536
    5 4 65536
    5 5 65536
    5 6 65536
    5 7 65536
    5 8 65536
    5 9 65536
    5 10 65536
    5 11 65536
    5 12 65536
    5 13 65536
    14 rows selectedAll extents are allocated from datafile 5,none from datafile 6. My result is different from yours.
    BTW,The result of my testcase was from a 10.2.0.4 database running on HP-UNIX
    What could be the problem?
    thanks

  • How does oracle suggest the archive log

    Hi All,
    My question is about user managed backup and recovery.
    For User managed hot database refreshes.
    We  create a new controlfile and do cancel based recovery.
    How does oracle suggest the next archive to apply when we do "recover database using backup controlfile until cancel;"
    I mean we created a new control file ..rt.
    where is the information about the archivelogs stored.
    Thanks,
    Silver

    In the controlfile.
    The "using backup controlfile" means using a backed up controlfile, and you want to fool Oracle into thinking a point in time recovery will happen so don't use what would be the controlfiles current scn time to automatically say the recovery is complete.  If you have created a new controlfile, all it can know about is where the logs should be and compare to what log sequences the datafile headers have.  So it uses the init.ora parameters and what the data file headers have in them to figure it out. http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:3151992035532#36651366990046
    If you backup controlfile to trace you can see log files that have the incarnation history.  See "Recovering Through a RESETLOGS with a Created Control File"  in Performing User-Managed Recovery: Advanced Scenarios

  • How does SAPscript 'WRITE_FORM' works ?

    Hi
    I have a Z program working fine, it is a SAPM07DR copy and i aggregated some fields to WASCHEIN form.
    But i see when the program (standard or copy) calls the write form, the field values in program have other values (just the previous values) than the values wich appears in the printed form.
    For example: 
    WASCHEIN KOPF Window has the WERKS value:
             Plant:    &*T001W-WERKS&
    But when the write form is called
              CALL FUNCTION 'WRITE_FORM'
                EXPORTING ELEMENT = 'KOPF'
                WINDOW            = 'KOPF'.
    In the program the *T001W-WERKS field has a different value that the value wich appears in the spool, debugging i see that the field has the prevoius value in the program:
    Program
    *T001W-WERKS
    (when Write Form).............Spool
        '     '...................................Plant:  0900
        '0900'.............................Plant:  0901
    I had to do the same logic in my new aggregated fields, but i realy don't know why does the program works in this way.
    Why the print program and sapscript function works in this way ?
    How does WRITE-FORM works, that is where the function take from the values to print ?
    Thanks
    Frank

    Hi Max
    I hope the program works like you said, but it works:
    old_werks = '   '
    T001W-WERKS = '0900'.
    *T001W-WERKS = T001W-WERKS .
    *T001W-WERKS = old_werks.    <-- '   '
    CALL FUNCTION 'WRITE_FORM'
    (form KOPF with *T001W-WERKS)
    old_werks = '0900'
    T001W-WERKS = '0901'.
    *T001W-WERKS = T001W-WERKS .
    *T001W-WERKS = old_werks.    <--  '0900'
    CALL FUNCTION 'WRITE_FORM' 
    (form with *T001W-WERKS)
    But the FM prints 0900 and after 0901, when the *T001W-WERKS values were '    '  and  '0900'   !!!
    (and with the *T001W-NAME1 field occurs in the same way)
    Why does the FM prints that values ??
    Thanks
    Frank

  • How does Oracle AIA pull details from SOA Suite on installation?

    Quite urgent help:
    How does Oracle AIA pull details from SOA Suite during installation?
    We're encountering an issue with installation of Oracle AIA at step 4. This when providing the SOA Server Details, and the managed server shows:
    "Cannot Connect to Server" error.
    However at the weblogic console, the Admin server and manage server: soa_server1 are running. Please provide us help on this.
    For further details, here are the apps and versions we installed:
    * Oracle Fusion Middleware 11g
    * SOA suite
    * Oracle AIA 11g
    * Weblogic 10.3.4.0
    Thanks!
    -tristan
    Edited by: user8089513 on May 16, 2011 4:58 AM

    Hello,
    Thanks for the reply!
    On my end, i haven't started it yet today, it just leads me to this message when running node manager:
    +<May 17, 2011 3:40:51 PM GMT+08:00> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true>+
    +<May 17, 2011 3:40:52 PM> <INFO> <Secure socket listener started on port 5556, host /10.234.182.26>+
    May 17, 2011 3:40:52 PM weblogic.nodemanager.server.SSLListener run
    INFO: Secure socket listener started on port 5556, host /10.234.182.26
    Should you need to check the nodemanager.properties, here are the details:
    #Fri May 13 10:56:04 GMT+08:00 2011
    DomainsFile=C\:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.domains
    LogLimit=0
    PropertiesVersion=10.3
    DomainsDirRemoteSharingEnabled=false
    #javaHome=C\:\\Oracle\\MIDDLE~1\\JROCKI~1.1-3
    #JavaHome=C\:\\Oracle\\MIDDLE~1\\JROCKI~1.1-3\\jre
    JavaHome=C\:\\Oracle\\MIDDLE~1\\JDK160~21\\jre
    javaHome=C\:\\Oracle\\MIDDLE~1\\JDK160~21
    AuthenticationEnabled=true
    NodeManagerHome=C\:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\common\\NODEMA~1
    LogLevel=INFO
    DomainsFileEnabled=true
    StartScriptName=startWebLogic.cmd
    ListenAddress=10.234.182.26
    NativeVersionEnabled=true
    ListenPort=5556
    LogToStderr=true
    SecureListener=true
    LogCount=1
    DomainRegistrationEnabled=false
    StopScriptEnabled=true
    QuitEnabled=false
    LogAppend=true
    StateCheckInterval=500
    CrashRecoveryEnabled=false
    StartScriptEnabled=true
    LogFile=C\:\\Oracle\\MIDDLE~1\\WLSERV~1.3\\common\\NODEMA~1\\nodemanager.log
    LogFormatter=weblogic.nodemanager.server.LogFormatter
    ListenBacklog=50
    When I check the weblogic console, i manually run the managed server using startManagedWebLogic.cmd.
    Please advise. Do really need help on this.
    Thanks!
    -tristan

  • Transfer Rules: How does the mapping work?

    Transfer Rules: How does the mapping work?
    Is there a document out there that explains the following or can someone help clarify it for me. I have some confusion on what is really going on.
    When I create an InfoSource (IS_Test)  as a “Flexible update…”  and then “Assign DataSource”  (DS_Test) and I respond Yes, to the message “DataSource assignment DS_Test to InfoSource IS_Test Save”
    a) <b>Under “Transfer_Structure/Transfer_Rules”</b> in the InfoSource
    1)  the “Transfer Rules” tab, what are the fields found in the right column (Assigned InfObjct-field)? And where do the fields you enter in the left column (<b>Communication Str/</b>Transfer rules) eventually go?
    2)  the “DataSource /Trans. Structure” tab, can I always assume that all the fields in the right column (DataSource) came from DS_Test? The left column (Transfer Structure), in my test was exactly the same as on the right. Where do these fields eventually go?
    b) Under “<b>Communication_Struct.”,</b> in the InfoSource
    3. the right column (ISource Fileds) where from those InfoObjects. if I am now creating my InfoSource. Where did they come from?
    4. The left column is “<b>Communication Structure</b>”, which at this point has no InfoObjects, if I move a couple of InfoObjects from the right to the left, where do these Objects in the left eventually go?
    5. what is the relationship between the “Communication Structure” in 4 and 1? Or any relationship between a) and b) as a whole?
    Thanks.

    Hi Caud,
    As Ashish pointed out, communication structure contains fields (infoobjects) that suppose to go to data targets. Which IO in CS to which IO in the data target will go (and what transformation of data may occur) is determined in URs of the data target.
    The transfer structure is the structure in which the data is transported from the source system into BW:
    http://help.sap.com/saphelp_bw33/helpdata/en/3f/0e503c3c0d563de10000000a114084/frameset.htm
    In “Transfer_Structure/Transfer_Rules” in the IS, DataSource /Trans. Structure” tab, right part shows fields in the Datasource, the left part – fields in the transfer structure. There is also a transfer structure in R/3 for a given DS. Transfer structure in BW is created identical to the TS in R/3 during TRs activation.
    During data load data are transferred 1:1 from TS in R/3 to TS in BW.
    TS in BW corresponds to the PSA table structure.
    How data from PSA are transferred to the CS is determined in TRs.   
    The 3rd column (“Field”) (“Transfer Rules” tab, right part (Assigned InfObjct-field)), contains field names of the DS (TS); and the 1st column shows IO in the CS to which the DS field will go. So, it’s a mapping DS filed -> CS field.
    The left part (“Communication str./Transfer rules”) is always identical to the CS content. But the 4th column (“Tp”) shows possible data transformation during transfer from PSA to CS. If this column contains a yellow triangle then there is no transformation (Value of DS field will go to value of CS field). If there is a red cross, it means that no data for this CS field is supplied from a DS. You can click on this yellow triangle and choose: 1). Another field from a DS; 2). Constant; 3). ABAP routine; 4). Formula. So, here you can determine the data transformation. Moreover, there is a possibility to create a start routine (blank sheet icon at the top).
    And finally, here are the answers on your questions:
    Q:
    a)     Under “Transfer_Structure/Transfer_Rules” in the InfoSource
    1) the “Transfer Rules” tab, what are the fields found in the right column (Assigned InfObjct-field)? And where do the fields you enter in the left column (Communication Str/Transfer rules) eventually go?
    A: Right part shows a mapping between DS and CS fields. Left part shows CS fields and data transformation (TRs) during data transfer from TS (PSA) to the CS. These are fields in the CS that will go to data target and which are fed from a TS (DS).
    Q: 2) the “DataSource /Trans. Structure” tab, can I always assume that all the fields in the right column (DataSource) came from DS_Test?
    A: Yes, you are right.
    Q: The left column (Transfer Structure), in my test was exactly the same as on the right. Where do these fields eventually go?
    A: As I described, left and right parts are identical. These fields will go to CS.
    Q: b) Under “Communication_Struct.”, in the InfoSource
    3. the right column (ISource Fileds) where from those InfoObjects. if I am now creating my InfoSource. Where did they come from?
    A: these are fields from an IS template, the name of this template you can see above this right part.  Actually, during IS (CS) creation you can choose different templates and choose fields from them transferring them into the left part.
    Q: 4. The left column is “Communication Structure”, which at this point has no InfoObjects, if I move a couple of InfoObjects from the right to the left, where do these Objects in the left eventually go?
    A: these are fields of CS (left part) and as I said before they will go to data target.
    Q: 5. what is the relationship between the “Communication Structure” in 4 and 1? Or any relationship between a) and b) as a whole?
    A: CS in 4 just shows IOs that will be transferred to data target. CS in 1 also shows how values for CS IOs are to be fed and transformed.
    Best regards,
    Eugene
    Message was edited by: Eugene Khusainov

  • KPI -How does the periodicity works in SM

    Periodicity is @ Context level only? That means we have to define different contexts for weekly &monthly? That doesnu2019t fly good
    How does the periodicity works in SM..data entry as well as frontend display?

    Hi TR,
    When looking at a scorecard, you should see the status for all objectives and KPIs during the same time period. If you look at Revenue KPIs for just one week and Cost KPIs for the whole month, how can you assess how you performed in that month?
    This doesn't mean that the metrics in PAS cannot have different periodicities. They can! But when looking at data in the scorecard these periodicities will be converted to the scorecard periodicity. For example if you have monthly metrics and you are looking at scorecard data quarterly, the scorecard will show you the value for the 3 months of that quarter. Here, you should take care to define the proper time consolidation properties for the metric (it can be SUM, like in costs or revenue, AVERAGE, LAST, FIRST...).
    Likewise, if you have quarterly metrics and you want to see scorecard data monthly, then PAS does a breakdown of the value per months.
    Anyway, if you are looking to setup a weekly scorecard, that will likely include a different set of metrics that a monthly scorecard would. Weekly scorecards will problably include more operational metrics and will lack the strategic focus of scorecards with a broader time scope.
    Regards!
    Ricardo

Maybe you are looking for

  • Popup Message "You are about to Leave the Page. Proceed?"

    Classic Scenario; R/3 46C; SRM 5.0 Hello everyone, I have been seeing this popup in the shopping cart menu every time I click somewhere - "You are about to leave the page.  Proceed?" I am not sure where this is coming from... Can any give me a sugges

  • Adobe Photoshop CS5 upgrade to CS6 issue

    Hi there, I have just upgraded my Photoshop CS5 to Photoshop CS6 but when I enter my serial number for my current version of Photoshop, I get an error message saying my serial number is incorrect.  Am I doing something wrong?  Appreciate any help at

  • Organisational charts

    Hi, I am using Crystal Reports 2008 and would like to know if any chart is available to implement organisational hierarchy. Such as manager, team members the hierarchy should be represented in the chart. Kindly let me know if any work around or alter

  • Upgrade Premiere Pro 2.0?

    Ok I have been happy with my Pro 2.0 since I have had the same equipmetn for years.  I just got a Canon T4i and now I need to edit DSLR HD video.  I hoping to upgrade my old software since buying a new full version is out of the question.  I download

  • Hola. Buen dia

    Mi Mini Ipad se tabó con la aplicación de Apple TV. ¿Qué hago?