How does object memory management works?

Hi all,
I'm having a lot of problems with memory which seems not to be released when using objects (on Oracle 9i 9.0.1.1.1). I've prepared the following test:
create type t_test as object (
id number,
member function FunctTest(TBL IN CHAR, expand IN CHAR) return varchar2
) not final;
create or replace type body t_test as
MEMBER FUNCTION FunctTest(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest;
end;
create or replace function FunctTest2(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest2;
create table tab_test of t_test;
insert into tab_test values(1);
commit;
As you can see, I create a simple type with a member function, and a schema function who does the same (nothing, in this case). Then I call the two functions with the following PL/SQL blocks:
declare i integer;
t varchar2(4000);
ob t_test;
begin
select value(a) into ob from tab_test a where a.id=1;
for i in 1..5000 loop
select ob.FunctTest('A','S') into t from dual;
end loop;
end;
declare i integer;
t varchar2(4000);
begin
for i in 1..5000 loop
select FunctTest2('A','S') into t from dual;
end loop;
end;
If you run these blocks with Task Manager opened (I use W2000) on server console, you can see how memory usage grows very fast with the first block, and how it doesn't change with the second one.
The memory isn't released till the session is alive.
I'm trying to develop an object application, but these memory leaks are making me crazy.
Geoff, does release 2 solve some of these problems?
In particular, please, do I need to free by myself temporary objects (these ones referenced in PL/SQL blocks)? In which way? I haven't found anything about object memory management in documentation...
As always,
Thanks for any support to everybody.
Andrea Arilotta
[email protected]

Andrea,
Do you have an Oracle Support customer ID? If you can log a TAR on http://metalink.oracle.com with your customer id, someone can take a closer look at this problem.
Regards,
Geoff
Hi all,
I'm having a lot of problems with memory which seems not to be released when using objects (on Oracle 9i 9.0.1.1.1). I've prepared the following test:
create type t_test as object (
id number,
member function FunctTest(TBL IN CHAR, expand IN CHAR) return varchar2
) not final;
create or replace type body t_test as
MEMBER FUNCTION FunctTest(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest;
end;
create or replace function FunctTest2(TBL IN CHAR, expand IN CHAR) RETURN varchar2 IS
BEGIN
return NULL;
END FunctTest2;
create table tab_test of t_test;
insert into tab_test values(1);
commit;
As you can see, I create a simple type with a member function, and a schema function who does the same (nothing, in this case). Then I call the two functions with the following PL/SQL blocks:
declare i integer;
t varchar2(4000);
ob t_test;
begin
select value(a) into ob from tab_test a where a.id=1;
for i in 1..5000 loop
select ob.FunctTest('A','S') into t from dual;
end loop;
end;
declare i integer;
t varchar2(4000);
begin
for i in 1..5000 loop
select FunctTest2('A','S') into t from dual;
end loop;
end;
If you run these blocks with Task Manager opened (I use W2000) on server console, you can see how memory usage grows very fast with the first block, and how it doesn't change with the second one.
The memory isn't released till the session is alive.
I'm trying to develop an object application, but these memory leaks are making me crazy.
Geoff, does release 2 solve some of these problems?
In particular, please, do I need to free by myself temporary objects (these ones referenced in PL/SQL blocks)? In which way? I haven't found anything about object memory management in documentation...
As always,
Thanks for any support to everybody.
Andrea Arilotta
[email protected]

Similar Messages

  • Newbie: How does the security manager work with EJB?

    Hi,
    I am new to J2EE and do not seem to grasp how the security manager (or J2EESecurityManager) works with EJB.
    My bean does security-senisitive stuff (like getting the Policy object) and must not do so unless I give it permission in the policy file. So far so good. But the permission will only work if I grant it to ALL code, like:
    grant {
    permission java.security.SecurityPermission "getPolicy";
    Beans do not seem to have a protection domain or code source/certificates attached to it. so I cannot say
    grant "/file/sw/ejb/myejb.jar" {
    permission java.security.SecurityPermission "getPolicy";
    Why is that (probably because beans run remote)? But more importantly, how DO I set permissions based on which bean it is?

    If I add that directory as the codebase to
    a grant statement any class loaded from there will
    have the specified permission.I thought so, too, and that is why I went digging for the code source of my bean (i.e. where is it deployed, from where is it loaded) but that source is NULL:
    Some program output:
    ==Has security manager: com.sun.enterprise.J2EESecurityManager
    ==Code source is ProtectionDomain (null <no certificates>)
    The code seems to have no code source (null) and no signatures (in fact, I also signed my code with the keytool but that certificate did not show here either).
    I am running this against the j2ee server 1.3 -- just experimenting, but it does not go so well. :-)

  • How does Firefox download manager work?

    I was wondering how Firefox Downloads work? Does it use a differnet port? I have wifi at college which is controlled by proxy with username and password. The internet connection is set to cut off at 10:00 PM. But strangely, if we have a download going on Firefox, not any external download managers, the download will carry on even after 10:00pm, which I cannot browse anymore. My friend could download very large file throughout the night, even though we couldn't browse internet.
    Can someone explain why this happens?

    If you are talking about 3.6 versions, Please read this thread and follow TonyE instructions:
    https://support.mozilla.com/en-US/questions/815246

  • How does operator 'less than' work with Rectangle objects?

    Just found in legacy code the following:
    private var firstRect:Rectangle;
    private var secondRect:Rectangle;
    if (firstRect < secondRect)
    // do something
    How does operator 'less than' work with Rectangle objects?
    Doc says that object is converted to number if it is not a String.
    Rectangle is not a String, though has conversion to String.
    Please help.

    IME the best way to know for sure is to experiment. The docs are only one person's best understanding of how things worked on the day, which is seldom 100% accurate. I find that even with code I wrote I can't accurately say 100% of what it does until I've worked with it for a while. Keep in mind that the docs are usually written when the code is written, so  never expect more than a rough idea from the docs.

  • How does new Label Management feature works in Aruba Central?

    Q: How does new Label Management feature works in Aruba Central?
    A: Central provides a standard web-based interface that allows you to configure and monitor multiple Aruba Wi-Fi networks.  
    With as many as devices that central could manage, searching a specific device or set of devices becomes difficult. This is where "Label management" feature of Aruba Central helps out.
    With "Label Management", administrator can create various labels in advance and use them to assign it to different IAPs or Switches as required.  Once the labels are assigned, user can use the label string to search a device or group of devices in central.
    Follow these steps create various set of labels in "Label Management":
    Login to Aruba Central and click on "All Groups"
    In the left-menu, under "Maintenance" select "Label Management"
    Click on "Create Label" button and create as many labels you require as per the environment and ease of use.

    for rating . you need to enable rating from List options and choose if it's going to be 5 star or like 
    to add like button to each page in a publishing site you can use the below script 
    function LikePage() {
    var aContextObject = new SP.ClientContext.get_current();
    EnsureScriptFunc('reputation.js', 'Microsoft.Office.Server.ReputationModel.Reputation', function () {
    Microsoft.Office.Server.ReputationModel.
    Reputation.setLike(aContextObject, _spPageContextInfo.pageListId, _spPageContextInfo.pageItemId;, true);
    aContextObject.executeQueryAsync(
    function () {
    alert('you liked the page'); //here you can update the likes count of the page
    }, function (sender, args) {
    Hope that helps|Amr Fouad|MCTS,MCPD sharePoint 2010

  • How does the Convert Command Work Under the Catalogue Manager?

    How does the Convert Command Work Under the Catalogue Manager?

    My suggestion would be that you download the pdf version of the organizer help file:
    http://helpx.adobe.com/pdf/elements-organizer_reference.pdf
    Start with page 57 for catalogs.
    I am sure you'll have a better understanding of backup/restore and converting when you understand what a catalog is.
    Please come back with your questions afterward .

  • How does this IMPORT statement works

    can any one tell me how does this statement will work..
    I am wokring on Solution manager system , where in there is a function module SSF_FIELD_LIST
    to which system passes form name.
      import fields to fieldlist
             from database stxfcontr(sf) id l_fullname.
    stxfcontr is a table which contains value of in  a diff
    Regards,
    mayank

    It will import data object stored in memory under named fields to your custom data object fieldlist .
    The table which it is stored is name stxfcontr under RELID (memory area) SF .
    Cluster key (key of the entry) in that table is behind var l_fullname
    Anyhow I think [this link|http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3bf8358411d1829f0000e829fbfe/frameset.htm] is more that any explanation. Once you study it, you will understand the above.
    Regards
    Marcin

  • How does the .accept() method work?

    Hi,
    I have checked the source code of the ServerSocket implementation that comes with the jdk.
    I tought I was going to find some type of loop. However I found nothing like that! so how does the accept method work.
    I mean when we call the .accept() method, the thread in which the socketServer is initialized gets stoped untill a new client connection is recieved! how is this actually managed?
    Regards,
    Sim085

    At a guess, the accept call that Java makes, relies on the OS system call through JNI. accept would then block until a new connection is present if you are using blocking.

  • How does a CIN code works in LabVIEW?

    hi..can any one explain as to how a CIN code (written in c/c++) works in LabVIEW.Do we have to import the c/c++ file too when we import the respective VI? How does the CIN code work in an exe file without having to load the C/C++ code?

    When you create the VI that calls the CIN you load the binary object code into the code interface node itself and it's stored as part of the VI. Hence you don't need to include anything special in your build. Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Is it possible to have your whole family on one apple id or is it better to have each person have there own? If each has their own does each id have to buy their own music and apps? How does find my iphone work with one apple id or two?

    Is it possible to have your whole family on one apple id or is it better to have each person have there own? If each has their own does each id have to buy their own music and apps? How does find my iphone work with one apple id or two? also I am going to be going off to college soon should I make an itunes id for my self and how will I get all the music from the old id?

    Is it possible to have your whole family on one apple id or is it better to have each person have there own?
    Yes, it is possible. 1 apple ID can be associated with up to 10 devices.
    If each has their own does each id have to buy their own music and apps?
    Yes, all purchases are non-transferable.
    How does find my iphone work with one apple id or two?
    Every device associated with one apple ID through Find my iPhone is tied to that Apple ID; Find my iPhone will work in the same way with up to ten devices associated with one apple ID. You cannot enable Find my iPhone for one device across two apple IDs
    I am going to be going off to college soon should I make an itunes id for my self and how will I get all the music from the old id?
    If you have authorized a computer with the old apple ID, you can transfer old media purchased through the old to other devices via iTunes. This doesn't mean the media purchases through the old apple ID it transferred to the new account. If you plan to make future purchases and don't wish to share them with others, make your own apple ID.

  • How does the event structure work & ...

    How does the event structure work & and how to modify the case example if you want to change the name of the case? I haven't a look at the manual but nothing about event structure is mentioned.

    I know how it works.. =P

  • How does "notify me" actually work in mail app

    Might be a daft question, but how does "notify me" actually work in iPhone email app?
    I get the principal but surely when you get a reply thats already noticed you?
    Could someone advise me how it actually notifies and is it in addition to receiving the reply to the mail?

    I have the columns in place. But I have a few questions -
    1. Iis there some kind of audit trail report on the updates to my record to the table? If so how do I get to see?
    2. Am I expected to create a <entity name>_HISTORY table for this to work? I see some such recommendation  here .

  • How does mix and match works in ECC6.0?

    How does mix and match works in ECC 6.0?
    Can some shared on this topic?
    Thanks in advance

    It;s a term used in Retail for combination of sales item eg buy 3 get 1 any other  @ xx price.

  • How does the verizon wifi work? Do you pay monthly?

    I want to buy the new iPad with retina display as a gift, but how does this verizon wifi work? Do you pay monthly or have to call Verizon?

    You're post is a little confusing. WiFi signals are not done through Verizon unless you are talking about using a Verizon MiFi hotspot such as this http://www.verizonwireless.com/b2c/store/controller?&item=phoneFirst&action=view PhoneOverviewByDevice&deviceCategoryId=13&cmp=KNC-58700000028195084&zipRdr=y.
    4G wireless cell signals are done through Verizon. WiFi comes from places such as your home wireless network, or WiFi hotspots at places like Starbucks, restaurants, pubs, etc.
    If you are asking about Verizon's wireless cell service, it's $20 a month for 1 gig of data, $30 a month for 2 gigs of data, or $50 a month for 5 gigs of data.

  • How does the notify() call work in Java?

    Hi!
    Can someone help me:
    How does the notify() call work in Java?
    H�var

    Java's Thread Tutorial
    JavaWorld: Introduction to Java threads
    IBM: Introduction to Java threads
    Google: java+threads+tutorial

Maybe you are looking for