I have a Oracle RAC 11.2.0.3.0 2-node database running on SUSE Enterprise linux 11
And I'm confusing about the NUMA settings for this database:
SQL> !uname -a
Linux 2.6.32.12-0.7-default #1 SMP 2010-05-20 11:14:20 +0200 x86_64 x86_64 x86_64 GNU/Linux
Oracle DB Hidden parameters settings for NUMA:
SQL> SELECT a.ksppinm PNAME, c.ksppstvl PVAL, a.ksppdesc PDESC, b.ksppstdf PDFLT
2 FROM x$ksppi a, x$ksppcv b, x$ksppsv c
3 WHERE a.indx = b.indx
4 AND a.indx = c.indx
5 AND LOWER(a.ksppinm) LIKE '%numa%'
6 ORDER BY 1;
PNAME PVAL PDESC
-------------------------- -------------------- ---------------------------------------------------
_NUMA_instance_mapping Not specified Set of nodes that this instance should run on
_NUMA_pool_size Not specified aggregate size in bytes of NUMA pool
_db_block_numa 1 Number of NUMA nodes
_enable_NUMA_interleave TRUE Enable NUMA interleave mode
_enable_NUMA_optimization FALSE Enable NUMA specific optimizations
_enable_NUMA_support FALSE Enable NUMA support and optimizations
_numa_buffer_cache_stats 0 Configure NUMA buffer cache stats
_numa_trace_level 0 numa trace event
_px_numa_stealing_enabled TRUE enable/disable PQ granule stealing across NUMA nodes
_px_numa_support_enabled TRUE enable/disable PQ NUMA support
_rm_numa_sched_enable FALSE Is Resource Manager (RM) related NUMA scheduled policy enabled
_rm_numa_simulation_cpus 0 number of cpus for each pg for numa simulation in resource manager
_rm_numa_simulation_pgs 0 number of PGs for numa simulation in resource manager
S.O. NUMA settings:
SQL> !numactl --show
policy: default
preferred node: current
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
cpubind: 0 1
nodebind: 0 1
membind: 0 1
SQL> !numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 1 3 5 7 9 11 13 15 17 19 21 23
node 0 size: 49141 MB
node 0 free: 10268 MB
node 1 cpus: 0 2 4 6 8 10 12 14 16 18 20 22
node 1 size: 49151 MB
node 1 free: 9902 MB
node distances:
node 0 1
0: 10 20
1: 20 10
cpu settings:
SQL> show parameter cpu
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
cpu_count integer 24
parallel_threads_per_cpu integer 2
resource_manager_cpu_allocation integer 24
SQL> !lscpu
Architecture: x86_64
CPU(s): 24
Thread(s) per core: 2
Core(s) per socket: 6
CPU socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 44
Stepping: 2
CPU MHz: 1600.000
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 12288K
What is the impact if I disable PQ NUMA support (_px_numa_support_enabled=FALSE), what is the expected behavior? It would disable NUMA for parallel queries or is there no changes since _enable_NUMA_support is already disabled (i.e. _enable_NUMA_support=FALSE)?
Is there any advantages on enable NUMA support for low latancy database?
Is there any place that explains how does NUMA works on Oracle DB?
Thanks in advance!
Vinicius