Results 1 to 6 of 6

Thread: Open objects

  1. #1
    Join Date
    Mar 2003
    Posts
    23

    Unanswered: Open objects

    I have a large number of open objects in my DB. I have set the limit at about 1K but still am running short.

    There are currently no queries running in the same. So I suspect this is due to the earlier operations on the DB.

    Is there anyway I can close these as it causing a reuse of descriptors.

  2. #2
    Join Date
    Feb 2002
    Location
    Willy is on vacation
    Posts
    1,208
    1k is not nearly enough for a full blown production server. There are some internal dbcc's that can force metadata reuse. Otherwise you will see the dataserver scavanging objects causing all sorts of problems.

    The best option is to increase the config parameter to something reasonable. These metadata resource (memory) requirements from object descriptors are negligible. An increase by a few thousands probably would cost you 60-100KB of memory. use sp_monitorconfig to check the peak usage.

  3. #3
    Join Date
    Mar 2003
    Posts
    23
    Thanks !!! for the reply...

    I had a look at the total metaobjects in the server they are about 25K of them.. So I should be theorotically setting the value of open objects to 25K + another 5% overhead (as per documentation).

    However the point I am intrested is when are these open objects closed ?. Or are they open until the data server is recycled ?.

    As per my observation BCP tends to leave open objects in the system and the only option after one runs out of object desc is restarting of the Adap. server ?. Is there anyway one can close these objects ? Is there a work around rather than increasing the config param ?

  4. #4
    Join Date
    Sep 2002
    Location
    Hong Kong
    Posts
    159
    The objects are held open until the data server is recycled. An open object has a internal descriptor. If the descriptor is reused any stored procedures using the old descriptor will need to be recompiled - Slowing your application.

    It is better to allocate the small amount of memory required to open objects (indexes & databases) than allocate it to other sorts of cache.

  5. #5
    Join Date
    Mar 2003
    Posts
    23
    sybase advises "number of open objects sets the maximum number of objects that can be open simultaneously on Adaptive Server" ..

    Currently we have run out of 8K in about 3 days. I am sure our application cannot use that many objects "simultanesously".. Is there a catch somewhere ??..

    Currently at peak time my server shows me about 412 objects open.. I assume 412 open objects simultaneously... why is it that at peak usage I see a max of 412 objects being used and can run out of 8K in 3 days ...what type o operations result in such huge usage..

    Is there any way we can look at open objects being accessed currently..

    Name Num_free Num_active Pct_act Max_Used Reused
    ------------------------- ----------- ----------- ------- ----------- ------
    number of open objects 7588 412 5.15 412 No

  6. #6
    Join Date
    Sep 2002
    Location
    Hong Kong
    Posts
    159
    Can you keep a track of how many objects have been opened over a period of time and see when an increase in the number of open objects rises.

    I can't think of anything directly that allows you to see what objects are open. If you have the relevant version of ASE (12.5.0.3 or above) there might be something useful in the "mda" tables.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •