This discussion is archived
5 Replies Latest reply: Jun 19, 2013 5:53 AM by GoodfireGeorge RSS

Only OCI v11 and above support client caching ?

GoodfireGeorge Newbie
Currently Being Moderated
One quick question :

Our API supports Oracle 11.2g but uses OCI v8 yet.

This means I cant activate client caching as a new feature ? We should update to OCIv11 ?
  • 1. Re: Only OCI v11 and above support client caching ?
    GoodfireGeorge Newbie
    Currently Being Moderated
    As far as I can understand, regardless of Oracle releases, there are only 2 versions of OCI, OCI7 and OCI8. Someone to aprove or correct me.

    So this means that since we have Oracle 11.2g I can activate client caching on the existing OCI ? Sounds strange, if Client caching is a new functionality, wont it require a new function call or something?

    P.S.
    Omg you moved it in here, with 1 reply every 2 weeks! :'( Its dead
  • 2. Re: Only OCI v11 and above support client caching ?
    davidp 2 Pro
    Currently Being Moderated

    Two weeks later   If you link with the Oracle 11.2 OCI libraries you will be able to use the Oracle 11.2 features. It's the library version, not the "OCI version" that counts for that. The "OCI version" defines the core API but not the full feature set.

  • 3. Re: Only OCI v11 and above support client caching ?
    GoodfireGeorge Newbie
    Currently Being Moderated

    Yes but Isn't the use of the 2 new functions PrepareStatement2 FetchRows2 mandatory ?
    I ve red so I think in oracle manuals. And I tried altering an example using these 2 functions with the oolder ones but I ve failed (old dont support scrollable cursors e.g. dont know if its mandatory for client caching)
    Ok waiting reply next 2 weeks

  • 4. Re: Only OCI v11 and above support client caching ?
    davidp 2 Pro
    Currently Being Moderated

    I haven't actually used the client result cache. PrepareStatement2 & FetchRows2 are mandatory for the client STATEMENT cache, not the client RESULT cache. I've used statement caching but not client result caching. If your application prepares statments and then re-uses the statement handles, it can still use result caching. If it prepares the statement fresh each time it executes it, then it will need to either change to reuse handles, or use PrepareStatement2 & FetchRows2 to get OCI to cache the handles.

     

    Was your program written with calls to olog(), oparse(), oexec() etc. ? Those were made obsolete in the late 1990's, but it is still possible that client result caching will work with them if you enable it via ALTER SESSION SET RESULT_CACHE_MODE, /*+ result_cache */ hints,  ALTER TABLE ... RESULT_CACHE statements if it re-uses handles in the correct (efficient) way.

  • 5. Re: Only OCI v11 and above support client caching ?
    GoodfireGeorge Newbie
    Currently Being Moderated

    Hmm so you havent actually used it. Because OCI Manual says that these 2 new functions are for providing Client Result Caching.
    So probably they re needed fro client caching.

    In that case you would nee both the libraries and latest oci to use these latest functions probably
    (Sorry for the late reply, this zombie place rate its affecting me )

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points