Function result Cache in oracle 11G

Hi,
i am reading the following article and trying to reproduce same set of statements to learn about function result cache.
http://www.oracle.com/technology/oramag/oracle/07-sep/o57asktom.html
Details about my output:
SQL> create or replace
function not_cached
( p_owner in varchar2 )
return number
as
l_cnt number;
begin
select count(*)
into l_cnt
from t
where owner = p_owner;
sys.dbms_lock.sleep(1);
return l_cnt;
end;
Function created.
Elapsed: 00:00:00.13
SQL> create or replace
function cached
( p_owner in varchar2 )
return number
result_cache
relies_on(T)
as
l_cnt number;
begin
select count(*)
into l_cnt
from t
where owner = p_owner;
dbms_lock.sleep(1);
return l_cnt;
end;
Function created.
Elapsed: 00:00:00.08
SQL> exec dbms_output.put_line( not_cached( 'SCOTT' ) );
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.06
SQL> exec dbms_output.put_line( not_cached( 'SCOTT' ) );
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.01
SQL> SQL> exec dbms_output.put_line( not_cached( 'SCOTT' ) );
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.02
SQL> SQL> set serveroutput on
SQL> exec dbms_output.put_line( not_cached( 'SCOTT' ) );
0
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.02
SQL> SQL> exec dbms_output.put_line( cached( 'SCOTT' ) );
0
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.02
SQL> SQL> exec dbms_output.put_line( cached( 'SCOTT' ) );
0
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.02
SQL> SQL> exec dbms_output.put_line( cached( 'SCOTT' ) );
0
PL/SQL procedure successfully completed.
SQL> exec dbms_output.put_line( cached( 'SCOTT' ) );
0
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.01
I am supposed to get the results quickly for "cached" call. However, i still dont see any change in the response time. May i know what i am missing here?
Thank you
Giridhar

Try to play with
RESULT_CACHE_MAX_SIZE
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/initparams206.htm#REFRN10272
RESULT_CACHE_MAX_RESULT
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/initparams205.htm#REFRN10298

