4 Replies Latest reply: Mar 27, 2012 1:55 PM by Hussein Sawwan-Oracle RSS

    R12 upgrade on server with other DB's - use of Solaris memory caps?

      We have an system - single server for all all components (apps and DB)

      On the same server we have a number of other Oracle databases (15-20) - non E-Business suite. This is a large Sun M8000 server, with 64Gb of memory. Day to day usage we see around 25Gb of un-used memory on the system.

      We have a test server setup as above, and we also have a separate production server set-up as above (also a M8000, also 64Gb of memory... also with a number of other non-EBS databases, also with around 25Gb of un-used memory as a general rule).

      During our 1st 11i>12.1.3 upgrade test we hit some pretty severe performance issues with memory usage and then resultant high swap usage on the server.

      The way the adpatch seems to work is that it sees what memory the server has (64Gb) , and assumes all this can be used for the upgrade... so floods the server with resource intensive processes. It doesn't seem to care there are other systems on the box.

      I'm perfectly aware that the best approach here would be to shut down the other systems for the duration of the upgrade - thus freeing up all resources to the 12.1.1 adpatch session - for various reasons this just isn't going to be possible. I've been advised we should be able to shutdown some of the systems and have around 32Gb of memory available... but my understanding is that adpatch will still see all 64Gb and try to use it all!

      I suspect further performance issues.

      We've tweaked the workers down form their defaulted 64 to 32 - this didn’t really have much effect.. as it's not really a CPU issue we're hitting. This is definitely memory related.

      So... we're looking at ways of better handling this in the future. We are where we are, and need to work with what we've got.

      I've been looking into various Solaris setup options - containers would almost certainly do what we want... but was wondering if there was a slightly easier (less overall impact) way of restricting memory usage - that of a Solaris project - rcap.max-rss setting. Which can limit what memory is available to a Solaris project.

      Has anyone ever attempted anything like this with Oracle?

      I'm wondering about the following;
      If we were to restrict a Solaris project to 32Gb of memory - how would adpatch handle this? Would it only see 32Gb, or would it see all 64..and then be limited by the Solaris project setting at runtime (if the latter,... I'd imagine patch performance issues. If the former, then hopefully it would play nicely in its allocated 32GB).

      I've raised an SR with Oracle to ask pretty much the same questions - initial response has not been too helpful ("There is no solution to avoid / reduce the resources needed to make the upgrade"), but am continuing to press for more info.

      If anyone has done similar, or has a view on how this would work (or maybe wouldn't work), let me know