Oracle Concepts: Query on SQL Processing (execution in SGA/PGA)

Hi,
I need some clarity on my understanding, suppose there is a query:
SELECT t1.c1, t1.c2
FROM t1, t2
WHERE t1.c3 = t2.c1
ORDER BY t1.c1;User A submits above query and following steps are executed:
Syntax Check -in PGA
Semantic Check -in PGA
Shared Pool Check (unsuccessful) -in SGA
Optimization (Hard Parse) -in SGA
Row Source Generation (Hard Parse) -in SGA
Execution - in SGA?User B submits same query and following steps are executed:
Syntax Check -in PGA
Semantic Check -in PGA
Shared Pool Check (successful) -in SGA
(Soft Parse)
Execution - in SGA?First question (General):
I thought Execution happens in SGA, but sorting, hashing, and/or merging bitmaps happens in PGA (temporary segment) so is it a sub-part of Execution that happens in user's PGA?
Second question (For user B):
Once Shared Pool Check is successful, and plan/data-sets are already in SGA, so sorting, hashing, and/or merging bitmaps will happen on these data-sets in user B's PGA again?
Regards,
Ankit Rathi
http://oraclenbeyond.blogspot.in

OnB wrote:
Hi,
I need some clarity on my understanding, suppose there is a query:
SELECT t1.c1, t1.c2
FROM t1, t2
WHERE t1.c3 = t2.c1
ORDER BY t1.c1;User A submits above query and following steps are executed:
Syntax Check -in PGA
Semantic Check -in PGA
Shared Pool Check (unsuccessful) -in SGA
Optimization (Hard Parse) -in SGA
Row Source Generation (Hard Parse) -in SGA
Execution - in SGA?User B submits same query and following steps are executed:
Syntax Check -in PGA
Semantic Check -in PGA
Shared Pool Check (successful) -in SGA
(Soft Parse)
Execution - in SGA?First question (General):
I thought Execution happens in SGA, but sorting, hashing, and/or merging bitmaps happens in PGA (temporary segment) so is it a sub-part of Execution that happens in user's PGA?The execution happens in the SGA(Buffer cache) but any kinds of such processing like sorting is session specific and that's why it happens in the PGA of that user.
>
Second question (For user B):
Once Shared Pool Check is successful, and plan/data-sets are already in SGA, so sorting, hashing, and/or merging bitmaps will happen on these data-sets in user B's PGA again?Yes.
That said, can you post a link that confirms that the syntax/semantics check happen in the PGA? AFAIK it's not really a part of the PGA because oracle's code itself would store the grammar and would do it .
Aman....

