Client Result Cache for geometries

Hi,
we have experienced that Client Result Caches can not be used using SDO geometries or function calls. Does anybody know a workaround for using Client Result Caches with geometries (e.g. casting the geometries to varchar2).
Thanks in advance,
Simon

There is a Spatial forum here at OTN. Please delete this thread and repost there.
Thank you.

Similar Messages

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

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

  • 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

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

  • Client Result Cache

    Is it possible to use the Client Result Cache when you use ODP.NET?
    With the client side query cache it should be possible to cache query results in client memory.

    Is it possible to use the Client Result Cache when you use ODP.NET?
    Yes, absolutely. In fact, my next Oracle Magazine column is on just that subject... though you won't see it until the May/June 2008 issue is published.
    - Mark

  • Does Instant Client support client result caching?

    Hi all,
    couldn't find the answer to this question on the ic-FAQ (http://www.oracle.com/technetwork/database/features/oci/ic-faq-094177.html)
    Does Instant Client support client result caching?
    Kind regards, Sander.

    Yes. Like any other OCI feature, Client Result Caching is supported by Instant Client.
    Besides OCI documentation, here is a link to white paper on Client Result Caching and other OCI features: http://www.oracle.com/technetwork/topics/php/whatsnew/building-best-drivers-131920.pdf

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

  • Result Cache value

    my table frequently updating value.I want to retrieve updated value from result cache not from the table .
    I used result cache function for the same.updated value is coming from table and not updated value from result cache.
    Is it possible to retrieve updated value from result cache.or any the memory area.
    I have below query
    SELECT /*+RESULT_CACHE*/SALARY FROM EMPLOYEES WHERE EMPLOYEE_ID = 160
    at the first time above query retrieving value from the disk.
    next time it is retrieving value from result cache. that is correct.
    But whenever salary is updating for the employee_id =160.
    after that that query retrieving value from disk. this is also correct.
    But i want to retrieve value after update the salary for that employee_id=10 from result cache not from disk.I want to any mechanism is available in oracle that can retrieve value from result cache for the same input if record is updated.
    Edited by: ibney on Mar 20, 2013 2:15 AM

    Hi Karthick,
    I know that .i have another question .
    I have below query
    SELECT /*+RESULT_CACHE*/SALARY FROM EMPLOYEES WHERE EMPLOYEE_ID = 160
    at the first time above query retrieving value from the disk.
    next time it is retrieving value from result cache. that is correct.
    But whenever salary is updating for the employee_id =160.
    after that that query retrieving value from disk. this is also correct.
    But i want to retrieve value after update the salary for that employee_id=10 from result cache not from disk.I want to any mechanism is available in oracle that can retrieve value from result cache for the same input if record is updated.
    Edited by: ibney on Mar 20, 2013 2:16 AM
    Edited by: ibney on Mar 20, 2013 2:16 AM

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

  • Client side caching

    Hi all,
    I wonder how client side caching (in memory) would work with BlazeDS.
    There was a project called FAST that would support client side caching for Remoting:
    http://www.adobe.com/devnet/flex/articles/fast_userguide.html, but this doesn't seem to work for Flex 3.
    Do I have to invent my own caching mechanism?
    Without client side caching support I don't see how an application build on BlazeDS remoting would ever scale to many users.
    Regards,
    Markus

    Hi Markus. I took a look at that FAST project. There isn't anything like that in BlazeDS currently. It probably wouldn't be too hard to port that code to make it work with Flex 3 but it's usefulness looks somewhat limited. There doesn't look to be any way to timeout a request that has been cached for example which I think most people would want. If you think this is something that would be useful you can log an enhancement request in Jira.
    http://bugs.adobe.com/jira/browse/BLZ
    As to your point about not seeing how an application built on BlazeDS remoting would scale, I think it's a fairly common practice to not expose functions to the end user that directly call backend services. It's pretty straightforward, for example, to request some data when the application loads and then refresh the data at some interval. You don't need a caching API to do this.
    -Alex

  • 11g Client result set caching in OCI

    I'm trying out this feature in the 11.1.0.6 release. My understanding of this feature is that when enabled with the appropriate server-side init.ora parameters, a 11g OCI client connecting to the instance will cache SQL results locally in some fixed amount of RAM on the client. The idea is that network roundtrips would simply disappear in this situation.
    I'm not sure if it's working--or how to tell if it is. I have a 11g instance running and put the 11g client incl. sqlplus on a separate box, setting up TNS connectivity from client to server. Pretty standard stuff. I can connect fine and run the same query over and over, but I see incrementing execution counts on the database side and network traffic between the client and server so I'm guessing that the client-side caching isn't happening. There doesn't seem to be a ton of clear documentation on this feature so I wanted to see if anyone else has kicked it around.
    Bob

    I am also facing the same issue (enabling client result set caching). I am using Oracle Database 11g Release 11.2.0.2.0.
    I have made the below configuration changes
    1. Enabled the client result set cache by setting the server side parameter 'client_result_cache_size' to 10485760 (10 MB)
    2. Restarted the oracle instance after setting the above parameter
    3. Added a table annotation by executing the statement ALTER TABLE emp RESULT_CACHE (MODE FORCE). I verified that the annotation is applied by query the user table later.
    4. Enabled statement caching on the client side i.e. on the JDBC driver.
    5. Used prepared statements to execute the query so that statement caching kicks in. From the driver logs I verified that execution of subsequent queries after the first one used the same statement handle.
    After executing the select prepared statement query for three times I checked the CLIENT_RESULT_CACHE_STATS$ view. But this view didn't result in any rows.
    As part of troubleshooting I even tried adding the /*+ RESULT_CACHE */ hint to the query but the view didn't gave any result.
    Also on enabling sql trace I could see from tkprof that every execution of the query increased the number of rows fetched on the server which indicates that the client result set caching in OCI isn't working.
    Are there any steps which I have missed?
    Thanks in advance.

  • Possible to delete Offline Files content for a specific user from the Client Side Cache (CSC) ?.

    Hello Everyone,
    We would like to implement a script to delete the offline files in the Client Side Cache (CSC) for a nominated user (on Windows 7 x64 enterprise).
    I am aware that;
    1. We can use a registry value to flush the entire CNC cache (for all users) next time the machine reboots.
    2. If we delete the user's local profile it appears that Windows 7 also removes their content from the local CSC.
    However, we would like to just delete the CSC content for a particular nominated user without having to delete their local user profile.
    In our environment we have many users that share workstations but only use them occasionally. We don't use roaming profile so we would like to retain all the users' local profiles but still delete the CSC content for any users that haven't
    logged on in a week.
    Any ideas or info would be appreciated !
    Thanks, Makes

    Hi,
    I don't think this is possible.
    If you want to achieve it via script, I suggest you post it in official script forum for more professional help:
    http://social.technet.microsoft.com/Forums/scriptcenter/en-US/home?category=scripting
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
    Karen Hu
    TechNet Community Support

  • [svn:fx-trunk] 11483: Adding a LRU cache for the transcoding results of a CFF based DefineFont4 tag to avoid transcoding the same font description twice .

    Revision: 11483
    Author:   [email protected]
    Date:     2009-11-05 16:01:37 -0800 (Thu, 05 Nov 2009)
    Log Message:
    Adding a LRU cache for the transcoding results of a CFF based DefineFont4 tag to avoid transcoding the same font description twice.
    Also we now throw a better error when CFFFontManager is asked to embed a local font by name as this is not yet supported.
    QE notes: Please test that the same font embedded twice does not take twice as long as a single embedding.
    Doc notes: N/A
    Bugs:
    SDK-23966 - Compiler should generate a warning or error when embedAsCFF is true and src:local is used for font embedding
    SDK-23806 - OEM compiler appears to transcode embedded fonts twice
    SDK-23788 - Search fonts recursively
    Reviewer: Paul
    Tests run: Checkintests, bug test cases
    Is noteworthy for integration: Yes
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-23966
        http://bugs.adobe.com/jira/browse/SDK-23806
        http://bugs.adobe.com/jira/browse/SDK-23788
    Modified Paths:
        flex/sdk/trunk/lib/flex-fontkit.jar
        flex/sdk/trunk/modules/swfutils/src/java/flash/fonts/FontDescription.java
        flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFont4.java

  • Olap cache not storing result sets for certain queries

    Hi - another cache question
    my result set for a query is not getting set in OLAP CACHE - the query variable level is stored ok but not the result set.
    different queries store the result sets ok.
    there is nothing in the query or cube properties that should disable the caching of the result set.
    there is plenty of space available and there has not been any changes to the query or data loaded or aggregates changed.
    any ideas?
    cheers - Neil

    I would do a performance check in RSRT2.  This will usually give you some additional information related to olap cache. 
    Hope that helps.

Maybe you are looking for

  • How to create a login interface in labview PDA module?

    How to create a login interface in labview PDA module? So that it checks with a list of usernames and passwords and allow to go to another VI? Anu

  • Cut/copy and paste

    eveytime I try to cut/copy and then paste it it uses and old copy from a week ago. It being this http://boats.iboats.com/2013-sea-hunt-boats-25-gamefish-orange-beach-al/1518357. html

  • Non-US keyboard users please read, thanks.

    For the last few years I've been using a Swiss French keyboard with FCE. Certain keyboard shortcuts have simply not worked like Shift-Z for "Fit the sequence to the window". There are others. Now I'd like to take advantage of as many keyboard shortcu

  • New HD reinstall

    My system has started to slooooow right down, Snow Lepard 10.6.7 Ive never had to re-instal since i bought the mac pro sept 2010. Ive bought a new 1TB WD drive to use. Previously ive used windows, so ive not ever installed a mac, so excuse the questi

  • Can I create a calendar in French rather than in my default English?

    I want to create a 2009 calendar to send to a French-speaking friend. It would be nice if I could produce one that displays the names of the months etc in her own language. Is there a straight-forward way to create an iPhoto calendar in French instea