OCI Object Cache leaking memory

I am performing a select that selects a column object (ie column of user defined type) from a table using OCI. It all works fine. However, the OCI client-side object cache just grows and grows and grows when this query is run regardless of the settings for ATTR_CACHE_MAX_SIZE and ATTR_CACHE_OPT_SIZE. I am not pinning the objects so there should be no reason why the cache should not age the objects out and free the memory. I see no such problems on non-object selects - the cache behaves fine unless I select object types (SQLT_NTY).
I can workaround the problem by calling OCICacheFree regularly - but I don't like the inelegance of that solution. If I don't do this however, OCI will cache and cache and cache until it has exhausted all the memory on my server !!
So anyone else see this problem ? Am I doing something wrong ? Is is an Oracle bug ?
Thanks for any help,
Steve

hi there,
i dunno if my problem is related to the above issue.
BUT.
Here is what I have:
- JBoss-3.2.1 running on Linux RedHat 9
- Oracle 9 running ... somewhere
Here is what I want:
- to regularly transfer big files from the client app thru JBoss/EJBs to Oracle
Here is what I tried:
- I tried BLOBs and CLOBs and etc. But the ARRAY choice appeared to be the best and has been working pretty fine till I started getting the problem I am gonna talk about here below.
Here is what I do (the code snippet of an EJB):
Connection conn = null;
CallableStatement stmt = null;
// some code
stmt = conn.prepareCall("begin SOME_PROCEDURE");
// some code
ArrayList data = new ArrayList();
ByteArrayInputStream is = new ByteArrayInputStream(fileContent);
ArrayDescriptor arrdesc = ArrayDescriptor.createDescriptor("RAW_VARRAY", ((JDCConnection)conn).getConnection());
ARRAY arr = new ARRAY(arrdesc, ((JDCConnection)conn).getConnection(), data.toArray());
((oracle.jdbc.OracleCallableStatement)stmt).setARRAY(2, arr);
// trying to execute the stmt
stmt.execute();
Where:
- RAW_ARRAY is a user-defined Oracle collection type. It is basically 'array[10240] of RAW'
- JDCConnection implements java.sql.Connection.
(JDCConnection was created to facilitate connection pooling inside JBoss, but I guess, yes I guess, that's not that relevant here).
Here is the PROBLEM:
- the code works pretty fine for a while
- BUT after some time, the code starts dumping the following exception:
java.sql.SQLException: OCI-21522: attempted to use an invalid connection in OCI (object mode only)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1609)
at oracle.jdbc.oci8.OCIDBAccess.getOracleTypeADT(OCIDBAccess.java:1745)
at oracle.jdbc.oracore.OracleTypeADT.initMetadata(OracleTypeADT.java:386)
at oracle.jdbc.oracore.OracleTypeADT.init(OracleTypeADT.java:344)
at oracle.sql.ArrayDescriptor.initPickler(ArrayDescriptor.java:1002)
at oracle.sql.ArrayDescriptor.<init>(ArrayDescriptor.java:132)
at oracle.sql.ArrayDescriptor.createDescriptor(ArrayDescriptor.java:97)
Can anybody let me know if you have any ideas of what's going on here?
Your help is badly needed, guys!
Many thx in advance!!
my best,
Kanat.

