Results 1 to 6 of 6
  1. #1
    Join Date
    Jun 2003
    Posts
    3

    Unanswered: memory leak in full-text search

    Every statement SELECT containing call of function CONTAINS got 30-40M of memory. Oracle releases memory on connection closing, but our application holds with pool of open connections due to speed work up.
    So, application exhausts available memory too quickly :-((
    We use Oracle9i Release 2 under Win2000.

  2. #2
    Join Date
    Nov 2002
    Location
    Desk, slightly south of keyboard
    Posts
    697
    I'm not sure whether you are saying the application or the server is using all that memory and failing. Oracle will maintain cache of data etc that has been worked on until it either needs the space for new work or in some cases, it is sure that the cache is no longer required.

    It sounds like your connection is opening a cursor and not closing it (ie maintaining the result set client side, forcing Oracle to maintain it server side) - hence why the memory is only available again once the connection is closed.

    You can get an idea of the maximum memory which Oracle will use by including the setting PRE_PAGE_SGA=YES in your init.ora file. When the database is started Oracle will automatically allocate the full allowed amount of memory (default is to only allocate it as needed). This figure can change very slightly though depending on whether you're in dedicated or shared server mode.

    This does have some slight performance implications, so you may just want to set the PRE_PAGE_SGA to ascertain what's happening and then switch it off again.

    Hth
    Bill

  3. #3
    Join Date
    Jun 2003
    Posts
    3
    Unfortunately, I watch the same even running simple SELECT with CONTAINS within sqlplus. This is Oracle, not application, grabs the memory.

  4. #4
    Join Date
    Nov 2002
    Location
    Desk, slightly south of keyboard
    Posts
    697
    This sounds like standard Oracle behaviour, ie it is allocating the memory as needed and it won't flush the cache until it needs to.

    If it exhausts available sga it will then start paging into temp tablespace if possible.

    When the server fails, what error message are you getting?

    Cheers
    Bill

  5. #5
    Join Date
    Jun 2003
    Posts
    3
    I get ORA-04030 out of process memory ...

  6. #6
    Join Date
    Nov 2002
    Location
    Desk, slightly south of keyboard
    Posts
    697
    Hi,

    I had a quick look in the Oracle docs, and on google, it appears that there can be a number of reasons for the problem, but from first glance most likely that Oracle is configured to use more memory than the OS can (or on *nix is allowed to) provide.

    Hopefully this can help? (a repost of a metalink response)

    http://forums.itrc.hp.com/cm/Questio...9cd0f9,00.html

    Hth
    Bill

Posting Permissions

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