Similar Messages

  • Result Cache in oracle 11g release 2.0.2.0

    All,
    Few months back I was trying Result Cache feature of 11g release 2.0.1.0. That time oracle mentioned that they have 3 modes to use this feature by setting result_cache_mode paramter to AUTO, FORCE or MANUAL. With AUTO mode (result_cache_mode=AUTO) you can identify queries that may benefit from result cache. I would like to know whcih views or function I should see where it captures this information.
    In 11.2.0.1.0 documentation it was referencing some views (I totally don't remember those views names) and said those will be available in 11.2.0.2.0.
    Is anyone know about this?
    Thanks in advance.

    user2486753 wrote:
    Though oracle doc doesn't say about AUTO it is still accepts that value and caches the result of the SQL query if you add /*+ result cache */ hint to the SQL.
    I know that they did mentioned in 112010 some where that it will help users to find which SQL's are good candidates for caching by running the application for a while. I just couldn't fine it.If we are adding AUTO and still passing the hint, its the same behavior as like MANUAL. I am not sure that I have seen the value anywhere and neither its there in the docs too.
    HTH
    Aman....

  • PL/SQL Function Result Cache?

    Hi all,
    As we know, there's a new feature in 11g, called 'result cache', this 'result cache' can be shared throughout the whole instance, but if I got it right, only sql query result and function return value are cached, right? how about the store procedure, I mean, procedure also has its 'return value'--the output parameter, could it benefit from this new feature?
    Another question is, if my PL/SQL Function just retrieves the table and returns the result without any complicated calculation, is it necessary to enable the 'result cache' mechanism on this Function? because we already have 'db buffer cache' if the only thing we do is to query tables.
    Many thanks.

    Hi Morven,
    As of now, PL/SQL Result cache feature is only enabled for stored functions and not for procedures. This is due to the objectives they achieve. Functions are usually computative and procedures are for logic implementation.
    And for enabling result caching feature for a function, you are the better judge as u can test the performance in both the case. But, i would support enabling the cache because oracle 11g provides Cache as a different SGA component. db_buffer_cache will also be used for buffering other data blocks and not the result sets.
    Hope my explanation is fine.

  • 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 :-) )

  • Does OCI client result cache and oracle UCP work together?

    I'm using Oracle 11.2.1.0. I've set up FCF and enabled OCI result cache on server side, so on client side, I'm using UCP for failover.
    this is my datasource configuration:
    <Resource name="jdbc/MyPool"
    auth="Container"
    factory="oracle.ucp.jdbc.PoolDataSourceImpl"
    type="oracle.ucp.jdbc.PoolDataSource"
    connectionFactoryClassName="oracle.jdbc.pool.OracleDataSource"
    url="jdbc:oracle:oci:@dbhost:1521/myDb"
    user="db_user"
    password="db_password"
    fastConnectionFailoverEnabled="true"
    onsConfiguration=""
    connectionPoolName="dbPool"
    initialPoolSize="5"
    minPoolSize="5"
    maxPoolSize="25"
    connectionWaitTimeout="10000"
    inactiveConnectionTimeout="120000"
    abandonConnectionTimeout="60"
    validateConnectionOnBorrow="true"
    sqlForValidateConnection="select user from dual"
    maxStatements="30"/>
    I've enabled OCI client result cache.
    I use /*+ result_cache */ in my query to take advantage of the result cache.
    so I execute the following scenario:
    i) select /*+ result_cache */ value from myTable where id=1; (this returns a result.)
    ii) update myTable to set a different value for id=1 record;
    iii) run select query again; (this should return a different result. oci result cache gets updated when table changes.)
    if I take out
    "sqlForValidateConnection" and/or "validateConnectionOnBorrow" (i.e. disable sql validation on borrow), the 2nd query after table update doesn't show the latest result. it's still showing the old query result.
    is this a bug? that UCP validation on borrow has an impact on OCI result cache function? this doesn't happen if using dbcp java connection pooling with OCI result cache.

    it turns out I ran the test against an oracle server that doesnt have FCF configured, nor ONS.
    once i switched to a correct oracle cluster, my test passed.

  • Query not considering function based index in oracle 11g

    I have a query which used Function Based Index when run in oracle 9i but when I run the same query
    without any changes, it does not consider index. Below is the query:
    SELECT distinct patient_role.domain_key, patient_role.patient_role_key,
    patient_role.emergency_contact_name,
    patient_role.emergency_contact_phone, patient_role.emergency_contact_note,
    patient_role.emergency_contact_relation_id,
    patient_role.financial_class_desc_id, no_known_allergies, patient_role.CREATED_BY,
    patient_role.CREATED_TIMESTAMP,
    patient_role.CREATED_TIMESTAMP_TZ, patient_role.UPDATED_BY, patient_role.UPDATED_TIMESTAMP,
    patient_role.UPDATED_TIMESTAMP_TZ,
    patient_role.discontinued_date
    FROM encounter, patient_role
    WHERE patient_role.patient_role_key = encounter.patient_role_key
    AND UPPER(TRIM(leading :SYS_B_0 from encounter.account_number)) = UPPER(TRIM(leading :SYS_B_1 from
    :SYS_B_2))
    AND patient_role.discontinued_date IS null
    AND encounter.discontinued_date IS null ;
    Index definition:
    CREATE INDEX "user1"."IX_TRIM_ACCOUNT_NUMBER" ON "user1."ENCOUNTER" (UPPER(TRIM(LEADING
    '0' FROM "ACCOUNT_NUMBER")), "PATIENT_ROLE_KEY", "DOMAIN_KEY", "DISCONTINUED_DATE")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT)
    TABLESPACE "user1"
    Database : Oracle 11g (11.2.0.3)
    O/S : Linux 64 bit (the query does not consider index even on windows os)
    Any suggestions?
    -Onkar
    Edited by: onkar.nath on Jul 2, 2012 3:32 PM

    Onkar,
    I don't appreciate you posting this question in several forums at the same time.
    If I would know you also posted this on Asktom, I wouldn't even have bothered.
    As to your 'issue':
    First of all: somehow cursor_sharing MUST have been set to FORCE. Oracle is a predictable system, not a fruitmachine.
    Your statement the '0' is replaced by a bind variable anyway is simply false. If you really believe it is not false, SUBMIT a SR.
    But your real issue is not Oracle: it is your 'application', which is a mess anyway. Allowing for alphanumeric numbers is a really bad idea.
    Right now you are already putting workaround on workaround on workaround on workaround.
    Issue is the application: it is terminal., and you either need to kill it, or to replace it.
    Sybrand Bakker
    Senior Oracle DBA

  • Query result caching on oracle 9 and 10 vs indexing

    I am trying to improve performance on oracle 9i and 10g.
    We use some queries that take up to 30 minutes to execute.
    I heard that there are some products to cache query results.
    Would this have any advantage over using indexes or materialized views?
    Does anyone know any products that I can use to cache the results of this queries on disk?
    Personally I think that by using the query result caching I would reduce the cpu time needed to process the query.
    Is this true?

    Your message post pushes all the wrong buttons starting with the fact that 9i and 10g are marketing labels not version numbers.
    You don't tune queries by spending money and throwing resources at them. You tune them by identifying the problem queries, running explain plans, visualizing their output using DBMS_XPLAN, and addressing the root cause.
    If you want help post full version numbers, the SQL statements, and the DBMS_XPLAN outputs.

  • 11g Express Edition Wishlist - include PL/SQL Function Result Cache

    After this thread - Oracle Database 11g XE
    and referencing the Express Edition Licensing Information guide - http://download.oracle.com/docs/cd/B25329_01/doc/license.102/b25456/toc.htm
    if this one is also on your wish list, just send a reply and support this thread.
    Best regards.

    Tonguc,
    Look where it's listed in the Licencing Information manual:
    http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm#BABDJGGI
    It was one of my favorite features in the beta. I was disappointed when it was released as EE-only.
    Doug

  • Function result caching

    Hi All,
    Using Oracle 10g Database, I would like to cache the return value of a pl/sql function. Also, whenever the underlying value changes, the cache entry has to be invalidated. Do we have any supported functionality by Oracle.
    Regards

    Hi,
    Would it work for you to make the function DETERMINISTIC?
    Table dropped.
    SQL> set serveroutput on
    SQL> create table t (x number)
    Table created.
    SQL> insert into t (x) values (1)
    1 row created.
    SQL> create or replace package stats
    as
      cnt number;
    end;
    Package created.
    SQL> create or replace function f
    return number deterministic
    is
      the_x number;
    begin
      stats.cnt := stats.cnt + 1;
      select x into the_x from t;
      return the_x;
    end;
    Function created.
    SQL> exec stats.cnt := 0
    PL/SQL procedure successfully completed.
    SQL> select count(f), max(f) from all_objects
      COUNT(F)     MAX(F)
         42705          1
    1 row selected.
    SQL> exec dbms_output.put_line(stats.cnt)
    2
    PL/SQL procedure successfully completed.
    SQL> update t set x = 2
    1 row updated.
    SQL> commit
    Commit complete.
    SQL> exec stats.cnt := 0
    PL/SQL procedure successfully completed.
    SQL> select count(f), max(f) from all_objects
      COUNT(F)     MAX(F)
         42705          2
    1 row selected.
    SQL> exec dbms_output.put_line(stats.cnt)
    2
    PL/SQL procedure successfully completed.Regards
    Peter

  • Does Result Cache Really Work..

    Does Result Cache Really Work..
    We have upgraded to 11.2.0.2 Theere were some corruption issue we were facing cause of using result cache..
    Still the same error after upgrade...
    Is any one here familiar with using result cache..One good thing about result cahce i found it does improve performance.
    But the problem is the datbaase crashes..after it reaches some memory limit..Does any one have good expereince using it..?

    Probably following notes on Oracle Support site can help.
    11g New Feature PL/SQL Function Result Cache [ID 430887.1]
    11g New Feature : SQL Query Result Cache [ID 453567.1]
    PL/SQL Procedures Do Not Switch Result Cache Mode Within The Same Session [ID 556035.1]
    HTH

  • Oracle 11g benefits

    Hello Guys
    Oracle 11g new features notes as found on web very generic
    if i want to convince my client to switch from oracle 10g to oracle 11g,this information will not be useful
    if you had migrated to 11g and worked on it,please reply practical reasons from dba point of view
    how customer will be benefited from migrating from oracle 10 g to 11g
    like if i mentioned to him ADR feature it doesnt makes sense to him
    Active dataguard may be one of feature but will be have any benefit where dataguard is implemented
    still to application guys also it will give any advantage
    say for example i am discussing this with Application team head ,how will he benefit from migrating to 11g
    what feature will be benefitted to him and how
    will this feature will be appealing enough to efforts in migration
    thanks
    cheers

    In my opinion, the best way to convince them is to do an assessment for their particular environment, based on the specifics.
    For example, I've done such one for a database and here are some of the points:
    1. Almost 30%(as reported by Grid Control) of frequently executed queries are on tables like XX.XXXX and YY.YYYYY. These tables are relatively small and statements , and functions on them are good candidates for modification to use :
    Query Results Cache and PL/SQL Function Result Cache (Oracle 11G Enterprise Edition option, no extra cost needed).
    2. From time to time we experience sudden execution plan changes and get worse plans. This degrades applications' performance orders of magnitude. Oracle 11g has a new built-in feature called "SQL Plan Management". As described in the docs:
    "SQL plan management prevents performance regressions resulting from sudden changes to the execution plan of a SQL statement by providing components for capturing, selecting, and evolving SQL plan information. If you are performing a database upgrade that installs a new optimizer version, it can result in plan changes for a small percentage of SQL statements, with most of the plan changes resulting in either no performance change or improvement. However, certain plan changes may cause performance regressions.
    With SQL plan management, the optimizer automatically manages execution plans and ensures that only known or verified plans are used. When a new plan is found for a SQL statement, the plan is not used until it has been verified by the database to have comparable or better performance than the current plan. This means if you seed SQL plan management with your current (pre-11g) execution plan, which will become the SQL plan baseline for each statement, the optimizer uses these plans after the upgrade. If the 11g optimizer determines that a different plan should be used, the new plan is queued for verification and will not be used until it has been confirmed to have comparable or better performance than the current plan."
    I don't expect this to be perfect but at least it will decrease the number of such problematic periods.
    3. 10g Recovery Manager doesn't support parallelism per datafile. In our environment we have several 30+GB datafiles and since our storage system is not very fast for such type of operations, non-parallel restore of a single datafile will take much more time compared to the same activity on 11g. 11g supports RMAN datafile restore in parallel.
    4. Several optimizations in optimizer work. One of them is better handling of full scans:
    We've done some tests 10g/11g and were surprised because of this direct path read/db file scattered reads thing. Our tests are:
    Two databases - one 11g and one 10g with same sga_target,sga_max_size(500MB) and pga_aggregate_target(200MB), everything else is as it is set during install by DBCA. These two databases run on one host.
    The storage is a NAS(6 discs) managed by 11g ASM (one normal redundancy diskgroup ) which is used by the databases.
    I imported a 3GB table on every database and gathered stats. To not go in detail as of now, the results are:
    three consecutive runs on 11g.
    average execution time - 50 seconds
    three consecutive runs on 10g.
    average execution time - 125 seconds
    The statement is:
    select /*+ full(t) nocache(t) */ count(1) from zz.zzz t;
    and there is no other activity on the host and the storage.
    Same number of logical and physical reads during 11g and 10g runs.
    During the above runs while run on:
    11g, iostat reports ~14MB/s per disk
    10g, iostat reports ~5MB/s per disk
    After tracing these sessions we figured out that on 11g direct path read is used, while 10g uses db file scattered read.
    5. We can use AUDIT_SYS_OPERATIONS in conjunction with XML,EXTENDED for auditing purposes. 10.2.0.4 has a bug for this that is fix in 11.1.0.6 onwards.
    6. Database Resident Connection Pooling(Concepts guide 11g documentation)
    "Database Resident Connection Pooling (DRCP) provides a connection pool in the database server for typical Web application usage scenarios. DRCP pools dedicated servers, which comprise of a server foreground combined with a database session, to create pooled servers.
    A Web application typically acquires a database connection, uses the connection for a short period, and then releases the connection. DRCP enables multiple Web application threads and processes to share the pooled servers for their connection needs.
    DRCP complements middle-tier connection pools that share connections between threads in a middle-tier process. DRCP also enables you to share database connections across multiple middle-tier processes. These middle-tier processes may belong to the same or different middle-tier host.
    DRCP enables a significant reduction in key database resources that are required to support a large number of client connections. DRCP reduces the amount of memory required for the database server and boosts the scalability of both the database server and the middle-tier. The pool of readily available servers also reduces the cost of re-creating client connections.
    DRCP is especially useful for architectures with multi-process, single-threaded application servers, such as PHP and Apache servers, that cannot do middle-tier connection pooling. The database can scale to tens of thousands of simultaneous connections with DRCP."
    It will help us to improve dedicated server usage(currently we use shared server).
    7. A lot of bug fixes for bugs that don't have 10g patches , fixed in 11g only and affect us - examples XML,EXTENDED and AUDIT_SYS_OPERATIONS bug, FGA bugs, job system on logical standby database , "ORA-12569: TNS:packet checksum failure" during sqlplus login and so on.
    It's for sure that there are much more such convincing points, but a several days assessment will make it possible to identify the most important ones from performance/availability/security perspective for their environment. As it is often the case - the devil is in the details. It's all about the way they use the database.

  • "Rows" statistics from STAT in trace event 10046, Oracle 11g.

    Hi, all!
    Why "Rows" statistics in STAT are different for 10g and 11g?
    I have two database with version 10g and 11g, with the same data.
    I executed some pl/sql code with tracing 10046 level 8.
    And I have different result when obtain raw trace.
    In 10g I obtain rows statistics for all executions - Rows= 7.
    In 11g I obtain rows statistics for first executions - Rows= 1. Why?
    See my example:
    declare
         type t_name_tbl is table of varchar2(30) index by binary_integer;
         v_name_tbl t_name_tbl;
         v_len      number := 10;
    begin
         execute immediate 'alter session set timed_statistics = true ';
         execute immediate 'alter session set statistics_level=all ';
         execute immediate 'alter session set max_dump_file_size = unlimited ';
         execute immediate 'alter session set events ''10046 trace name context forever,level 8'' ';
         loop
           select cour_name bulk collect
                into v_name_tbl
               from country t
              where length(t.cour_name) = v_len;
           exit when v_len = 0;
           v_len := v_len - 1;
           for i in 1 .. v_name_tbl.count loop
             dbms_output.put_line(v_name_tbl(i));
           end loop;
         end loop;
    end;Result Tkprof for Oracle 10g:
    SELECT COUR_NAME
    FROM
    COUNTRY T WHERE LENGTH(T.COUR_NAME) = :B1
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute     11      0.00       0.00          0          0          0           0
    Fetch       11      0.01       0.00          0         44          0           7
    total       23      0.01       0.00          0         44          0           7
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 649     (recursive depth: 1)
    Rows     Row Source Operation
          7  TABLE ACCESS FULL COUNTRY (cr=44 pr=0 pw=0 time=1576 us)Result Tkprof for Oracle 11g:
    SQL ID: 3kqmkg8jp5nwk
    Plan Hash: 1371235632
    SELECT COUR_NAME
    FROM
    COUNTRY T WHERE LENGTH(T.COUR_NAME) = :B1
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.01       0.00          0          0          0           0
    Execute     11      0.02       0.01          0          0          0           0
    Fetch       11      0.00       0.01          3         44          0           7
    total       23      0.03       0.02          3         44          0           7
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 82     (recursive depth: 1)
    Rows     Row Source Operation
          1  TABLE ACCESS FULL COUNTRY (cr=4 pr=3 pw=0 time=0 us cost=2 size=44 card=2)Were can I read about it?

    Oracle 11g by default writes the execution plan (the STAT lines in the raw trace file) after the first execution of the SQL statement, while prior to 11g the execution plan is written only when the cursor is closed.
    The behavior in 11g can be controlled by changing the PLAN_STAT parameter of the call that enables the trace from the default value of FIRST_EXECUTION to ALL_EXECUTIONS:
    http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_sessio.htm#i1010518
    Charles Hooper
    Co-author of "Expert Oracle Practices: Oracle Database Administration from the Oak Table"
    http://hoopercharles.wordpress.com/
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.
    Edited by: Charles Hooper on Aug 9, 2010 3:33 PM
    Default value on 11g is FIRST_EXECUTION, while the behavior prior to 11g is ALL_EXECUTIONS - corrected the incomplete sentence.

  • Client Result Cache Question

    Hi,
    i am not sure, whether the new feature "Client Result Cache" for OCI - Connections is an enterprise only feature or not.
    The Licensing Information at http://docs.oracle.com/cd/E11882_01/license.112/e10594/editions.htm#CJACGHEB shows this three features are enterprise only:
    Client Side Query Cache
    Query Results Cache
    PL/SQL Function Result Cache
    Which of these are pointing to Client Result Cache? Is it the Query Results Cache? Or something else?
    As an Hint, i am unable to activate the feature on standard edition databases, but i am not sure, if this is the reason or if i am just making some mistakes in configuration/testing.
    Thanks in advance
    Joerg

    we stopped all tests, because it seems to be a enterprise edition only feature.

  • Result cache doubt

    what is the difference if i write relies_on clause or if i dont write it, technically please explain what exactly is the difference ??
    create or replace function tax (i in varchar2)
    return number
    result_cache
    is
    begin
    return i*0.08 ;
    end;
    create or replace function tax (i in varchar2)
    return number
    result_cache relies_on (emp)
    is
    begin
    return i*0.08 ;
    end;

    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/function.htm#i34368
    RELIES_ON
    Specifies the data sources on which the results of a function depend. For more information, see Using the PL/SQL Function Result Cache. http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/subprograms.htm#BABFHACJ
    To enable result-caching for a function, use the RESULT_CACHE clause. When a result-cached function is invoked, the system checks the cache. If the cache contains the result from a previous call to the function with the same parameter values, the system returns the cached result to the invoker and does not reexecute the function body. If the cache does not contain the result, the system executes the function body and adds the result (for these parameter values) to the cache before returning control to the invoker.Not sure why are you talking about invalidated data, result_cache just invoked result from a previous call to the function if it exists, if not it executes the function body.
    The clause relies_on just specifies the data sources on which the results of a function depend.
    am i missing something??

  • Result cache refresh at business service (OSB) ?

    Hi,
    I have configured my business service at osb side to cache the result. My business service is pointing JCA- dbadapter which is calling a stored procedure.
    Is there any way to update/refresh the cache if there are any changes in the corresponding tables which the store procedure is using. I have googled a lot on this but have found nothing on it.
    Any help would be very much appreciated.

    Is there any way to update/refresh the cache if there are any changes in the corresponding tables which the store procedure is using. I have googled a lot on this but have found nothing onAFAIK, OSB does not provide any functionality to refresh the cache without hitting the backend sevice.
    The result caching in Oracle Service Bus is available for Business Services. When you enable result caching, the Business Service will not reach the backend service and the response will come from the cache entry. This entry can expire and if the entry is expired, the next service call will indeed reach the backend service and update the cache entry.
    Each cached result has its own TTL. When a TTL is reached, Oracle Coherence flushes that individual cached result.
    It would be better if you can raise a support ticket and ask for enhancement.
    Regards,
    Abhinav Gupta

