Can RAM used by Oracle be freed on the fly?


I have an AIX LPAR with Live Partition Mobility, and when I move this LPAR from one box to another, I would like to be able to free the RAM used by Oracle on the fly, is this possible?

For example, if I have the LPAR with 64GB RAM on use and I move it over a box with 48GB RAM, can I tell Oracle to drop some schemas or tables from RAM to be able to move over to the 48GB machine???

I know it can be done with a stop/start of Oracle DB via editing Oracle's config files, but it would be fantastic to automate it fully and on the fly.

Thanks in advance.
LVL 11
Carlos IjalbaIT Systems DirectorAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

slightwv (䄆 Netminder) Commented:
Oracle can use up to memory_max_target.  That cannot be changed on the fly.

Modifiable No

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
If you are using the automatic memory management, as slihtwv says, you cannot modify MEMORY_MAX_TARGET, but you can reduce MEMORY_TARGET on the fly.
Carlos IjalbaIT Systems DirectorAuthor Commented:
Thanks guys,

So, If I start up an instance without MEMORY_MAX_TARGET, but set a MEMORY_TARGET of say 60GB, can I afterwards setup a MEMORY_TARGET of 48GB and Oracle will adjust accordingly??

Or MEMORY_TARGET is just to increase RAM, but not to decrease it???
slightwv (䄆 Netminder) Commented:
Sorry but no.

The online docs typically has everything you need:

In a text-based initialization parameter file, if you omit MEMORY_MAX_TARGET and include a value for MEMORY_TARGET, then the database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET. If you omit the line for MEMORY_TARGET and include a value for MEMORY_MAX_TARGET, the MEMORY_TARGET parameter defaults to zero. After startup, you can then dynamically change MEMORY_TARGET to a nonzero value, provided that it does not exceed the value of MEMORY_MAX_TARGET.
Carlos IjalbaIT Systems DirectorAuthor Commented:
Thanks for your responses.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.