Result cache - enterprise only?

Hi,
I can't find this anywhere: is result cache only available for enterpise version?
result_cache_max_size is always reset to 0 on standard edition...
Thanks

http://www.oracle.com/technology/products/database/oracle11g/pdf/database-11g-product-family-technical-whitepaper.pdf
==================================
Dion Cho - Oracle Performance Storyteller
http://dioncho.wordpress.com (english)
http://ukja.tistory.com (korean)
http://dioncho.blogspot.com (japanese)
==================================

Similar Messages

  • How to Enable Result Cache in 11g XE ?

    Does anyone know how to enable the result cache in 11g XE?
    I've tired startup/shut down immediate with various ALTER SYSTEM commands (see below) but result_cache_max_size still defaults to zero when the database comes back up.
    ALTER SYSTEM SET result_cache_max_size = 2M SCOPE = SPFILE;
    ALTER SYSTEM SET result_cache_max_size = 2M SCOPE = BOTH;
    ALTER SYSTEM RESET result_cache_max_size SCOPE = SPFILE SID='*';
    Any advice would be helpful.
    Thanks

    In the [Licensing document|http://download.oracle.com/docs/cd/E11882_01/license.112/e10594/editions.htm#CJACGHEB] , in the 'performance' section of the table, the result cache is only available on Enterprise and not Standard, so I wouldn't expect it to work in Express Edition

  • Is result cache, part of PGA or SGA(Shared Pool)

    Is result cache, part of PGA or SGA(Shared Pool). whats is its stand when is is in a dedicated server or a RAC environment

    Server query result cache can only be in SGA otherwise it could not be shared: http://download.oracle.com/docs/cd/E11882_01/server.112/e16638/memory.htm#BGBGEACF
    Edited by: P. Forstmann on 28 sept. 2010 09:30

  • Using the Client Result Cache

    Hello everyone,
    I have a question regarding the use of the client result cache but first of all here are the informations about my database:
    SQL> SELECT * FROM v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0    Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    I have installed the Oracle Client Tools on my clientmachine. It has a tnsnames.ora like this:
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = FEA11-119SRV)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = orcl.local)
    The Client Result Cache is configured in the sqlnet.ora.
    ADR_BASE = /u01/app/oracle
    OCI_RESULT_CACHE_MAX_SIZE= 2048000
    OCI_RESULT_CACHE_MAX_RSET_SIZE = 1024000
    NAMES.DIRECTORY_PATH = (EZCONNECT, TNSNAMES, HOSTNAME)
    The Databaseserver is configured like that:
    SQL> col name format a30
    SQL> col value format a30
    SQL> SELECT name, value
      2  FROM   v$system_parameter
      3  WHERE  name LIKE '%result_cache%';
    NAME                   VALUE
    result_cache_mode           MANUAL
    result_cache_max_size           0
    result_cache_max_result        5
    result_cache_remote_expiration 0
    client_result_cache_size       1073741824
    client_result_cache_lag        3000
    After configuring client an server I try the followign SQL-Statement on the clientmachine:
    sqlplus oracle/password@orcl
    set autotrace traceonly explain
    SELECT /*+ result_cache */ *
    FROM testtable;
    SQL
    The execution plan show two operations: "SELECT STATEMENT" and "TABLE ACCESS FULL" but no the "RESULT CACHE" operation.
    Did I miss something?
    Any help would be appreciated
    Florian W.

    result_cache_max_size           0
    That means the result cache is disabled. You need to set it to a non-zero value. That is the maximum ammount of memory, in bytes, the database will allocate on the shared pool to dedicate it to the result cache for all requests.
    By the way, OCI_RESULT_CACHE_MAX_SIZE is optional. By default the sessions will have the maximum size they can occupy on the cache determined by CLIENT_RESULT_CACHE parameter, the client (OCI) side parameters override that.
    result_cache_mode           MANUAL
    Another thing to consider is RESULT_CACHE_MODE in MANUAL, that will cause only the statements with the RESULT_CACHE hint on it to be cached on the result cache. You can also set result cache to mode FORCE on specific tables with alter table command.
    Regards

  • Possible result cache problem 11GR1;;Plz Help me :)

    Hello,
    I just finished installing Oracle 11g Enterprise Edition on my laptop,under windows XP 32 Bit,
    Just run to test the result cache ,It seems the result cache does not work for me ;
    Please see the demonstration below and help me to undertsand:
    (I am the only person connected to the database and I only have one session conneted )
    Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
    Connected as SYS
    SQL> set timi on
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE     11.1.0.6.0     Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    Executed in 0.031 seconds
    SQL> ----result cache demonstration
    SQL> ----clear the server result cache
    SQL> exec dbms_result_cache.Flush
    PL/SQL procedure successfully completed
    Executed in 0 seconds
    SQL> ---run a query to load the server result cache
    SQL>
    SQL> SELECT /*+ result_cache */
      2   H.DEPARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID, COUNT(*)
      3    FROM HR.DEPARTMENTS H
      4   GROUP BY H.DEPARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID
      5  ;
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
               10 Administration                        200          1
               30 Purchasing                            114          1
               50 Shipping                              121          1
               60 IT                                    103          1
               70 Public Relations                      204          1
              200 Operations                                         1
              210 IT Support                                         1
              230 IT Helpdesk                                        1
               90 Executive                             100          1
              100 Finance                               108          1
              140 Control And Credit                                 1
              150 Shareholder Services                               1
              160 Benefits                                           1
              220 NOC                                                1
              250 Retail Sales                                       1
              130 Corporate Tax                                      1
              110 Accounting                            205          1
              270 Payroll                                            1
               40 Human Resources                       203          1
              170 Manufacturing                                      1
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
              260 Recruiting                                         1
               20 Marketing                             201          1
              120 Treasury                                           1
               80 Sales                                 145          1
              180 Construction                                       1
              190 Contracting                                        1
              240 Government Sales                                   1
    27 rows selected
    Executed in 0.282 seconds
    SQL> --*-response time is 0.282 seconds*
    SQL> ---Show the result information from v$result_cache_objects : is the result cache is valid ?
    SQL> --- The space used also?
    SQL>
    SQL> SELECT ID,
      2         NAME,
      3         TYPE,
      4         STATUS,
      5         BLOCK_COUNT,
      6         ROW_COUNT * ROW_SIZE_AVG AS SPACE_FOR_ROWS,
      7         SPACE_OVERHEAD
      8    FROM V$RESULT_CACHE_OBJECTS V
      9  ;
            ID NAME                                                                             TYPE       STATUS    BLOCK_COUNT SPACE_FOR_ROWS SPACE_OVERHEAD
             0 HR.DEPARTMENTS                                                                   Dependency Published           1              0              0
             1 SELECT /*+ result_cache */                                                       Result     Published           1            675            320
                H.DEPARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID, COUNT(*)                                                                     
                 FROM HR.DEPARTMENTS H                                                                                                         
                GROUP BY H.DEPAR                                                                                                               
    Executed in 0.141 seconds
    SQL> ---we run again our query
    SQL>
    SQL> SELECT /*+ result_cache */
      2   H.DEPARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID, COUNT(*)
      3    FROM HR.DEPARTMENTS H
      4   GROUP BY H.DEPARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID
      5  ;
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
               10 Administration                        200          1
               30 Purchasing                            114          1
               50 Shipping                              121          1
               60 IT                                    103          1
               70 Public Relations                      204          1
              200 Operations                                         1
              210 IT Support                                         1
              230 IT Helpdesk                                        1
               90 Executive                             100          1
              100 Finance                               108          1
              140 Control And Credit                                 1
              150 Shareholder Services                               1
              160 Benefits                                           1
              220 NOC                                                1
              250 Retail Sales                                       1
              130 Corporate Tax                                      1
              110 Accounting                            205          1
              270 Payroll                                            1
               40 Human Resources                       203          1
              170 Manufacturing                                      1
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
              260 Recruiting                                         1
               20 Marketing                             201          1
              120 Treasury                                           1
               80 Sales                                 145          1
              180 Construction                                       1
              190 Contracting                                        1
              240 Government Sales                                   1
    27 rows selected
    *Executed in 0.297 seconds*
    SQL> Why the first is faster than the second?
    thanks a lot,
    Edited by: Ora-Wiss on Apr 3, 2010 2:17 PM

    I have been using 11g from quite some time now in my sessions and already have started sessions over 11gr2 as well and I can't recall that I ever faced this thing. And I just did show the same to you on my personal system as well. But nevermind, here is one more run with the database being restarted and the same code being run.
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    Elapsed: 00:00:00.00
    SQL> startup force
    ORACLE instance started.
    Total System Global Area  171573248 bytes
    Fixed Size                  1331936 bytes
    Variable Size             125832480 bytes
    Database Buffers           37748736 bytes
    Redo Buffers                6660096 bytes
    Database mounted.
    Database opened.
    SQL> exec dbms_result_cache.Flush;
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.06
    SQL> SELECT /*+ result_cache */   H.DEPARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID, COUNT(*)  FROM HR.DEPARTMENTS H GROUP BY H.DEP
    ARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID;
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
               10 Administration                        200          1
               30 Purchasing                            114          1
               50 Shipping                              121          1
               60 IT                                    103          1
               70 Public Relations                      204          1
              200 Operations                                         1
              210 IT Support                                         1
              230 IT Helpdesk                                        1
               90 Executive                             100          1
              100 Finance                               108          1
              140 Control And Credit                                 1
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
              150 Shareholder Services                               1
              160 Benefits                                           1
              220 NOC                                                1
              250 Retail Sales                                       1
              130 Corporate Tax                                      1
              110 Accounting                            205          1
              270 Payroll                                            1
               40 Human Resources                       203          1
              170 Manufacturing                                      1
              260 Recruiting                                         1
               20 Marketing                             201          1
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
              120 Treasury                                           1
               80 Sales                                 145          1
              180 Construction                                       1
              190 Contracting                                        1
              240 Government Sales                                   1
    27 rows selected.
    Elapsed: 00:00:00.15
    SQL> SELECT /*+ result_cache */   H.DEPARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID, COUNT(*)  FROM HR.DEPARTMENTS H GROUP BY H.DEP
    ARTMENT_ID, H.DEPARTMENT_NAME, H.MANAGER_ID;
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
               10 Administration                        200          1
               30 Purchasing                            114          1
               50 Shipping                              121          1
               60 IT                                    103          1
               70 Public Relations                      204          1
              200 Operations                                         1
              210 IT Support                                         1
              230 IT Helpdesk                                        1
               90 Executive                             100          1
              100 Finance                               108          1
              140 Control And Credit                                 1
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
              150 Shareholder Services                               1
              160 Benefits                                           1
              220 NOC                                                1
              250 Retail Sales                                       1
              130 Corporate Tax                                      1
              110 Accounting                            205          1
              270 Payroll                                            1
               40 Human Resources                       203          1
              170 Manufacturing                                      1
              260 Recruiting                                         1
               20 Marketing                             201          1
    DEPARTMENT_ID DEPARTMENT_NAME                MANAGER_ID   COUNT(*)
              120 Treasury                                           1
               80 Sales                                 145          1
              180 Construction                                       1
              190 Contracting                                        1
              240 Government Sales                                   1
    27 rows selected.
    Elapsed: 00:00:00.01
    SQL>As you can see, I can't reproduce.
    HTH
    Aman....

  • 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.

  • Oracle 11g/R2 Query Result Cache - Incremental Update

    Hi,
    In Oracle 11g/R2, I created replica of HR.Employees table & executed the following statement (+Although using SUM() function is non-logical in this case, but just testifying the result+)
    STEP - 1
    SELECT      /+ RESULT_CACHE */ employee_id, first_name, last_name, SUM(salary)*
    FROM           HR.Employees_copy
    WHERE      department_id = 20
    GROUP BY      employee_id, first_name, last_name;
    EMPLOYEE_ID      FIRST_NAME LAST_NAME     SUM(SALARY)
    202           Pat           Fay          6000
    201           Michael           Hartstein     13000
    Elapsed: 00:00:00.01
    Execution Plan
    Plan hash value: 3837552314
    | Id | Operation           | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT      | | 2 | 130 | 4 (25)| 00:00:01 |
    | 1 | RESULT CACHE      | 3acbj133x8qkq8f8m7zm0br3mu | | | | |
    | 2 | HASH GROUP BY      | | 2 | 130 | 4 (25)| 00:00:01 |
    |* 3 | TABLE ACCESS FULL     | EMPLOYEES_COPY | 2 | 130 | 3 (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------     Statistics
    0 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    *690* bytes sent via SQL*Net to client
    416 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    2 rows processed
    STEP - 2
    INSERT INTO HR.employees_copy
    VALUES(200, 'Dummy', 'User','[email protected]',NULL, sysdate, 'MANAGER',5000, NULL,NULL,20);
    STEP - 3
    SELECT      /*+ RESULT_CACHE */ employee_id, first_name, last_name, SUM(salary)
    FROM           HR.Employees_copy
    WHERE      department_id = 20
    GROUP BY      employee_id, first_name, last_name;
    EMPLOYEE_ID      FIRST_NAME LAST_NAME SUM(SALARY)
    202      Pat      Fay      6000
    201      Michael      Hartstein      13000
    200      Dummy User      5000
    Elapsed: 00:00:00.03
    Execution Plan
    Plan hash value: 3837552314
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT |          | 3 | 195 | 4 (25)| 00:00:01 |
    | 1 | RESULT CACHE | 3acbj133x8qkq8f8m7zm0br3mu | | | | |
    | 2 | HASH GROUP BY | | 3 | 195 | 4 (25)| 00:00:01 |
    |* 3 | TABLE ACCESS FULL| EMPLOYEES_COPY | 3 | 195 | 3 (0)| 00:00:01 |
         Statistics
    0 recursive calls
    0 db block gets
    4 consistent gets
    0 physical reads
    0 redo size
    *714* bytes sent via SQL*Net to client
    416 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    3 rows processed
    In the execution plan of STEP-3, against ID-1 the operation RESULT CACHE is shown which shows the result has been retrieved directly from Result cache. Does this mean that Oracle Server has Incrementally Retrieved the resultset?
    Because, before the execution of STEP-2, the cache contained only 2 records. Then 1 record was inserted but after STEP-3, a total of 3 records was returned from cache. Does this mean that newly inserted row is retrieved from database and merged to the cached result of STEP-1?
    If Oracle server has incrementally retrieved and merged newly inserted record, what mechanism is being used by the Oracle to do so?
    Regards,
    Wasif
    Edited by: 965300 on Oct 15, 2012 12:25 AM

    965300 wrote:
    Hi,
    In Oracle 11g/R2, I created replica of HR.Employees table & executed the following statement (+Although using SUM() function is non-logical in this case, but just testifying the result+)
    STEP - 1
    SELECT      /+ RESULT_CACHE */ employee_id, first_name, last_name, SUM(salary)*
    FROM           HR.Employees_copy
    WHERE      department_id = 20
    GROUP BY      employee_id, first_name, last_name;
    EMPLOYEE_ID      FIRST_NAME LAST_NAME     SUM(SALARY)
    202           Pat           Fay          6000
    201           Michael           Hartstein     13000
    Elapsed: 00:00:00.01
    Execution Plan
    Plan hash value: 3837552314
    | Id | Operation           | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT      | | 2 | 130 | 4 (25)| 00:00:01 |
    | 1 | RESULT CACHE      | 3acbj133x8qkq8f8m7zm0br3mu | | | | |
    | 2 | HASH GROUP BY      | | 2 | 130 | 4 (25)| 00:00:01 |
    |* 3 | TABLE ACCESS FULL     | EMPLOYEES_COPY | 2 | 130 | 3 (0)| 00:00:01 |
    --------------------------------------------------------------------------------------------------     Statistics
    0 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    *690* bytes sent via SQL*Net to client
    416 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    2 rows processed
    STEP - 2
    INSERT INTO HR.employees_copy
    VALUES(200, 'Dummy', 'User','[email protected]',NULL, sysdate, 'MANAGER',5000, NULL,NULL,20);
    STEP - 3
    SELECT      /*+ RESULT_CACHE */ employee_id, first_name, last_name, SUM(salary)
    FROM           HR.Employees_copy
    WHERE      department_id = 20
    GROUP BY      employee_id, first_name, last_name;
    EMPLOYEE_ID      FIRST_NAME LAST_NAME SUM(SALARY)
    202      Pat      Fay      6000
    201      Michael      Hartstein      13000
    200      Dummy User      5000
    Elapsed: 00:00:00.03
    Execution Plan
    Plan hash value: 3837552314
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT |          | 3 | 195 | 4 (25)| 00:00:01 |
    | 1 | RESULT CACHE | 3acbj133x8qkq8f8m7zm0br3mu | | | | |
    | 2 | HASH GROUP BY | | 3 | 195 | 4 (25)| 00:00:01 |
    |* 3 | TABLE ACCESS FULL| EMPLOYEES_COPY | 3 | 195 | 3 (0)| 00:00:01 |
         Statistics
    0 recursive calls
    0 db block gets
    4 consistent gets
    0 physical reads
    0 redo size
    *714* bytes sent via SQL*Net to client
    416 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    3 rows processed
    In the execution plan of STEP-3, against ID-1 the operation RESULT CACHE is shown which shows the result has been retrieved directly from Result cache. Does this mean that Oracle Server has Incrementally Retrieved the resultset?
    Because, before the execution of STEP-2, the cache contained only 2 records. Then 1 record was inserted but after STEP-3, a total of 3 records was returned from cache. Does this mean that newly inserted row is retrieved from database and merged to the cached result of STEP-1?
    If Oracle server has incrementally retrieved and merged newly inserted record, what mechanism is being used by the Oracle to do so?
    Regards,
    Wasif
    Edited by: 965300 on Oct 15, 2012 12:25 AMNo, the RESULT CACHE operation doesn't necessarily mean that the results are retrieved from there. It could be being
    written to there.
    Look at the number of consistent gets: it's zero in the first step (I assume you had already run this query before) and I would
    conclude that the data is being read from the result cache.
    In the third step there are 4 consistent gets. I would conclude that the data is being written to the result cache, a fourth step repeating
    the SQL should show zero consistent gets and that would be the results being read.

  • Oracle result cache and functions

    Hi All,
    I am on 11.2 in Linux.
    I want to use Oracle's result cache to cache results of (user defined) functions, which we use in SELECT commands.
    My question is, does result caching work for deterministic and non-deterministic functions ?
    Just curious, how Oracle keeps track of changes being made which affect a function's return value?
    Thoughts please.
    Thanks in advance

    I want to ... cache results of (user defined) functions, which we use in SELECT commands.You have four choices:
    1. Subquery caching - (wrap function call in SELECT) useful for repeated function calls in a single SELECT
    2. Marking function as DETERMINISTIC - inconsistent results across versions, deterministic best reserved for function-based indexes only
    3. Result Cache
    4. Move function logic out of function and inline to the main SQL statement.
    The biggest downside of any function call that is inline to SQL is that it bypasses the read consistency mechanism, actually that's probably the second biggest downside. The biggest downside is normally that their misuse kills performance.
    If your function itself contains SQL then you should seriously reconsider whether you should be using a function.
    does result caching work for deterministic and non-deterministic functions ?Result cache knows nothing about determinism so yes it should be applied regardless.
    Oracle keeps track of changes being made which affect a function's return value?See v$result_cache_dependency.
    The mechanism is very blunt, there is no fine-grained tracking of data changes that may affect your result.
    It's as simple as function F1 relies on table T1. If the data in table T1 changes, invalidate the results in the result cache for F1.

  • If sga_target set explicitly, result cache become disabled

    hi all,
    I am using 11g R2 and automatic memory management. I realized something. if I explicitly declare sga_target parameter in parameter file, result cache become disabled.
    as you know if you use automatic memory management, sga_target is set to 0 automatically already but if I write that to the parameter file than whatever I set for result_cache_max_size parameter, instance always opens with result_cache_max_size=0 (I saw that in alert log).
    is there any reason for that ?
    here is my pfile contents.
    orcl.__db_cache_size=922746880
    orcl.__java_pool_size=33554432
    orcl.__large_pool_size=16777216
    orcl.__oracle_base='C:\app\paranoyakX'#ORACLE_BASE set from environment
    orcl.__pga_aggregate_target=838860800
    orcl.__sga_target=1258291200
    orcl.__shared_io_pool_size=0
    orcl.__shared_pool_size=251658240
    orcl.__streams_pool_size=16777216
    *.audit_file_dest='C:\app\paranoyakX\admin\orcl\adump'
    *.audit_trail='DB_EXTENDED'
    *.compatible='11.2.0.0.0'
    *.control_files='C:\app\paranoyakX\oradata\orcl\control01.ctl','C:\app\paranoyakX\flash_recovery_area\orcl\control02.ctl'
    *.db_16k_cache_size=0
    *.db_4k_cache_size=0
    *.db_block_size=8192
    *.db_domain='oracle.com'
    *.db_flashback_retention_target=1000
    *.db_keep_cache_size=0
    *.db_name='orcl'
    *.db_recovery_file_dest='C:\app\paranoyakX\flash_recovery_area'
    *.db_recovery_file_dest_size=10737418240
    *.diagnostic_dest='C:\app\paranoyakX'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.memory_max_target=34359738368
    *.memory_target=2097152000
    *.nls_language='TURKISH'
    *.nls_territory='TURKEY'
    *.open_cursors=300
    *.pga_aggregate_target=528482304
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.resource_limit=TRUE
    *.undo_tablespace='UNDOTBS1'
    *.result_cache_max_size=5000000
    *.sga_target=0

    I would suggest that you pay more attention to documentation and don't jump to conclusion in a haste. Just because the parameter result_cache_max_size is set to 0, it does not mean that the result cache in itself is disabled. This is the maximum size of the result cache. See below,
    [oracle@edbar2p0-orcl ~]$ sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 14 08:35:00 2011
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, Automatic Storage Management, OLAP, Data Mining
    and Real Application Testing options
    SQL> sho parameter result
    NAME                                 TYPE        VALUE
    client_result_cache_lag              big integer 3000
    client_result_cache_size             big integer 0
    result_cache_max_result              integer     5
    result_cache_max_size                big integer 1184K
    result_cache_mode                    string      MANUAL
    result_cache_remote_expiration       integer     0
    SQL> show parameter sga
    NAME                                 TYPE        VALUE
    lock_sga                             boolean     FALSE
    pre_page_sga                         boolean     FALSE
    sga_max_size                         big integer 460M
    sga_target                           big integer 0
    SQL> set autot trace exp
    selSQL> ect /*+ result_cache */ * from scott.dept;
    Execution Plan
    Plan hash value: 3383998547
    | Id  | Operation          | Name                       | Rows  | Bytes | Cost (
    %CPU)| Time     |
    |   0 | SELECT STATEMENT   |                            |     4 |    80 |     3
      (0)| 00:00:01 |
    |   1 |  RESULT CACHE      | 1c13q1afp56bq0jpnmysvywx7g |       |       |
         |          |
    |   2 |   TABLE ACCESS FULL| DEPT                       |     4 |    80 |     3
      (0)| 00:00:01 |
    Result Cache Information (identified by operation id):
       1 - column-count=3; dependencies=(SCOTT.DEPT); name="select /*+ result_cache
    */ * from scott.dept"
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, Automatic Storage Management, OLAP, Data Mining
    and Real Application Testing optionsThe value for the result_cache parameter is automatically set by oracle depending on either you have Memory_target/SGA_TARGET or Shared_Pool parameter set. Please see oracle documentation for more information.
    HTH
    Aman....

  • Enabling result cache

    Hi,
    I am trying to enable result cache feature at Oracle 11g R2 server. I am following the below steps but everytime the cache status is coming DISABLED. Please help me to correct it
    1. I am setting the RESULT_CACHE_MAX_SIZE and RESULT_CACHE_MODE as below. Memory_Target is 1232M, so I chose to allocate 200M for result cache.
    ALTER SYSTEM SET RESULT_CACHE_MODE=FORCE
    System altered.
    ALTER SYSTEM SET RESULT_CACHE_MAX_SIZE=200M
    System altered.2. I am restarting the database
    SHUTDOWN IMMEDIATE
    STARTUP
    3. I am querying the result cache status
    SELECT DBMS_RESULT_CACHE.STATUS FROM DUAL
    STATUS
    DISABLEDI have configured other database servers for cache and its working fine. But i am not able to sort out what is going wrong in above scripts. Please help me if i am missing out some step.
    Thanks

    select * from v$version;you need "Enterprise Edition" http://docs.oracle.com/cd/B28359_01/license.111/b28287/editions.htm
    for EE check this:
    http://psoug.org/reference/dbms_result_cache.html
    http://www.oracle.com/technetwork/articles/datawarehouse/vallath-resultcache-rac-284280.html
    http://www.oracle-developer.net/display.php?id=503

  • Result cache not working?

    Hi,
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE 11.2.0.3.0 Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    SQL> show parameter result;
    NAME TYPE VALUE
    client_result_cache_lag big integer 3000
    client_result_cache_size big integer 0
    result_cache_max_result integer 5
    result_cache_max_size big integer 10M
    result_cache_mode string MANUAL
    result_cache_remote_expiration integer 0
    The above are the initialization parameters set and the DB version.
    Now i have created a table as
    create table objects as select * from dba_objects;
    then issued the following query.
    select /* result_cache */ object_Type,count(*) from objects group by object_type;
    it appears that the results of the above query is not cached in the result cache. using
    set autotrace traceonly explain confirms that there is no result cache or the CACHE_ID in the explain plan. also the v$result_cache_statistics confirm the same.
    But after this when i issued the following statement.
    alter session set result_cache_mode=force;
    the same below sql statement again
    select /* result_cache */ object_Type,count(*) from objects group by object_type;
    it appears that now the result cache is being used.
    My question is despite using the result_cache hint and trying the above statement when the result_cache_mode=auto/manual. The result cache is not being used or the results of the SQL statements are not being cached at all despite using the result_cache hint and the table being not used at all. and if i use the result_cache_mode=force then the result cache is being used.
    Can any one please explain this behavior. Cursor_sharing is set to EXACT. and i am issuing the same SQL statement without any changes at all.
    Thanks,

    There is a syntax problem with your queries:
    select /* result_cache */.... is just a comment, not a hint. For creating a hint, you need "+": select /*+ result_cache */....

  • Oracle 11g Result Cache

    Hi,
    I have read that there is SGA component called Result Cache. According to documentation:
    The result cache buffers query results. If a query is run that
    already has results in the result cache, the database returns
    results from the result cache instead of rerunning the query. This
    speeds up the execution of frequently run queries.
    What happens when data in tables which are called by the query change. I think the old data still will be in cache and I always get the old data.
    Peter D.

    Hi Peter
    What happens when data in tables which are called by
    the query change. I think the old data still will be in
    cache and I always get the old data.The server result cache can return old data only for distributed queries (i.e. queries also retrieving data from other databases).
    All local queries return the correct data. To do so, the cache entries are invalidated as required.
    HTH
    Chris Antognini
    Author of Troubleshooting Oracle Performance, Apress 2008 (http://top.antognini.ch)

  • Using the client result cache without the query result cache

    I have constructed a client in C# using ODP.NET to connect to an Oracle database and want to perform client result caching for some of my queries.
    This is done using a result_cache hint in the query.
    select /*+ result_cache */ * from table
    As far as I can tell query result caching on the server is done using the same hint, so I was wondering if there was any way to differentiate between the two? I want the query results to be cached on the client, but not on the server.
    The only way I have found to do this is to disable all caching on the server, but I don't want to do this as I want to use the server cache for PL/SQL function results.
    Thanks.

    e3a934c9-c4c2-4c80-b032-d61d415efd4f wrote:
    I have constructed a client in C# using ODP.NET to connect to an Oracle database and want to perform client result caching for some of my queries.
    This is done using a result_cache hint in the query.
    select /*+ result_cache */ * from table 
    As far as I can tell query result caching on the server is done using the same hint, so I was wondering if there was any way to differentiate between the two? I want the query results to be cached on the client, but not on the server.
    The only way I have found to do this is to disable all caching on the server, but I don't want to do this as I want to use the server cache for PL/SQL function results.
    Thanks.
    You haven't provided ANY information about how you configured the result cache. Different parameters are used for configuring the client versus the server result cache so you need to post what, if anything, you configured.
    Post the code you executed when you set the 'client_result_cache_lag' and 'client_result_cache_size' parameters so we can see what values you used. Also post the results of querying those parameters after you set them that show that they really are set.
    You also need to post your app code that shows that you are using the OCI statements are used when you want to use client side result cacheing.
    See the OCI dev guide
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28395/oci10new.htm#sthref1491
    Statement Caching in OCI
    Statement caching refers to the feature that provides and manages a cache of statements for each session. In the server, it means that cursors are ready to be used without the need to parse the statement again. Statement caching can be used with connection pooling and with session pooling, and will improve performance and scalability. It can be used without session pooling as well. The OCI calls that implement statement caching are:
      OCIStmtPrepare2()
      OCIStmtRelease()

  • 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.

  • OSB - Result Caching

    Hi,
    How do I confirm if the result caching is working? This is on the latest download available for OSB - 11.1.1.3.
    I tried to launch separate instances of caches, but could not confirm. Secondly, I also tried to enable caching support for a business service. I put in a hard coded expression in the cache token expression. I was not able to get that working.
    Any ideas?
    Regards,
    Anand.
    Edited by: user653362 on May 12, 2010 6:29 AM

    >
    How do I confirm if the result caching is working? This is on the latest download available for OSB - 11.1.1.3.
    >
    Perhaps the simplest way is to check access log on your backend (business service). Arrange a simple test that will lead to repeated callouts (with the same request data) to your business service. Than you should see only one (the first) request logged in your backend.
    The better way is to start another node of Coherence, connect to the OSB instance of Coherence and see what your cache looks like. Look at Coherence documentation for command line parameters:
    http://coherence.oracle.com/display/COH35UG/Command+Line+Setting+Override+Feature
    I was able to connect to the default OSB Coherence instance and list cached entries using this command:
    java -Dtangosol.coherence.cluster=OSB-cluster -Dtangosol.coherence.clusteraddress=228.8.8.8 -Dtangosol.coherence.clusterport=9888 -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.override=/opt/Oracle11g/user_projects/domains/osb11_domain/config/osb/coherence/osb-coherence-override.xml -Dtangosol.coherence.cacheconfig=/opt/Oracle11g/user_projects/domains/osb11_domain/config/osb/coherence/osb-coherence-cache-config.xml com.tangosol.net.CacheFactory

Maybe you are looking for

  • How can I get the Voiceover Keyboard shortcuts to show up in a form in which I can copy

    I have low vision & have been trying to learn to use Voiceover on both my iPhone & my Mac mini for months. Very frustrating. 1. How can I get the Voiceover keyboard shortcut commans to show up in a form in which I can copy & paste them into a pages d

  • NI unzip changes file date and time stamp

    A coworker this morning asked me about the NI-Unzip VI. It turns out that when the NI unzip VI unzips a file it changes the file dates to the date the file was unzipped. He also noted that NI-Unzip seems to be calling the Windows touch.exe to do this

  • Acrobat X - PDF Maker stopped autotext save in normal.dot

    Hi Guys Does anyone meet this issue? When Acrobat PDFMaker is installed and enable, word 2003 will not be able save the autotext record in normal.dot. Any help is welcome. Cheers Eric

  • Very slow wi-fi connectivity past few months on mac-mini os x 10.4.11

    Thanks Randy for my earlier post response. I'm using a 2007 Mac mini which runs on OS X Tiger 10.4.11. I am facing hard time connecting with Airpot ON and Wi-Fi...past few months? Almost all of the websites are taking long time to display. I'm able t

  • Automator Folder Action

    I have an Automator Folder action attached to my Downloads folder which moves any .jpg file to another folder where I normally place my images. It works for a while (automatically moving the .jpg files whenever a file is placed in the Downloads folde