Maybe you are looking for

  • Resize excel table that is embedded in Powerpoint via VBScript

    Hi, I encounter the following problem: I have a powerpoint that has some excel tables in some slides. When I activate an Excel table in Powerpoint 2007 and 2010, the size of the excel object is roughly the same as the size of the image that correspon

  • Brief Losses of Audio

    Every once in a while I briefly, for a couple of seconds, lose audio in the middle of watching a show. I can't recreate the problem manually, but I know it happens when watching recorded programs on my DVR box and recorded programs on other boxes. Th

  • Can not send message. This message cannot be sent at this time.

    I keep receiving this error message when trying to send emails from iCloud.com. Typically pops us when I reply to emails. I noticed that clearing the website history helps but this is just an ugly workaround. Does anybody know the fix? Thanks. MacBoo

  • MULTI OUTS for 3rd party plugins in Logic Pro (8)

    Hi All, I am using Logic Pro 8 on a dual g5 Mac and am trying to use a multi-channel and multi-timbral software instrument Spectrasonics Stylus RMX 1.5. This worked fine in Logic 7 but now I only have output A (a stereo output) and cannot assign to A

  • Desktop PC and iphone3g

    My iphone works fine downloading photos to my laptop but gives me an error message on my desktop PC that says interface is not registered. The Iphone photos show up when connected in the picture viewer, when i try to copy them to a folder it gives me