Look in:

Web oracle-core-dba.blogspot.com

Wednesday, August 01, 2007

Very Large Memory

Creation of Database With Very Large Memory

Once the Oracle software is installed successfully, then the next major step is to create the database:

This document deals with database with Very Large Memory option i.e., allocating more than 1.7GB of SGA on a 32 bit Windows server.


In Windows 32 bit architechture(x86) there is limit for 2GB of memory usage that Windows will allow for any single process to consume.
And the databases in which a large amount of i/o takesplace needs much more memory than this limit. So, to allocate and allow oracle to use more than 2GB of memory we use VLM.

1. Open your boot.ini file and add /PAE and /3GB switches.

2. Install the Oracle Software.

3. Open the regedit file

start->run->regedit->find ORACLE_HOME key this will be in HKEY_LOCAL_MACHINE-->software-->oracle-->key_oracle_home(what ever your home is)

in the right hand pane right click and create a new string value with name AWE_WINDOW_MEMORY

Then double click thih new string and give the vaule in bytes that you require.
By default the value of this string is 1GB.


4. Restart the server to make this changes take effect.

5. create the database with memory greater than the 1.7GB SGA.

While allocating the SGA parameter values take care that you give the following parameter values:

Parameter NAME VALUE
-------------- -----
db_cache_size =0
db_2k_cahe_size =null
db_4k_cahe_size =null
db_8k_cahe_size =null
db_16k_cahe_size =null
db_32k_cahe_size =null
db_cache_advice =OFF

db_block_buffers =262144(2GB) i.e (262144*8192)
db_block_size =8192

shared_pool_size =600M
large_pool_size =48M
java_pool_size =24M
pga_aggregate_target =700M
sga_target =0
used_indirect_buffers=TRUE

Note:db-block_buffres is calculated with the following formula(max that can be allocated):

==>Your Server Physical Ram - 4GB + AWE_WINDOW_MEMORY(1GB)

So for example if your System Physical RAM is 9GB, then according to formula:

9-4+1=6GB

You can allocate upto 6GB value for your db_block_buffers.

2 comments:

Moorthy GS said...

Hi,

How we can create a database with 65% of SGA in Suse Linux machine with Oracle 10g. My machine having 2GB of physical ram.

Kernal parameter is given below.

kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

Can you give me brief idea about that.

Thanks,

Moorthy.gS

Sridhar Kasukurthi said...

Moorthy,

Thanks for your time.

http://oracle-core.blogspot.com/2007/08/configuration-of-kernel-parameters.html

Set your kernel parameters as in the above link, and try giving your required amount of SGA.

Please get back to me if any other issues.