Showing results for 
Search instead for 
Did you mean: 

oracle and free memory

Sergey Akifiev_1
Frequent Advisor

oracle and free memory

i have an hp-ux 11.23 ia64 server with 16gigs of ram. there is one oracle instance allready running. and i want to start another one, givin maximum of memory to it.
so swapinfo telling me, that:
sergey@svbackst:~$ swapinfo -tam
dev 4096 191 3905 5% 0 - 1 /dev/vg00/lvol2
reserve - 860 -860
memory 16354 9305 7049 57%
total 20450 10356 10094 51% - 0 -

does it mean, that i can give 7049MB (or near) to new instance?

actually, if i start instance with parameters:
db_block_size = 32768
pga_aggregate_target = 500M
sga_max_size = 5G
db_cache_size = 3500M
shared_pool_size = 1G
#shared_pool_reserved_size = 320M
#db_keep_cache_size = 64M
large_pool_size = 320M
log_buffer = 4194304
lock_sga = TRUE
pre_page_sga = TRUE

(i.e. if i getting it right, 5GB SGA + up to 500MB PGA)
then sqlplus session hangs and spawned oracle process begins to call enormous amount of SHM syscalls flooding udump file with lines:
skgm error 27126: errno = 12, info = 1, 0, 0, 0. ERRNO 12 - not enough core.

NB. if i set lock_sga = false then instance starts just fine, but i do not want SGA to swap.
Emil Velez
Honored Contributor

Re: oracle and free memory

This is misleading..

Lets say you have 12 GB of memory and 20 GB of swap space

Lets assume that dbc_max is set at 10%.

This means 1.2 GB of memory will be used for buffer cache. The OS will load into memory and the rest of the memory is used for processes. Once you fill up all of your memory the buffer cache will start shrinking and you will start paging out some pages to a real swap device.

The mem line is how the OS waits to use real memory first before it starts paging so in most cases you can ignore it. Since you are using 5% of device swap this tells me that at some time the utiization of memory was at 100% and you had it full and may be at the point of using all of your memory. We would have to look at glance, ovpa or top to see how much free memory you have since it changes dynamically as processes die and get created.

So the answer is I bet you are using all of your memory already unless DBC_max is set to 50 so you might be using most of your memory since you are using 5% of your swap space.

Ideally if you had free memory your swap space utilization on the device would be 0.

Good luck
Steven E. Protter
Exalted Contributor

Re: oracle and free memory


Simple answer:No.

As a general rule you should not plan an oracle instance that exceeds available physical memory.

However you can get more memory back by changing dbc_min_pct to a lower figure, freeing buffer cache.

You can also change the oracle SGA settings on the existing instance to lower is memory use, thereby providing more memory for other oracle instances.

Steven E Protter
Owner of ISN Corporation
Steve Steel
Honored Contributor

Re: oracle and free memory


Common Misconfigured HP-UX Resources

Is interesting for this sort of problem

Steve Steel
If you want truly to understand something, try to change it. (Kurt Lewin)