3

I'm setting up a new environment in Oracle RAC 11g but I'm wondering how best to use the memory feature.

Today I have two servers with 128GB of RAM 1 core CPU with 16 cores.

I deployed 64GB of SSD to Swap, as much as possible to be able to install and configure the S.O.

The environment is configured in two RHEL 6.9.

Today memory management is in automatic mode using the 64GB Swap.

Any tips on how to improve memory usage or pga and sga?


ASMM current configuration.

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 0
memory_target                        big integer 0
shared_memory_address                integer     0
show parameter sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 80G
sga_target                           big integer 80G
show parameter pga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 30G

1 Answers1

1

ASMM (automatic shared memory management) usually works best in oracle (imho). THat involves setting the sga and pga. Unless you are doing very large query/sorts your pga generally does not need to be nearly as big as your sga. Oracle can safely take up to 80% of your memory on a linux box, so you probably dont want to assign more than about 102G to oracle. Your swap does not need to be more than 16G for 11g and above (see oracle doc). Without knowing a lot about your workload, I would start with sga_target=90g, sga_max_size=90g, pga_aggregate_target=10G. You dont say if you are 11gR1 or 11gR2, but in either case use hugepages to improve CPU usage. If using 11gR2 set use_large_pages=ONLY to ensure hugepages are used. You can look here for further details on hugepage settings: https://dbakerber.wordpress.com/2012/03/14/configuring-hugepages-for-oracle-on-linux/ 90G of hugepages would mean set vm.nr_hugepages to 46085, which gives a small buffer for the setting. I would use the SSD for redo logs.

OracleDBA
  • 27
  • 4