Similar Messages

  • Oracle 11g SGA & PGA setup

    Hi I installed oracle 11g & create database , now i want to use fully optimize database.
    Currently my DB server RAM is 16GB, how should i allocate SGA for this.If i used oracle 11g automatic memeory management feature to allocate SGA+PGA, how should i use them.Currentlymy SGA is set to 4GB, Please advise

    Hi,
    It is depends upon the workload which you have in your organization(future and present situation)
    SGA+PGA size will be automatically managed by Oracle. No need to worry about this.
    If you need to increase Memory_Max_Size, you can also increase the Memory size in the future.
    Thanks

  • Reg: SQL select Query in BPEL process flow

    <p>
    Hi,
    I am suppose to execute a SQL select query (in BPEL Process flow) as mention below in JDeveloper using Database adapter.
    </p>
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE ITEM= &lt;xyz&gt;
    </p>
    <p>
    AND OBJECT= (SELECT CASE_NAME FROM CUBE_SUPPLIER WHERE ITEM=&lt;xyz&gt; AND SUPP_IND = &lsquo;Y')
    <strong>Now my question is:
    1.</strong> What does this "*" refer to in the query and how can I retrieve the value of LENGTH*WIDTH* HEIGHT from the query where LENGTH,WIDTH and HEIGHT are the individual field in the table.
    2.What does this " AS" refer to? If " ITEM_CUBE " is the alies for the table name "ITEM" to retrieve the value, then query shoud be evaluated as
    </p>
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE <strong>ITEM_CUBE.ITEM</strong>= &lt;xyz&gt;
    </p>
    <p>
    AND <strong>ITEM_CUBE.OBJECT</strong>= (SELECT CASE_NAME FROM CUBE_SUPPLIER WHERE ITEM=&lt;xyz&gt; AND SUPP_IND = &lsquo;Y')
    Is my assumption correct?
    Please suggest asap.
    Thanks...
    </p>
    <p>
    </p>

    Hi
    Thank for your reply!
    I have a nested select query which performs on two different table as shown below:
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE ITEM= &lt;abc&gt;
    </p>
    <p>
    AND OBJECT= (SELECT NAME FROM SUPPLIER WHERE ITEM=&lt;Item&gt; AND SUPP_IND = &lsquo;Y')
    I am using DB adapter of Oracle JDeveloper in BPEL process flow, where I can able to select only one master table in DB adapter say SUPPLIER and its attributes at a time.But as per my requirment I need to select both the table (CUBE and SUPPLIER) in a single adapter to execute my query.
    It can be achievable by using two DB adapter , One to execute the nested query and another to execute the main qyery considering value of nested query as a parameter.But I want to achieve it by using a single one.
    Am I correct with my concept?
    Please suggest how to get it ?
    </p>
    Edited by: user10259700 on Oct 23, 2008 12:17 AM

  • How the SQL Query Parsing is processing inside SQL/PLSQL engine?

    Hi all,
    Can you explain how the SQL Query Parsing is processing inside SQL/PLSQL engine?
    Thanks,
    Sankar

    Sankar,
    Oracle Database concepts - Chapter 24..
    You will find the explanation required under the heading parsing.
    http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14220/sqlplsql.htm

  • Query on Oracle Concepts: Advantages of ASSM

    Hi,
    A query on Oracle Concepts, specifically on Advantages of ASSM.
    While I am able to understand 'Simplified administration' & 'Increased concurrency', can anyone mention this in simple terms:
    • Dynamic affinity of space to instances in an Oracle Real Application Clusters (Oracle RAC) environment.I guess I know whats Oracle RAC but what it meant by 'Dynamic affinity of space to instances'?
    Regards,
    Ankit Rathi

    Hi Aman,
    I was going through Oracle® Database Concepts 11g Release 2, Chapter 12 Logical Storage Structures (link below):
    http://docs.oracle.com/cd/E11882_01/server.112/e25789/logical.htm#i19599
    *Automatic Segment Space Management*
    The ASSM method uses bitmaps to manage space. Bitmaps provide the following advantages:
    •Simplified administration
    ASSM avoids the need to manually determine correct settings for many storage parameters. Only one crucial SQL parameter controls space allocation: PCTFREE. This parameter specifies the percentage of space to be reserved in a block for future updates (see "Percentage of Free Space in Data Blocks").
    •Increased concurrency
    Multiple transactions can search separate lists of free data blocks, thereby reducing contention and waits. For many standard workloads, application performance with ASSM is better than the performance of a well-tuned application that uses MSSM.
    •Dynamic affinity of space to instances in an Oracle Real Application Clusters (Oracle RAC) environment
    ASSM is more efficient and is the default for permanent, locally managed tablespaces.Regards,
    Ankit Rathi

  • In oracle rac, If user query a select query and in processing data is fetched but in the duration of fetching the particular node is evicted then how failover to another node internally?

    In oracle rac, If user query a select query and in processing data is fetched but in the duration of fetching the particular node is evicted then how failover to another node internally?

    The query is re-issued as a flashback query and the client process can continue to fetch from the cursor. This is described in the Net Services Administrators Guide, the section on Transparent Application Failover.

  • Different output of same query in SQL Server and Oracle

    I have two tables table1 and table2
    --table1 has two columns c1 int and c2 varchar. there are not constraints added in it. it has data as given below
    c1     c2
    6     d
    5     j
    102     g
    4     g
    103     f
    3     h
    501     j
    1     g
    601     n
    2     m
    --table2 has only one column c1 int. there are not constraints added in it. it has data as given below
    c1
    6
    1
    4
    3
    2
    now when i run below given query in sql server and oracle it gives me different result
    select *
    from table1
         inner join (SELECT ROW_NUMBER() OVER (order by c1 ASC) AS c1 from table2) table2 on table2.c1=table1.c1
    sql server output
    c1     c2     c1
    1     g     1
    2     m     2
    3     h     3
    4     g     4
    5     j     5
    oracle output
    C1 C2 C1
    5 j 5
    4 g 4
    3 h 3
    1 g 1
    2 m 2
    If you notice the first column in both output. It is sorted in sql server and not in oracle.
    Why it is behaving differently in oracle? Is there any way I can solve this in oracle?
    Thanks,
    Jigs

    It is NOT behaving "differently" in Oracle; you just haven't specified an order that you expect your results to be in, so you're going to get output in whatever order the database fancies displaying it (ie. no guarenteed order). This is an artifact of how the database chooses to put together the data, and different databases (or even datasets within the same database) can and most likely will behave differently.
    Even SQL Server won't guarentee to always get your data in an ordered fashion if you exclude the order by clause, even if you think it has always output the data in an ordered fashion.
    Your solution is to add an order by clause, in BOTH databases, to force the order of the output data.

  • How to get exact query of sql in oracle?

    Hi all,
    Hope doing well,
    sir i was using one query of sql that is here:
    Declare @nshiftmax datetime
    set @nshiftmax=convert(time,DATEADD(N,1439,0))
    print @nshiftmax
    so it is retreiving the result 1/1/1900 11:59 p.m
    and one more query is there
    Declare @nshiftmax datetime
    set @nshiftmax=convert(time,DATEADD(N,0,0))
    print @nshiftmax
    so it is retreiving the result 1/1/1900 12:00 a.m
    how to same result in oracle query.
    thanks in advance.

    952646 wrote:
    Hi all,
    Hope doing well,
    sir i was using one query of sql that is here:
    You mean you have these statements in SQL Server?
    Please remember that SQL is an access language for relational databases. It is used by all of the major rdbms products. "SQL Server" is the name of Microsoft's rdbms product. Do not let Microsoft's marketing flaks lull you into thinking SQL = SQL Server.
    Declare @nshiftmax datetime
    set @nshiftmax=convert(time,DATEADD(N,1439,0))
    print @nshiftmax
    so it is retreiving the result 1/1/1900 11:59 p.m
    and one more query is there
    Declare @nshiftmax datetime
    set @nshiftmax=convert(time,DATEADD(N,0,0))
    print @nshiftmax
    so it is retreiving the result 1/1/1900 12:00 a.m
    how to same result in oracle query.
    thanks in advance.

  • Outer join query for SQL server from Oracle

    Hi All,
    My question is regarding making queries from Oracle to SQL Server database thorugh DBLink.
    In my oracle database I have a DBLink emp.world for SQL Server database.
    I need to query SQL Server data from oracle (so that this query can be combined with other oracle tables).
    Query is given below:
    SELECT
            a."EmpID" as "Employee ID",
            a."EmpStatus" "Employee Status"
            b."EmpSub" as "Employee Subjects"
    FROM
            [email protected] a
            left outer join [email protected] b on a."EmpID" = b."suEmpID"
    ORDER BY  a."EmpID";My problem is when I run the same query from oracle, it does not show the EmpID that does not exist in Subjects table, but when run from actual SQL Server database, it shows all the records.
    Samples are given below:
    Run from Oracle
    Employee ID      Employee Status     Employee Subjects
    101                     Active                     Maths
    102                     Active                     Maths
    102                     Active                     Physics
    104                   Inactive                  Chemistry
    Run form SQL Server
    Employee ID      Employee Status     Employee Subjects
    101                     Active                     Maths
    102                     Active                     Maths
    102                     Active                     Physics
    103                 Active                       NULL
    104             Inactive            ChemistryI am not sure why in oracle outer join for SQL server tables is not working. What is the right way for outer join in this case.
    I am using oracle database 10gR2 and SQL Server 2005.
    Please Help.
    Thanks.

    SELECT
    a."EmpID" as "Employee ID",
    a."EmpStatus" "Employee Status"
    b."EmpSub" as "Employee Subjects"
    FROM
    [email protected] a
    left outer join [email protected] b on a."EmpID" = b."suEmpID"
    ORDER BY a."EmpID";
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/queries006.htm#sthref3175
    From your description, it appears you may need a right outer join. You want to get back all the rows from 'B', not from 'A'. Try a right join and let us know.

  • Help with translating SQL query from SQL Server syntax to Oracle syntax

    Hi,
    is it someone that can help me translate following SQL query from SQL Server syntax to Oracle syntax.
    SELECT ID,
    [LMT(MTR)] = MAX(case when TYPE = 'LMT' then VALUE end),
    [AAD(KGM)] = MAX(case when TYPE = 'AAD' then VALUE end),
    [VOL(MTQ)] = MAX(case when TYPE = 'VOL' then VALUE end)
    FROM yourtable
    GROUP BY ID
    Your help is highly appreciated, thanks in advance.

    Like this,
    SELECT ID,
    MAX(case when TYPE = 'LMT' then VALUE end) LMT_MTR,
    MAX(case when TYPE = 'AAD' then VALUE end) AAD_KGM ,
    MAX(case when TYPE = 'VOL' then VALUE end) VOL_MTQ
    FROM yourtable
    GROUP BY ID-Arun

  • Concept between MS SQL and Oracle

    hi, everyone, i am very new for Oracle. Reading some books and confuse about some base concepts:
    in MS SQL world, you can install multiple INSTANCE on a physical server, inside each INSTANCE, you can create multiple DATABASEs, each DATABASE has it owned data\transaction log file on disk.
    In the Oracle world, my understand is, INSTANCE = memory structure + physical database file (which pretty close to MS SQL identification). similar to MS SQL, you can have multiple INSTANCEs on each physical server. but which one is the 'DATABASE' in oracle world? The closest one i think is TABLESPACE. I can assign one or multiple physical data file for each TABLESPACE. but all the TABLESPACE place the redo log file inside the same undo TABLESPACE? also, for each application, i have to create one or more TABLESPACE inside a INSTANCE(that's what i usually do in MS SQL)?
    thank you for your help. please forgive me if my question is too silly.
    Edited by: user3614365 on Jun 14, 2012 2:57 PM

    please forgive me if my question is too silly.Firs of all, your questions are not silly at all. You can get better understanding of one product by setting analogies and comparisons with a product you are familiar with. I used same method when I learned about MS SQL comparing it with Oracle.
    So, welcome on Oracle board!
    in MS SQL world, you can install multiple INSTANCE on a physical server, you can have multiple instances of Oracle, belonging to same or separate Oracle Home on same physical machine.
    inside each INSTANCE, you can create multiple DATABASEs, In Oracle instance you can have only one database. That is how it is.
    each DATABASE has it owned data\transaction log file on disk.Even in MS SQL there can be multiple data files per database.
    >
    In the Oracle world, my understand is, INSTANCE = memory structure + physical database file (which pretty close to MS SQL identification). similar to MS SQL, you can have multiple INSTANCEs on each physical server.
    >
    yes
    >
    but which one is the 'DATABASE' in oracle world? The closest one i think is TABLESPACE. I can assign one or multiple physical data file for each TABLESPACE. but all the TABLESPACE place the redo log file inside the same undo TABLESPACE?
    >
    Here is little similarity between Oracle TABLESPACE and MS SQL database.
    In MS SQL Database has not only files associated with it, it has its own security and piece of data dictionary. It can have its own collation, you can detach it from one instance and attach to another, you can back it up separately, etc...
    I would say MS DB is more "standalone and self-containig" unit, comparing to Oracle TS.
    Oracle TS is a way of organizing data files and setting some default common storage properties for tables and other segments contained in TS.
    Oracle TS do not have separate security and data dictionary. Normally TS cannot be detached from one instance and attached to another. Though, there are special type of TS - transportable tablespace, which can be viewed as being a little bit close to what MS DB is.
    Anyway Oracle TS is not even close thing to MS DB.
    And it does not need to be. It has a totally different purpose.
    also, for each application, i have to create one or more TABLESPACE inside a INSTANCE(that's what i usually do in MS SQL)?You do not have to. But you better to do this way, from a data organization perspective. To make things look nicely organized.
    Sometimes one application may use multiple TS, for example when it needs different block size for some tables.
    You also can share TS between multiple apps, as you can do it with MS DB.
    What else is different?
    In Oracle there are no separation between logins and db users. It is one entity - USER. It has its security settings and may have its database objects.
    In Oracle can be only one schema per user, named same as user. Basically it is same thing - user and schema is same thing, and created and managed by same command CREATE/ALTER USER.
    However when we talk about storage and a place where objects belong to we say SCHEMA.
    When we talk about security and an owner where objects belong to - we say USER. :)
    Schema is like users Home in OS. What user creates belongs to its "home" - the schema. And the user is owner of it.
    If one user creates something in other's schema that thing will belong to that other's schema, and that another user will be owner, not to the user that called CREATE statement.
    However one user can change its current schema for the current session, just to avoid implicitly specifying another schema as a prefix for objects of that another schema.
    CONNECT scott
    SELECT * FROM joe.emp;
    ALTER SESSION SET CURRENT_SCHEMA = joe;
    SELECT * FROM emp;
    In MS SQL schemas are more similar to directories, there can be objects of different users in same schema, and objects of same user in different schemas.
    In Oracle there is DB Link which is similar to Linked Server.
    When called, DB Link is specified after the object name, separated by @.
    SELECT * FROM emp@anotherDB;
    That was most significant differences.
    Oh yes, Oracle is a versioning engine, and MS SQL is locking engine, though it can be any starting from recent.

  • Oracle Process Manufacturing Process Execution Cycle

    Hi I am new to OPM and looking for an overview of how OPM works.
    I have searched but could not find any specific document.
    If anyone is having or knows the process , Please share it.
    Thank you in advance..

    Hi;
    Please see:
    Information Center: Oracle Process Manufacturing [ID 1393312.2]
    http://docs.oracle.com/cd/E18727_01/doc.121/e13652/T321962T321965.htm
    http://docs.oracle.com/cd/A99488_01/acrobat/115gmepeapiug.pdf
    http://docs.oracle.com/cd/A85683_01/acrobat/gmetrm.pdf
    http://oracleappscommunity.com/oracle/blog/955/oracle-process-manufacturing-process-execution-tables/
    Also see:
    For r12.1.1:
    http://download.oracle.com/docs/cd/B53825_01/current/html/docset.html
    For r12:
    http://download.oracle.com/docs/cd/B40089_10/current/html/docset.html
    For r11:
    http://download.oracle.com/docs/cd/A60725_05/r11_doc.htm
    Regard
    Helios

  • How to write exact query from sql to oracle?

    Hi all,
    hope doing well,
    sir i am using one query in sql that is
    declare @earlyleavers varchar(max), @earlyleavers1 int
    select @earlyleavers1 = DATEDIFF(Minute,'1900/01/01 10:00:00.000','1900/01/01 11:00:00.000')
    select @earlyleavers = CONVERT(char(8),DATEADD(n,@earlyleavers1,0),108)
    print @earlyleavers
    and i am getting the result like this
    01:00:00
    how to get the same result in oracle
    please help me.
    thanks in advance.

    952646 wrote:
    sir i need result in this format 01:00 not in 1 format.The name is Billy and not "sir". :-)
    Is "01:00" a string format or an elapsed time format?
    The number that the above code returns is decimal hours. So a number value of 1.5 means 1h30m or 1:30 or however you need to render that.
    And that is the question. Is this a rendering issue? Must the result be rendered in a specific format?
    If so, then this is not a SQL or PL/SQL issue. The server returning decimal hours is acceptable. The client (e.g. C#/Java code) needs to decide how to format and render this meaningful value. Keep in mind that if the sever code returns "1.30" or "1:30" for example, these are string/text data and pretty much meaningless. And it does not make sense for server code to return meaningless text strings to the client.
    If the client expects a duration and not a numeric data type, then the server code should return a value of the INTERVAL DAY TO SECOND data type.
    This data type specifically exists to contain duration values between to dates or times.
    In this case, the server code will expect the host (C#/Java) variable to be of data type INTERVAL DAY TO SECOND. The server code will look something as follows:
    SQL> declare
      2          earlyleavers    interval day to second;
      3  begin
      4          earlyleavers := NumToDSinterval(
      5                                  (to_date('1900/01/01 11:00:00','yyyy/mm/dd hh24:mi:ss') -
      6                                  to_date('1900/01/01 10:00:00','yyyy/mm/dd hh24:mi:ss') ) * 24,
      7                                  'hour'
      8                          );
      9 
    10          dbms_output.put_line( to_char(earlyleavers) );
    11  end;
    12  /
    +00 01:00:00.000000
    PL/SQL procedure successfully completed.
    SQL>An interval-to-string conversion function is used (with default formatting) to "print" the interval value via DBMS_OUTPUT. The default format includes days and a sign to indicate a positive or negative interval. Look at the SQL Reference manual for the format masks that can be used.
    The important thing is to treat data values correctly using the most appropriate type. And intervals should either be a decimal day/hour/minute numeric type, or an actual interval type.

  • SQL Query ( PL/SQL function body returning query ) page

    Hello Friends,
    I have a page with type SQL Query ( PL/SQL function body returning query ).
    I have written a pl/sql block that returns a sql query - select statment.
    Some times i am getting no data found error - does it got to do with the variable that stores the query .
    =======================
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    Error ERR-1101 Unable to process function body returning query.
    OK
    =====================
    When the query is returned with records where exactly the records are stored is it in the variable declared in pl/sql block or with the Oracle Apex implicit cursor.
    Here's the pl/sql block ..
    The query is generated while the user is navigating through pages ..
    ====================
    declare
    l_return_stmt varchar2(32767);
    l_select varchar2(32000);
    l_from varchar2(32000);
    l_where varchar2(32000);
    l_order_by varchar2(32000);
    l_stmt_recordcount varchar2(32000);
    l_recordcount number ;
    begin
    l_select := 'select '||:P10_VARLIST1||:P10_VARLIST2||:P10_VARLIST3
    ||:P10_VARLIST4||:P10_VARLIST5;
    l_from := ' from '||:P10_RELATION;
    if length(:P10_WHERE) > 0 then
    l_where := ' where '||:P10_WHERE;
    else
    l_where := '';
    end if;
    if length(:P10_ORDER_BY) > 0 then
    l_order_by := ' order by '||:P10_ORDER_BY;
    else
    l_order_by := '';
    end if;
    l_return_stmt := l_select||l_from||l_where||l_order_by;
    :P10_STMT := l_return_stmt;
    return l_return_stmt;
    end;
    =============================
    Appreciate your help in this regard.
    thanks/kumar
    Edited by: kumar73 on Apr 22, 2010 6:38 AM

    It looks like the query string you are trying to pass back exceeds the 32K limit for a varchar. Where this is happening is kind of difficult to tell as it could be any number of points, and also depends on what you are passing into the process via page items.
    I would first try to establish what combination of page items causes this error to occur. Then, starting from the bottom and working your way backwards, I would start 'switching off' some of the items you use to build your query until it breaks again, thus establishing which part is leading to the error.
    Also, I'm not sure what :P10_STMT is doing (are you maybe using this for visiblity of the query created)?
    It looks like the query string you are trying to pass back exceeds the 32K limit for a varchar. Where this is happening is kind of difficult to tell as it could be any number of points, and also depends on what you are passing into the process via page items.
    I would first try to establish what combination of page items causes this error to occur. then, starting from the bottom and working your way backwards, I would start 'switching off' some of the items you use to build your query until it breaks again, thus establishing which part is leading to the error.
    Also, I'm not sure what :P10_STMT is doing (are you maybe using this for visiblity of the query created)?

  • DB buffer cache vs. SQL query & PL/SQL function result cache

    Hi all,
    Started preparing for OCA cert. just myself using McGraw Hill's exam guide. Have a question about memory structures.
    Actually, DB buffer cache is used to copy e.g. SELECT queries result data blocks, that can be reused by another session (server process).
    There is also additional otion - SQL query & PL/SQL function result cache (from 11g), where also stored the results of such queries.
    Do they do the same thing or nevertheless there is some difference, different purpose?
    thanks in advance...

    There is also additional otion - SQL query & PL/SQL function result cache (from 11g), where also stored the results of such queries.Result cache located in shared pool.So it is one component of shared pool.When server process execute query(and if you configured result cache) then result will store in shared pool.Then next execution time run time mechanism will detect and consider using result cache without executing this query(if data was not changed this is happen detection time)
    Do they do the same thing or nevertheless there is some difference, different purpose?.Buffer cache and result cache are different things and purpose also,but result cache introduced to improve response time of query in 11g(but such mechanism also implemented in 10g subquery execution,in complex query).In buffer cache holds data blocks but not such results.
    Edited by: Chinar on Nov 4, 2011 4:40 AM
    (Removing lots of "But" word from sentences :-) )

Maybe you are looking for

  • I cannot install itunes, canot delete bonjour

    I CANNOT INSTALL ITUNES, CANNOT DELETE BONJOUR

  • Survey Link Not Working

    Experts: I created Survey in 'CRM_SURVEY_SUITE' for marketing. I could able to generate the the URL. But when try to test the URL, it opens up  blank webpage (no survey). Any suggestions Thanks

  • Logic crashes randomly and when saving

    Hi, I hope someone can help, I'm running logic 9 on OSX 10.9.1 2.66 GHz Duo Core with 4 gig of ram. I've had random crashes occasionally in the past but nothing like this, the situation has got worse over the past week with many random crashes and it

  • Drag and drop to grid AS2

    i want to create a grid where i can drag and drop items to it n save them, should i draw the grid myself and make a bunch of holders (as if i were making an inventory?) or is there a code i can use. i am pretty good with as2 but i never took the time

  • Create dll from labview

    Hi all: I am using labview 8.5 , i want to create dll for spacific vi , to use its output in another program like C++, can any one help me to learn the steps to create dll from labview thanks