SQL Result Cache  vs In-Memory Database Cache

Hi,
can anyone help me to understand the relations and differences between the 11 g new features of SQL Result Cache vs In-Memory Database Cache ?
Thanks

I highly recommend you read the 11g New Features Guide. Here is a sample from it:
h4. 1.11.2.9 Query Result Cache
A separate shared memory pool is now used for storing and retrieving
cached results. Query retrieval from the query result cache is faster
than rerunning the query. Frequently executed queries will see
performance improvements when using the query result cache.
The new query result cache enables explicit caching of results in
database memory. Subsequent queries using the cached results will
experience significant performance improvements.
See Also:
[Oracle Database Performance Tuning Guide|http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/memory.htm#PFGRF10121] for details
[Results Cache Concepts|http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/memory.htm#PFGRF10121|Results Cache Concepts]
HTH!

Similar Messages

  • "In-Memory Database Cache" option for Oracle 10g Enterprise Edition

    Hi,
    In one of our applications, we are using TimesTen 5.1.24 and Oracle 9i
    databases (platform - Solaris 9i).
    TimesTen holds application information which needs to be accessed quickly
    and Oracle 9i is a master application database.
    Now we are looking at an option of migrating from Oracle 9i to Oracle 10g
    database. While exploring about Oracle 10g features, came to know about
    "In-Memory Database Cache" option for Oracle Enterprise Edition. This made
    me to think about using Oracle 10g Enterprise Edition with "In-Memory
    Database Cache" option for our application.
    Following are the advantages that I could visualize by adopting the
    above-mentioned approach:
    1. Data reconciliation between Oracle and TimesTen is not required (i.e.
    data can be maintained only in Oracle tables and for caching "In-Memory
    Database Cache" can be used)
    2. Data maintenance is easy and gives one view access to data
    I have following queries regarding the above-mentioned solution:
    1. What is the difference between "TimesTen In-Memory Database" and
    "In-Memory Database Cache" in terms of features and licensing model?
    2. Is "In-Memory Database Cache" option integrated with Oracle 10g
    installable or a separate installable (i.e. TimesTen installable with only
    cache feature)?
    3. Is "In-Memory Database Cache" option same as that of "TimesTen Cache
    Connect to Oracle" option in TimesTen In-Memory Database?
    4. After integrating "In-Memory Database Cache" option with Oracle 10g, data
    access will happen only through Oracle sqlplus or OCI calls. Am I right here
    in making this statement?
    5. Is it possible to cache the result set of a join query in "In-Memory
    Database Cache"?
    In "Options and Packs" chapter in Oracle documentation
    (http://download.oracle.com/docs/cd/B19306_01/license.102/b14199/options.htm
    #CIHJJBGA), I encountered the following statement:
    "For the purposes of licensing Oracle In-Memory Database Cache, only the
    processors on which the TimesTen In-Memory Database component of the
    In-Memory Database Cache software is installed and/or running are counted
    for the purpose of determining the number of licenses required."
    We have servers with the following configuration. Is there a way to get the
    count of processors on which the Cache software could be installed and/or
    running? Please assist.
    Production box with 12 core 2 duo processors (24 cores)
    Pre-production box with 8 core 2 duo processors (16 cores)
    Development and test box with 2 single chip processors
    Development and test box with 4 single chip processors
    Development and test box with 6 single chip processors
    Thanks & Regards,
    Vijay

    Hi Vijay,
    regarding your questions:
    1. What is the difference between "TimesTen In-Memory Database" and
    "In-Memory Database Cache" in terms of features and licensing model?
    ==> Product has just been renamed and integrated better with the Oracle database - Times-Ten == In-Memory-Cache-Database
    2. Is "In-Memory Database Cache" option integrated with Oracle 10g
    installable or a separate installable (i.e. TimesTen installable with only
    cache feature)?
    ==> Seperate Installation
    3. Is "In-Memory Database Cache" option same as that of "TimesTen Cache
    Connect to Oracle" option in TimesTen In-Memory Database?
    ==> Please have a look here: http://www.oracle.com/technology/products/timesten/quickstart/cc_qs_index.html
    This explains the differences.
    4. After integrating "In-Memory Database Cache" option with Oracle 10g, data
    access will happen only through Oracle sqlplus or OCI calls. Am I right here
    in making this statement?
    ==> Please see above mentioned papers
    5. Is it possible to cache the result set of a join query in "In-Memory
    Database Cache"?
    ==> Again ... ;-)
    Kind regards
    Mike

  • Oracle TimesTen In-Memory Database VS Oracle In-Memory Database Cache

    Hi,
    What is difference in Oracle TimesTen In-Memory Database VS Oracle In-Memory Database Cache.
    For 32 bit on windows OS i am not able to insert data's more than 500k rows with 150 columns (with combinations of CHAR,BINARY_DOUBLE,BINARY_FLOAT, TT_BIGINT,REAL,DECIMAL,NUMERIC etc).
    [TimesTen][TimesTen 11.2.2.2.0 ODBC Driver][TimesTen]TT0802: Database permanent space exhausted -- file "blk.c", lineno 3450, procedure "sbBlkAlloc"
    I have set Perm size as 700 mb,Temp size as 100mb
    What is the max size we can given for PermSize,TempSize,LogBufMB for 32 bit on windows OS.
    What is the max size we can given for PermSize,TempSize,LogBufMB for 64 bit on windows OS.
    What is the Max configuration of TT for 32 bit what i can set for Perm size Temp size.
    Thanks!

    They are the same product but they are licensed differently and the license limits what functionality you can use.
    TimesTen In-Memory Database is a product in its own right allows you to use TimesTen as a standalone database and also allows replication.
    IMDB Cache is an Oracle DB Enterprise Edition option (i.e. it can only be licensed as an option to an Oracle DB EE license). This includes all the functionality of TImesTen In-Memory Database but adds in cache functionality (cache groups, cache grid etc.).
    32-bit O/S are in general a poor platform to try and create an in-memory database of any significant size (32-bit O/S are very limited in memory addressing capability) and 32-bit Windows is the worst example. The hard coded limit for total datastore size on 32-bit O/S is 2 GB but in reality you probably can;'t achieve that. On Windows the largest you can get is 1.1 GB and most often less than that. If you need something more than about 0.5 Gb on Windows then you really need to use 64-bit Windows and 64-bit TimesTen. There are no hard coded upper limit to database size on 64-bit TimesTen; the limit is the amount of free physical memory (not virtual memory) in the machine. I have easily created a 12 GB database on a Win64 machine with 16 GB RAM. On 64-bit Unix machines we have live database of over 1 TB...
    Chris

  • Using In-Memory Database Cache option need help

    Hi,
    I need some help:
    I am using Oracle 10g Server Release 2
    For Clientele activilty I am using Oracle Client where the Application resides.
    For Better performance I want to use the In-Memory Database Cache option Times-Ten Database.
    Is it possible to do so where there is Oracle Database Server Relaease 2 and in the Client there is Times-Ten In-Memory Database Cache?
    Any help will be needful for me

    In-Memory Cache is a server-side cache. I can not see where there would be any value putting it on the client side though given the license cost per CPU core I am sure the entire Oracle sales force would gladly disagree with me.

  • Oracle In-Memory Database Cache

    Hi,
    I was reading about Oracle in Memory database cache and i am wondering is this option available on 10g, from what i read it is only on 11g and it is extra option and have to pay for it.
    Any more info, will be great.
    thanks

    From here
    The In-Memory Database Cache option of Oracle Database Enterprise Edition is based on Oracle TimesTen In-Memory Database.TimesTen is also available for 10g.

  • Oracle In-Memory Database Cache Testcases

    We are implementing Oracle In-Memory Database Cache on an existing oracle database. We want to do some extensive testing on Oracle In-Memory Database. Can anybody please share some pointers in writing testcases ?

    Best place to start is here:
    http://www.oracle.com/technetwork/products/timesten/overview/index.html
    In particular take a look at the Quickstart which is provided as part of the install of the product and can be accessed online here http://www.oracle.com/technetwork/products/timesten/learnmore/index.html via http://download.oracle.com/otn_hosted_doc/timesten/1122/quickstart/html/main/home.html
    Take a look at the sample programs the tptbm program is a good place to start.
    Tim

  • Oracle Portal & 9iAS Database Cache

    Has anyone used Oracle 9iAS database cache to speed up document retrieval from Portal? Can Portal be used to cache Portal documents remotely??
    Any help greatly appreciated

    From here
    The In-Memory Database Cache option of Oracle Database Enterprise Edition is based on Oracle TimesTen In-Memory Database.TimesTen is also available for 10g.

  • Low database cache hit ratio (85%)

    Hi Guys,
    I understand that high db cache hit ratio doesn't indicates that the database is healthy.
    The database might be doing additional "physical" reads due to un-tuned SQL.
    However, can explain why a low cache hit ratio might not indicate the db is unhealthy, as in the db need additional memory allocated?
    What i can think of is probably:
    1. the database might query different data most of the time. As such the data is not read again from cache before it aged out. Even if i add additional memory, the data might not be read again (from memory).
    2. ?
    3. ?
    I'm quite reluctant to list out the databases with below 90% hit ratio as part of the monthly report to the management. To them, below 90% means unhealthy.
    If these ratios to be used in monthly report, there will be a long section to explain why these ratios cannot meet but there is no performance concern.
    As such will need your expert advise on this.
    thanks
    Edited by: Chewy on Mar 13, 2012 1:23 AM

    Nikolay Savvinov wrote:
    In isolation, ratios are useless, but trends in ratios can point to potential problem. If your BCHR is steadily degrading over time, this is something to worry about (you'll have to examine your application for scalability issues)
    I used to think that there was a case for trending through a ratio in the days when databases were small, simple and (by modern standards) not very busy. But I'm no longer sure it was even a good idea then. How much of a change do you need to see before you start worrying - and what time-granularity would you take as your baseline. When a ratio varies between 98% and 99% during daylight hours, how do you spot a very large problem that's only going make a change of 0.01% over the course of a couple of weeks ?
    I really don't think there's any good SIMPLE way of producing a management sound-bite for every database in the system; each database needs a personal touch, and the number of figures you need to supply on each is not going to be easy to grasp without some graphic assistance. A suggestion I have is simply to pick three "representative" queries from the application (one "small", one "medium" and one "large") and run them once every hour, capturing the plan_hash_value, elapsed time, disk-reads, buffer gets, and CPU for each. A daily graph - 4 lines each - of each query will give management the big picture of variation in response time; a longer term graph based on the daily average with (say) best and worst excluded will give a trend warning. Obvously each database (or even application within database) needs its own three queries, and there may be periods during the day when it is not relevant to worry about a particular query.
    (NB In the past I've run baseline queries from a pl/sql package called by dbms_job, or dbms_scheduler, and stored the resulting cost figures in the database - capturing all the session stats, wait event and time model information)
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    Author: <b><em>Oracle Core</em></b>

  • Database Cache config failed when 26%

    My scene is:
    oracle db 8.1.7 on Solorias 8
    database cache of iAs9i on another Solorias 8
    the error detail is:
    Configuring the cache
    Creating the cache
    Starting up the cache
    Setting up the Cache Listener
    Connecting to the Cache
    Connecting to the Cache failed
    Reason:ORA-01034:Oracle not available
    ORA-27101:shared memory realm dose not exist
    SVR4 Error:2:No such file or directory
    Any one and any help
    thanks!
    null

    Hi,
    I got the similar error when I installed 8i iAS. The error is
    Updating User List
    Adding users to the cache
    Adding users to the cache failed.
    Reason: WTE-03501 Error updating list of users: Export failed on origin database.
    OCI error - ORA-06520: PL/SQL: Error loading external library
    ORA-06522: dlopen: cannot load /lib/libc.so
    ORA-06512: at "SYS.WTCSYS", line 11
    ORA-06512: at "SYS.WTCSYS", line 66
    ORA-06512: at line 1
    My original DB is installed in TRU64 Unix. I copied the libc.so file in the /lib directory of the UNIX server. Copied the file from the /usr/shlib/libc.so to the /lib directory.
    This solved my problem. Hope this information will be helful to you
    Regards,
    Srikanthan S

  • Database Cache Hit ratio is very less

    Hi All,
    my live database Cache Hit ratio is very less. can some one proposed relevant solution for that.
    SELECT (1-((phy.value-phyd.value) / (cur.value + con.value))) * 100 "Cache Hit ratio"
    FROM v$sysstat cur, v$sysstat con, v$sysstat phy, v$sysstat phyd
    WHERE cur.name = 'db block gets'
    AND con.name = 'consistent gets'
    AND phy.name = 'physical reads'
    AND phyd.name = 'physical reads direct';
    Cache Hit ratio
    47.99717699362490769958384625413175240442
    select NAME,VALUE from v$parameter where name like '%db_cache_size%';
    NAME VALUE
    db_cache_size 335544320
    select name, value From v$sysstat
    where name in ('db block gets', 'consistent gets', 'physical reads');
    NAME VALUE
    db block gets 30047032214
    consistent gets 691770165681
    physical reads 376120181932
    Thanks

    user1093072 wrote:
    Hi all thanks a lot for your answers. i am getting some query time outs and while investigating got less ratios. can some one tell me how to get dicission using this ratios
    Buffer Hit % 95.71
    Cache Hit ratio 47.99The fact that you get two different values for "the same thing" is a clue that (a) your SQL statement is suspect and (b) your logic is flawed.
    You SQL is going to give you some kind of (meaningless) average since the database started up. The report you showed looks like part of an AWR or statspack report which will be covering a short interval of time. The difference between the two percentages may mean the two approaches are using different formula, or it may mean that the result is highly dependent on the time window.
    Since you have access to AWR/statspack - run off a report for a (short) interval when the system is performing well, and for when the system is performing badly, and compare them.
    As a starting point you could post the two sections "Load Profile" and "Top 5 Timed Events" to the forum for initial comment. If you do so, please make sure you use the "code" tags (see end of post) to make the output readable or you may get no replies.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Ignoring cache - selecting directly from database

    I have a scenario where several tables will be mapped using Toplink for the data access benefits, but will be updated ouside of the Toplink process. Obviously this behavior negates the beneift of caching in toplink and I need a reliable way to bypass the cache when selecting from these tables.
    The only method I've found in my testing to overcome this problem is to select "Always Refresh" and "Disable Cache Hits" on the related entities in the Toplink Mapping Workbench. All other configurations, including setting the identity map size to 0 will return stale instances of these objects.
    I've also tried invoking dontCheckCache() and setCacheUsage() on my query with the understanding, based on the API documentation, that the cache would be ignored for the query. In both cases the returned object was retrieved from the cache and not the database.
    While the workbench solution will suffice for my purposes, I would like to know if there are other methods of ignoring the cache. Also, I'm curious about why the query methods I've mentioned don't seem to have any affect on the source of the resulting objects.
    I am using Toplink v9.0.3

    Using "Always Refresh" and "Disable Cache Hits" is probably the best method to ensure that no cached data is every returned from queries. If you are using optimistic locking you may also use "onlyRefreshCacheIfNewerVersion" in conjunction with these.
    For the full/weak identity maps the size is only the default map size, it will grow as objects are added, so setting this to 0 will have no effect on what is cached, you could set the cache type to NoIdentityMap ("None") to achieve this, but usage of alwaysRefreshCache is a better way as is still preserves object identity.
    The query options dontCheckCache() and setCacheUsage() are in-memory querying options, they effect how cache hits are obtained, but do not effect how the objects are cached or refreshed. To refresh objects at the query level use refreshIdentityMapResult() ("Refresh"). Using refresh at the query level should also meet your needs, and may be better than setting the alwaysRefreshCache option on the descriptor as then you can control which queries refresh and which can obtain cache hits. (for example you may want to query for employees to refresh, but allow the query for the 1-1 backreference for phone numbers to obtain a cache hit). For refresh queries you can also set the refresh cascade depth.

  • How do I know hold old a database cache is?

    I'm caching a database query since it's a lot of data but I want to output to the user if the data is fresh (just came from the database right now), or it's cached.  If it's cached, I want to tell them how long ago it came from the database.  I tried to use CacheGetAllIds (and then CacheGetMetadata) but the array is empty.  Where I can find this information?
    Thanks.

    Just to revive this old thread. I was busy with a related subject (monitoring), when I stumbled on it.
    You should write code that logs in to the ColdFusion Administrator via an adminapi object. Then create a ServerMonitoring object on which to call getCachedQueries().
    Steps:
    (1) Enable Monitoring, Memory Monitoring and Profiling in the Administrator. That is required for the function getCachedQueries to work.
    (2) Run a CFM page, say, cachedQueries.cfm, that contains the following code:
    <cfscript>
        /*Log in to ColdFusion Administrator (using your own password, naturally)*/
        adminObj = createObject("component","cfide.adminapi.administrator");
        adminObj.login("my_CF_Admin_password");
        /*Instantiate the servermonitoring object*/
        myObj = createObject("component","cfide.adminapi.servermonitoring");
        /*Get structure(array?) containing details of each cached query*/
        cachedQueries = myObj.getCachedQueries();
    </cfscript>
    <cfdump var="#cachedQueries#">
    The documentation says this will dump the details of all cached queries as a structure having the following keys:
    LASTTIMEEXECUTED: The time at which the query was executed
    SIZE: The size of the query in bytes
    EXECUTIONTIME: The time taken for the query to execute
    QUERYNAME: The name of the query
    DSN: The datasource name
    SQL: The SQL for the query
    TEMPLATEPATH: The path to the template on which the query was issued
    TIMETAKEN:The time taken for the query to execute upto this call in milliseconds
    LINENUMBER: The line number on the template where the query was issued
    FUNCTIONNAME: The name of the function in which the query was issued, if any
    EXECUTIONCOUNT: The number of times the query has been executed

  • Error in configuring database cache

    Dear friends,
    I installed Oracle 9ias on the original oracle 9i database on the same machine. When I configured database
    database cache. The followings error message appeared when I use wtacce -create -typical:
    ORA-01034: Oracle not available
    ORA-27101: share memory realm doesn't exist
    SVR4 error: no such file or directory.
    How can I fix them?
    Thank you in advance

    Database Cache is being phased out in 9iAS release 2. Please post all Database Cache questions on the general database discussion forum.

  • Oracle Database Cache

    After installing Data Base cache Succesfully.
    I invoked my appilcation and runned some reports and forms. But I could not see any Hits/misses in the Cache manager statistics.
    But if I am executing it in Back end at SQL Prompt, those are visible in Hit/Misses statistics.
    1) How can I make my application to use Database Cache?
    2) Also I want to Know if my application is using Web Cache or not. Is there any way to Check this out.
    Pls. help me. I am running out of time
    Gopi Kumar
    null

    Thanks for your reply. Infact I saw your question before I posted my question. Actually that answer will not suffice for me.
    I invoked my application and ran some reports. Since report contains SQL statements, The Hit/Misses statistics has to show whether that particular SQL is a Hit or Miss. But, its not showing anything, But if I run the SQL at Backend it's showing in the Statistics.
    Now I dont know how to make my application to use database cache.
    Any more clues.....
    Gopi Kumar
    null

  • The SQL has aged out of the cursor cache.

    Hi,
    on 10g R2, Ihave the following :
    The SQL has aged out of the cursor cache.
    Does-it mean that undo_retention is not enough big?
    For the moment it is 10800, 3 hours.
    Thanks.

    Hi,
    The issue is that when in sql advisory I click on "Schedule SQL tunning advisor" it gives me "The SQL has aged out of the cursor cache".
    If shared_pool is =0 , (automatic management) would it be usefull to define shared_pool_reserved_size value ?
    In documentation it is said :
    7.3.8.2 When SHARED_POOL_RESERVED_SIZE Is Too Small
    The reserved pool is too small when the value for REQUEST_FAILURES is more than zero and increasing. To resolve this, increase the
    value for the SHARED_POOL_RESERVED_SIZE and SHARED_POOL_SIZE accordingly. The settings you select for these parameters
    depend on your system's SGA size constraints.
    Increasing the value of SHARED_POOL_RESERVED_SIZE increases the amount of memory available on the reserved
    list without having an effect on users who do not allocate memory from the reserved list.And actually I have REQUEST_FAILURES =15.
    Thank you.

Maybe you are looking for

  • -ve values in inventory report

    Hi Experts, I have inventory report, this report shows total stock, in this report some materials are showing '-ve' values,but in cube total issue stock and total received stock both are same, that means this inventory report should show '0' value. f

  • 2008 R2 failover cluster dns

    Hello, Wondering if there is any best practices when it comes to setting up DNS. Options are either dynamic DNS or add static A records for nodes and cluster name. Also I understand that there will be no DNS servers specified in TCP properties of the

  • Usb harddrive to airport exteme

    I would like some advice on how to use Time Machine to automatically back up my external HD, that's connected to my Airport Exteme.  Another question is: I would like advice on using Time Machine on a second external HD approx. once a month.  This HD

  • New line in output

    Hi I have a receiver FCC.(file to file scenario) I wanted a an empty line at the begininning of my output. Does add.headerline work for that? if not can sum1 suggest something? Thanks Mark

  • Cfchart yaxis scale is wrong when combining bar and line charts

    Hi, I am trying to combine a bar and line chart ti display data.  Everything looks good except that the yaxis scale is off.  I set the scaleMin to 0 but that doesn't help.  Below is my code, the custom XML style and a screen shot.  My ultimate goal i