Similar Messages

  • How to avoid the case of leaks memory in Object Oriented Programming

    Hi, Everyone, I am writing a simple web-baed application for JSP and Servlet, I pass all data from JSP to Servlet, It is due to the number of row of record are variable, so I should write a Java Instance class to stored to specific data in a Java Object, and then stored those object in a arraylist In the Servlet class, and then pass the arraylist in to a session, to pass the session from the servlet to another JSP......
    But some thing I am worried about is that if the no of row of record user input is large, then the number of object stored in the arraylist will also large. I am worried it will serious leaks memoary in my server. Because my server always occurs "Out Of Memoary Exception" in Tomcat, So If I use the above method. I affarid the memory will be further leaking in my server. So What can I do? Is it having any better method to prevent memory leaking when using Object Oriented Programming(Except using Hibernate)?
    Can Anyone be help me?
    Thank you very much for All, THX

    Because many people say that the large amount of
    using Object will lead to "memory leak", I am worried
    about the size of object I use is too large and then
    it will construct "memory leak". No it will not! You get a 'memory leak' by holding references to objects you no longer require.
    >
    The detail of my case is that:
    In my web application, there is a session variable
    pass through from one servlet to another jsp/servlet.You should only place small amounts of data in the session. If you need forward from a Servlet to a JSP (or JSP to Servlet) then you should place the data object in the request (using the setAttribute() method), not in the session. In this way, when the session is re-claimed so will be the data object.
    And this session variable is stored a Instance Object
    (which is a class write by me) with the following
    issue:
    1) This instance object having "has-a relationship"
    with another four instance object (all are the
    classes write by me)
    2) This instance object having "has relationship"
    with a arraylist, this arraylist is stored about 4-5
    instance object(all are the classes write by me) .
    If this object having the above issue, Will this
    object construct a "leaks memory" when this object
    stored in the session and pass through servlet to
    another jsp/servlet?
    Message was edited by:
    sabre150

  • By any chance long living filestream object cause unmanaged memory leak?

    Hi,
    I am running my application where in I have one file stream object which live for long duration, say its life time is equivalent to life time of application. So by any chance this kind of object causes unmanaged memory leak in the application. Because when
    I see private bytes for my application, it is higher than the all bytes in heap counter. That mean there is a unmanaged memory leak. So does such filestream object cause such behaviour?
    Thanks and Regards,
    Lucas

    What makes you think it's the file stream that leaks unmanaged memory? There could be other parts of your applications that do that.
    FileStream doesn't usually allocate unmanaged memory. Its internal buffer is a GC heap allocated byte[] array. The only unmanaged memory allocation that I know of in FileStream is a OVERLAPPED structure used for async I/O. If you use BeginRead/Write make
    sure you call EndRead/Write correctly, otherwise that structure may be leaked.
    @Joel Engineer: "When a stream uses ASCII encoding under certain cases nulls are added to the data for block alignment."
    FileStream doesn't have anything to do with text encoding and I've told you that before. Next time when I run into a post that makes such a claim I'll simply delete it. This display of ignorance has lasted more than enough.

  • Lifetime of Object in the Object Cache on selects

    On inserting an object (corresponding to user-defined SQL type), I can use a stack-allocated struct for the object and its indicator structure, and pass these addresses to OCIBindObject.
    But on selecting an object (by value, not ref), the doc says one must let the OCI runtime allocate the object struct and its indicator struct in the Object Cache, and call OCIObjectFree when done with the object. But it's unclear whether one needs to free the object for each row of the result set processed, or only once all rows have been processed.
    By looking at the cache-allocated addresses of the object/indicator structs, it looks like the same "instance" in the cache is re-used for every row (addresses remain the same for every row). This tends to indicate the same object is reused, as opposed to a new one being allocated. I added a single OCIObjectFree after processing all rows, and things look OK... (read no crash, no complain/error from OCI).
    But I feel a little uneasy about this, because unlike in my case, when the object has secondary allocations associated to it (because the type contains strings, collections, or other objects members), if somehow I need to OCIObjectFree for each row, and I don't, then I'm leaking all the secondary storage from previous instances of the object.
    Can someone please shed some light on the subject? I find the OCI doc often a little sketchy on these very important lifetime issues. I'd appreciate some advice from someone with Object-Relational aspects of OCI.
    Thanks, --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    when I have to select objects by value :
    * I let oci allocate objects in the object fetch arrayI don't think we have a choice here in fact. At least the way I interpret the doc.
    * I have different addresses for every entry in the array after the fetchBut even an array fetch is done is a loop. You fetch 10 rows at a time, and you get say 25, so you have 3 iterations / fetches.
    Of course the 10 object entries of a given fetch are different, but is the address of the 6th object the same in the first, second, and third fetch?
    * I call OCIObjectFree() for every entry of the
    array.If I have retreived object based attributes
    from the object, i call OCIObjectFree() on the
    object attributes recursively.To made it easier to understand my question, please find below the pseudo-code of what I'm doing (all error checking and most boiler plate arguments OCI requires are omitted, to concentrate on the control flow and the calls made)
    create type point_typ as object (
      x binary_float, y binary_float, z binary_float
    create table point_typ_tab (
      id number, point point_typ
    struct point_typ { // C-struct matching SQL User Type
        float x, y, z;
    struct point_ind { // indicator structure for point_typ
        OCIInd self, x, y, z;
    static void select_objects() {
        Environment env(OCI_OBJECT);
        env.connect(zusername, zpassword, zdatabase);
        OCIHandleAlloc(OCI_HTYPE_STMT);
        OCIStmtPrepare("SELECT id, point FROM point_typ_tab");
        ub4 id = 0; OCIDefine* define_id = 0;
        OCIDefineByPos(&define_id, 1, &id, sizeof(id), SQLT_UIN);
        OCIDefine* define_pt = 0;
        OCIDefineByPos(&define_pt, 2, 0, sizeof(point_typ), SQLT_NTY)
        OCIType* point_typ_tdo = 0;
        OCITypeByName("POINT_TYP", OCI_DURATION_SESSION,
            OCI_TYPEGET_ALL, &point_typ_tdo);
        point_typ* p_pt = 0;     ub4 pt_size = 0;
        point_ind* p_pt_ind = 0; ub4 pt_ind_size = (ub4)sizeof(point_ind);
        OCIDefineObject(define_pt, point_typ_tdo,
            (void**)&p_pt, &pt_size, (void**)&p_pt_ind, &pt_ind_size);
        sword rc = OCIStmtExecute(0/*row*/);
        while (OCIStmtFetch2((ub4)1/*row*/, OCI_FETCH_NEXT) has data) {
            if (p_pt_ind->self == OCI_IND_NOTNULL) {
                // Use p_pt. Value of p_pt same for all iteration
        OCIObjectFree(p_pt);
        OCIHandleFree(OCI_HTYPE_STMT);
    }As you can see, I do a single OCIObjectFree after the loop, and as mentioned previously, p_pt's value (a point_typ address) remains identical during the iteration, but the values in that memory chunk do change to reflect the various point instances (so each point instance overlays the previous one).
    Are you saying I should be calling OCIObjectFree(p_pt); inside the loop itself?
    And if so, should I call OCIObjectFree(p_pt); even if the indicator tells me the point is atomically null?
    That what I do in OCILIB, and it doesn't seem to leak.Reading your post, I'm unsure you free of points in the array after the loop, or inside the loop. I hope the pseudo-code I posted above help to clarify my question.
    BTW, OCCI is just a wrapper around OCI. Because OCCI
    first releases were buggy (it's getting better) and
    just few compilers (and compilers versions) are
    supported, OCI remains a portable and workable
    solution for dealing with Oracle ObjectsAs I wrote in a separate reply in this thread, I also agree OCI is the way to go, for various reasons.
    Thanks for the post. I'd appreciate if you could confirm or not whether what I'm doing is consistent with what you are doing in OCILIB, now that I'm hopefully made my question clearer.
    Thanks, --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • DS 5.1sp2 SLAPI plugins leak memory

    I am running DS 5.1sp2, on Solaris 9/SPARC, and have been encountering problems with the ns-slapd process leaking memory when using SLAPI plugins.
    We have written our own bind pre-operation plugin function which, when enabled, causes ns-slapd to leak memory at a pretty rapid rate. I have a simple test where I perform a simple ldapsearch in an endless loop. The ns-slapd process starts off with a VSS of ~617MB (we have a fair amount of cache enabled) ; after a few minutes of my test, the VSS grows by several MB. With the plugin disabled, I can run the same test for hours with no growth in the VSS of ns-slapd.
    I have also performed this test with my plugin disabled, and the "testbind" plugin function (the one provided in <server root></server>/plugins/slapd/slapi/examples/testbind.c) enabled. I see even more rapid memory leakage than with my plugin.
    Are there known issues with SLAPI memory management? Is there anything I can do other than restarting ns-slapd on a regular basis (in production, this memory leak causes VSS growth of several hundred MB in the course of a few days).

    I think if you want to modify the result before it is returned, your plugin needs to be invoked post-op as well. Your plugin can be both at the same time, just make sure your init function knows what to do when called a second time.
    Moreover, without looking at the stack trace, it is hard to make any progress. Do you still have the core file? Can you paste the pstack and pflags output ?
    # Run "file" on the core to see if its a 32 or 64 bit core
    # cd /path/to/ns-slapd
    # pstack <corefile>
    # pflags corefile
    Alternatively, see if you can reproduce the problem with a small plugin. Smaller the better. I'll give it a go.

  • GetOracleDecimal seems to leak memory?

    Hello, I am using the C# statement below to retrieve a decimal value from an OracleDataReader, adjust the precision, then assign it to a .NET decimal type:
    decimal volume = (decimal)OracleDecimal.SetPrecision(reader.GetOracleDecimal(5), 28);
    Over time, the service that hosts this method leaks memory. After some investigation, I found that "Oracle.DataAccess.Types.OpoDecCtx" types were collecting in the finalize queue. Any ideas on how to resolve this? I can't explicitly Dispose() an OracleDecimal...
    I'm using ODP.NET version 2.102.2.20.
    Thanks

    Thanks for the reply. I am using .NET 2.0 SP2. I upgraded the ODP.NET client to 2.111.7.20 but am still seeing leakage of the OracleDecimal structs.
    Here's a snippet of output from WinDbg:
    Ready for finalization 32874 objects (0b4de540->0b4fe6e8)
    Statistics:
    MT Count TotalSize Class Name
    00fb8cec 32816 656320 Oracle.DataAccess.Types.OpoDecCtx
    With each pass of the service the Count and TotalSize grow in increments equal to the number of rows I'm querying...
    Just for laughs I changed the GetOracleDecimal statement to GetDecimal and the memory issue went away (because I'm no longer creating OracleDecimals). But I need to use the higher precision type to prevent overflows..
    Thanks again..

  • Does ReportDocument leak memory?

    <p class="ssiBODYCOPY">Using CrystalDecisions.CrystalReports.Engine.ReportDocument XI R2.<br /><br />w3wp.exe memory use raises while a report is generated (which is expected), yet it does not seem to be ever released after. If you keep generating same report again and again, IIS eventually runs out of memory.<br />A report does not call any external DLLs or COM objects.<br />Calling repDoc.Dispose() does not seem to help.<br /><br />Please help.<br /></p>

    Methods:
    Dispose()
    GC.WaitForPendingFinalizers()
    GC.Collect()
    Details:
    I created a C# application that connects to BOXI.
    It does not specifically use the ReportDocument object, but was also encountering serious memory issues.
    I was also using the Dipose method to mark objects for garbage collection.
    .Net garbage collection happens automatically (at some time or another), but you can force it using GC.Collect(). I tried this, but was still leaking memory.
    Until I found GC.WaitForPendingFinalizers(), which causes the garbage collector to wait until all disposed objects have completely finished their destructors. I think this made the difference with BOXI objects, because they are nested.
    After I was using all three methods, I had no more memory issues. I realize this information may be out of date, but I posted it for future seekers.

  • Occi problem about object cache!

    Hello!
    I have a table named "ggg" which include two column in the oracle database,and the datatype of one colume is "mdsys.sdo_geometry".I insert 1000000 rows record into the "ggg" table.Now I want to download all the data with occi.At the client,i use "sdo_geometry" class created by ott to access the "mdsys.sdo_geometry" objects in the table.Then,problem come:
    1.the meomery used by the client applacation grow and grow continuously;the client object cache has not release the object automaticaly when over 8m default cache as the guide of occi;
    2.I can not release the occupied memory of the client object,the "delete" methed of the "PObject" is usefulless;
    3.the "setdatabufer" methed of the "ResultSet" cann't apply to the object type(exsample:sdo_geometry).
    why?
    thanks a lot.

    You didn't mention how you are getting the objects to the client. Are they value instances or are you getting the Refs and dereferencing them?
    If you are dereferencing the Refs, make sure the Refs go out of scope when they are no longer used. Otherwise since you are holding them, they won't get garbage collected.

  • Disabling the object cache for value OciObjects

    Hi.
    I have a program using OCIObjects as value objects to pass data from OCI to PL/SQL procedures. However in a multithreaded test there is a lot of mutex blocking occuring within the oracle client library (on OCIObjectNew, OCIObjectFree and others), which i am guessing is associated with the OciObjects being managed within the object cache.
    Is it possible to disable the object cache? Or maybe construct the value objects in such a way that they are ignored by the cache.
    Thanks for any help.

    Hi,
    thanks for your response.
    I did consider using OCI_ENV_NO_MUTEX but i would like the oracle OCI library to implement mutexing because i am assuming it does it efficiently and only where required. However it is not clear to me why mutexing would be required when creating/deleting value OCIObjects. I'm guessing it's because of the object cache. (The documentation doesn't explain.)

  • Simple JSP leaks memory?

    Simple HelloWorld.jsp leaks memory significantly. Tested with SoapUI setup with 40 clients driving load. At around invocation 100,000 the WLS server simply leaks enough memory to hit the upper heap size and dies. I'm running V10.3.2 (latest) in Production mode with the JRocket JVM. I also tried the same test with HelloWorld.HTML file and found no memory leaks, it runs HTML test fine up to 1,000,000 invocations with no memory or thread leaks.
    This test can not be any simpler.
    Also, performance goes down significantly as memory leaks! I go from 500tps down to 100tps just prior to running out of memory.
    The JSP file is extremely simple, here's the code:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Hello World JSP</title>
    </head>
    <body>
    <p>Hello World!</p>
    </body>
    </html>
    Why would such a simple JSP file cause the WebContainer to leak memory? I'm at a loss here.
    Edited by: user9200447 on Feb 26, 2010 10:47 AM

    It depends on the test being run. One possibility is it may be due to implicit session objects.
    Try using session=false otherwise session objects are created implicitly for this jsp. Dependng on sesson timeout, hits and java heap memory size you can run out of memory
    HTH

  • Setting up object cache.

    Hi Team,
    we are scaling a new SharePoint farm and have 16GB servers with following configuration.
    SP2013
    SQL 2012
    Window  Server with 2008 R2 enterprise
    3 WFE(internal)
    3 APP Server
    2 WFE(External)
    RAM 16GB
    Publishing template site
    65000 User includes around 5000-8000 concurrent users
    We have configured Super Reader and Super User and have enabled BLOB cache in our farms. Since we are scaling the environment we want to know the best figures for stting up object cache.
    current object cache Configuration
    <ObjectCache maxSize="100" />
    Thanks Help appreciated
    Thanks Ba$va

    How are you measuring the performance? How are you simulating (or actually placing) a load on the infrastructure?
    As with most things performance-related there isn't a specific setting that is the best. It all depends on your specific use. Your specific use can also change over time depending on the volume of users and the types of content you are publishing.
    From Designing and Developing High-Performance SharePoint Server 2007 Publishing Sites (It's written for SharePoint 2007 but the object cache functionality remains
    the same in 2010):
    The configuration of the output cache for each site collection enables administrators to set how much memory the object cache
    can use. Use the ASP.NET 2.0 performance counter Cache Hit Ratio to determine whether more memory should be allocated to the object cache. If the hit ratio is below 90 percent, which means less than 90 percent of the time objects are not found in cache and
    the server has to go to the database to retrieve the content, consider increasing the amount of memory allocated to the object cache.
    I would use this guidance as a starting point. Monitor the ASP.NET Output Cache Hit Ratio performance counter and increase the memory allocated if this counter is regularly reporting below 90%. This means the output cache is used to retrieve content less than
    90% of the time, or to put it another way, SharePoint is going to the content database for retrieving more than 10% of the content.
    Jason Warren
    @jaspnwarren
    jasonwarren.ca
    habaneroconsulting.com/Insights

  • How to properly create complex OCI objects (for Annotation Text)

    I am upgrading a tool that will upload text objects to a table with a ST_ANNOTATION_TEXT field. The app is a C++ app and I need to instantiate a ST_ANNOTATION_TEXT (using OCIObjectNew??). I actually have 2 questions. First, does anyone have an example of how to accomplish this? I seem to be unable to correctly create the annotation text type in C++ to be able to append to (calling OCICollAppend). Second, since ST_ANNOTATION_TEXT is a complex type (contains an array of annotation text elements), do I need to call OCIObjectNew on not only the main ST_ANNOTATION_TEXT type but also for the ST_ANNOTATIONTEXTELEMENT_ARRAY, ST_ANNOT_TEXTELEMENT_ARRAY, and the ST_ANNOTATIONTEXTELEMENT?
    I can't seem to find in info on this so hopefully someone else has been through this.

    user3068343 wrote:
    I am still having an issue where the sub objects are still NULL.Actually I was mistaken. I must have confused getting an Object from OCIObjectNew with using one of its constructor method in a statement.
    http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci18nav004.htm#sthref3438 clearly state the object will have NULL attributes, unless the OCI_ATTR_OBJECT_NEWNOTNULL flag is set on the environment handle.
    http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28395/oci11obj.htm#i446308 further tells you what the default value for the object members will be.
    An older 9i doc http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96594/adobjadv.htm#1008774 also warns about resetting the indicator struct member when you update a member of the object.
    user3068343 wrote:
    ++a) you allocate the object's top-level struct yourself (SDO_GEOMETRY in my case) in C+++
    Above you suggest creating the objects top-level struct myself. How do you create that top level object? I have been using OCIObjectNew on that object as well as its sub objects? Is that how you are creating the top-level object?This technique works only on binds, as objects you get back from defines are always allocated from the object cache. I create the top-level object directly on the stack... This is something I discovered worked, but is not documented, so you're probably on safer ground using OCIObjectNew instead.
    BTW, the reason I can't easily post OCI example code is that my code uses wrappers around the objects that hides most of the OCI:
    Geometry Geometry::make_point(OCIEnv* envhp, OCIError* errhp, float x, float y) {
        Geometry point_geom(envhp, errhp);
        point_geom.set_null(false);
        point_geom.gtype() = 2001;
        PointRef point = point_geom.point();
        point.set_null(false);
        point.x() = x;
        point.y() = y;
        return point_geom;
    }The above creates an 2D point-type SDO_GEOMETRY hidden inside the Geometry class, itself deriving from a GeometryRef class. The latter wraps a C++ API on top of the struct pointers for a SDO_GEOMETRY/SDO_GEOMETRY_ind, while Geometry actually composes the OTT generated value/indicator structs by value, and passes addresses to its nested structs to GeometryRef (its parent class). So GeometryRef can manipulate an object irrelevant of where it was allocated, the stack or the object cache. The Geometry class is a value class, but it's useful for binds only, and like I said uses a behavior which appears to work but is not explicitly documented.
    Unless you have nested objects by reference, nested objects are composed by value in the OTT-generated structs, so the space for all nested objects is already allocated after the first OCIObjectNew. But the members themselves are not initialized, and thus marked as null in the indicator struct.
    In the code above, my Geometry instance is fully allocated (on the stack), but fully uninitialized (the indicator is by default set to all nulls). I first set the atomic flag to non-null, then get the Ref wrapper around its nested SDOPOINT_TYPE to also set it to non-null, and fill in the x/y member (via another NumberRef wrapper, which knows about the member and the indicator for that member, and sets it as non-null when assigned to). Notice how how I return the instance by copy: My point geometry instance doesn't have a pointer-aliasing issue here, only because its two OCIColl* are null. In the general case, you can't copy my value wrappers without making a true deep copy... But I'm getting into the weeds here.
    The important point is that OCIObjectNew doesn't init the nested objects unlike what I stated earlier. Sorry for misleading you on that. --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Error ACLContainer: 65315 does NOT EXIST in  the Object Cache for parentID:

    Expert,
    I did the following steps to upgrade the OWB repository from 10g to 11g
    • Created a dummy workspace in the 11.2 repository
    • Created users in the destination environment
    • Run Repository Assistant against the 11.1 source database
    • Then selected *“Export entire repository to a file”* and selected the MDL(10g) to import
    After 99% of completing I have got the below error
    Error ACLContainer: 65315 does NOT EXIST in  the Object Cache for parentID: 65314
    Please let me know the solution.
    Thanks,
    Balaa...

    Hi I had the same error and worked on it for almost a week with no success but there is few work around for this try it it might work for you.
    Step 1>Run a health check on OWB 10.2 enviroment(make sure you clone your OWB 10.2 enviroment and then do this healthcheck ,these checks are tricky )
    refer
    Note 559542.1 Health Check of the Oracle Warehouse Builder 10.2 Metadata Repository
    This will give you info about your missing ACL
    Step 2> download these two scripts fixLostACLContainer.sql ,fixAllACLContainers.sql
    please refer :
    Note 559542.1 Health Check of the Oracle Warehouse Builder 10.2 Metadata Repository
    OWB 10.2 - Internal ERROR: Can not find the ACL container for object (Doc ID 460411.1)
    Note 754763.1 Repository Cleanup Script for OWB 10.2 and OWB 11.1
    Note 460411.1 Opening Map Returns Cannot find ACL Containter for Object
    Note 1165068.1 Internal Error: Can Not Find The ACL Containter For for object:CMPPhysical Object
    It might resolve this ACL issue but it did not work for me.
    If none of these work then
    Perform export from design center of OWB 10.2 and import through design center of OWB 11.2.(ONLY OPTION)
    It worked for me.
    Varun

  • How to get first row from View Object cache.

    hi,
    I am using Jdeveloper 11.1.1.6
    can we get first row from View Object cache??
    Thanks in Advance.
    Best
    Shashidhar

    Hi Frank,
    Thanks for reply!!
    My case is:
    I have a Query based ViewObject.
    One of the field is LOV and remaining fields are in ADF table. the LOV field is out side ADF table when i insert first record in ADF table and i choose LOV  filed the value is selected.
    when i create second row LOV value got refreshed because both are in same VO.
    I need to get the LOV value of first row and set same value to second Row.
    Shashidhar

  • Imapd service "Leak  Memory"

    I already have Java Communications Suite 6 Working , but, I have a Leak Memory problems with imapd process.
    I have the server with 30 imapd process, 30 mshttpd process, and 30 pop process running to balance the load of the users.
    All work fine(the CPU is 100% idle, the RAM is 80% available=6GB) when I access via browser(Chrome,Firefox), too when I access it with the traditional clients IMAP (Outlook, ThunderBird,etc).
    The problem is that if one user want to copy(not just view) locally all your emails to your laptops/pc, the imapd process eat more than 3GB(instead of 80MB) of RAM and the system is getting slower.
    If the user cancel this process(copy via IMAP all your emails) the process dont freedom doesn't release the memory and the system getting slower.
    Actually my solution is:
    # kill -9 <PID_imapd>
    Some times when I kill the process the problem going to other imapd process, so in this case the solution is:
    /opt/sun/comms/messaging/sbin/stop-msg
    /opt/sun/comms/messaging/sbin/start-msg
    I think that this problem is a bug but I dont know what is the patch.
    May you help me? Any idea?
    My system is:
    A X2100 with one socket AMD Opteron 2600Mhz, 8GB RAM, 2 x disks 750GB in mirror with Solaris Volume Manager, Soalris 10 HW 10/08.
    Thanks.
    Jaime

    Jorth, maybe we are not well explained,
    the normal operation of imapd process(one process) need no more that 200MB, when a user is linked to it.
    Check my example:
    ================================================================================================================
    PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
    874 root 610M 421M sleep 59 0 0:14:51 0.1% java/160
    818 webservd 413M 285M sleep 59 0 0:16:43 0.3% webservd/95
    607 root 326M 45M sleep 59 0 0:07:01 0.1% webservd/58
    16719 mailsrv 283M 50M sleep 59 0 0:00:06 0.0% imapd/5
    798 root 237M 37M sleep 59 0 0:04:04 0.1% ns-slapd/48
    *16673 mailsrv 220M 97M sleep 59 0 0:00:06 0.0% imapd/6*
    *16677 mailsrv 210M 42M sleep 59 0 0:00:05 0.0% imapd/5*
    *16696 mailsrv 205M 36M sleep 59 0 0:00:04 0.0% imapd/5*
    *16695 mailsrv 200M 38M sleep 59 0 0:00:04 0.0% imapd/6*
    *16685 mailsrv 197M 38M sleep 59 0 0:00:08 0.0% imapd/5*
    *16682 mailsrv 195M 40M sleep 59 0 0:00:04 0.0% imapd/5*
    *16681 mailsrv 193M 46M sleep 59 0 0:00:04 0.0% imapd/5*
    *16690 mailsrv 187M 52M sleep 59 0 0:00:03 0.1% imapd/6*
    *16687 mailsrv 187M 40M sleep 59 0 0:00:05 0.0% imapd/5*
    *902 icsuser 185M 24M sleep 59 0 0:00:05 0.0% cshttpd/2*
    NPROC USERNAME SWAP RSS MEMORY TIME CPU
    78 mailsrv 2439M 2329M 28% 0:11:53 0.5%
    14 icsuser 1064M 233M 2.8% 0:06:55 0.0%
    136 root 965M 727M 8.9% 2:15:20 50%
    1 webservd 264M 326M 4.0% 0:16:43 0.3%
    1 noaccess 90M 100M 1.2% 0:01:13 0.0%
    Total: 237 processes, 1042 lwps, load averages: 1.91, 1.90, 1.89
    ================================================================================================================
    When we run an aplication like OutLook to copy locally to the laptopn all the mail via IMAP, "ONE imapd process" eat more memory that need it and never released.
    Example:
    ================================================================================================================
    PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
    *16673 mailsrv 2856M 2534M sleep 59 0 0:00:06 45% imapd/6* <---------------this process eat memory and slow the system(CPU/RAM)
    874 root 610M 421M sleep 59 0 0:14:51 0.1% java/160
    818 webservd 413M 285M sleep 59 0 0:16:43 0.3% webservd/95
    607 root 326M 45M sleep 59 0 0:07:01 0.1% webservd/58
    16719 mailsrv 283M 50M sleep 59 0 0:00:06 0.0% imapd/5
    798 root 237M 37M sleep 59 0 0:04:04 0.1% ns-slapd/48
    *16677 mailsrv 210M 42M sleep 59 0 0:00:05 0.0% imapd/5*
    *16696 mailsrv 205M 36M sleep 59 0 0:00:04 0.0% imapd/5*
    *16695 mailsrv 200M 38M sleep 59 0 0:00:04 0.0% imapd/6*
    *16685 mailsrv 197M 38M sleep 59 0 0:00:08 0.0% imapd/5*
    *16682 mailsrv 195M 40M sleep 59 0 0:00:04 0.0% imapd/5*
    *16681 mailsrv 193M 46M sleep 59 0 0:00:04 0.0% imapd/5*
    *16690 mailsrv 187M 52M sleep 59 0 0:00:03 0.1% imapd/6*
    *16687 mailsrv 187M 40M sleep 59 0 0:00:05 0.0% imapd/5*
    *902 icsuser 185M 24M sleep 59 0 0:00:05 0.0% cshttpd/2*
    NPROC USERNAME SWAP RSS MEMORY TIME CPU
    78 mailsrv 2439M 2329M 80% 0:00:5 0.5%
    78 mailsrv 2439M 2329M 10% 0:11:53 0.5%
    14 icsuser 1064M 233M 2.8% 0:06:55 0.0%
    136 root 965M 727M 8.9% 2:15:20 50%
    1 webservd 264M 326M 4.0% 0:16:43 0.3%
    Total: 237 processes, 1042 lwps, load averages: 1.91, 1.90, 1.89
    ===================================================================================================
    The rest of the imapd process(29) in this moment just load 40-50MB(when those are free).
    If we kill the process 16673 the user connect to the next imapd process and the problem persist whit the same patology: eat memory and CPU, and slow the system.
    So, we think that is not normal and maybe we need patch the system to solve the problem.
    We will to test the 64Bit version in this moment and we will post the results.
    Thank
    Jaime

Maybe you are looking for

  • Get out values from stored procedure

    Hi folks, I have need of an aid. I have created this stored procedure: CREATE OR REPLACE PROCEDURE ProceduraDiProva ( p_val1 IN NUMBER DEFAULT 1, p_val2 IN NUMBER DEFAULT 1, p_val3 OUT NUMBER, p_val4 OUT NUMBER) AS BEGIN p_val3 := p_val1 + p_val2; p_

  • Unable to vertical align flash file

    I have previously posted this on the Dreamweaver forum, however, have not been able to obtain a response. I have been attempting to align a flash file created with FC in the center of a web browser with CSS.  The file is 800 x 600 px and I was hoping

  • Itunes will not display amazon purchases

    iTunes will not display songs I purchased from Amazon and others, it also will not automatically play them when I shuffle "Purchased".  They are in the library because when I search for them I find them. Any help greatly appreciated.

  • Error on DS creation (ResourceException: Could not create pool connection)

    Hi, When trying to create a DS on a WLS 10.3 on Windows Vista to connect to an Oracle 10.2.0.4 RAC database, I am getting the exception below. I use the OCI driver. Everything's fine when I use the thin driver though. <Jan 31, 2009 9:56:56 AM AST> <W

  • Bought Elements 10 language is set to german, how can I change it

    Hi, I bought Photoshop Elements 10 for Mac from the App store. When it finished installing it opened set to German. How do I change it? I've bought other apps and I have not had this problem, please help! Thanks!