This article discusses Red Hat Enterprise Linux optimizations for x86 (32 bit) and x86-64(64 bit) platforms running Oracle 9i R2 (32bit/64bit) and Oracle 10g R1/R2 (32bit/64bit)standalone and RAC databases. This guide covers Red Hat Enterprise Linux AdvancedServer 2.1, 3, and 4. Various workarounds covered in this article are due to the 32-bitaddress limitations of the x86 platform. However, many steps described in this documentalso apply to x86-64 platforms. Sections that do not specifically say that its onlyapplicable to 32-bit or 64-bit apply to both platforms. If you think that a section is notvery clear on that, let me know. For supported system configurations and limits for RedHat Enterprise Linux releases, see http://www.redhat.com/rhel/details/limits/.
Note this document comes without warranty of any kind. But every effort has been madeto provide the information as accurate as possible. I welcome emails from any readerswith comments, suggestions, and corrections at webmaster_at_puschitz.com.
Hardware Architectures and Linux Kernels
When it comes to large databases the hybrid x86-64 architecture platform is stronglyrecommended over the 32-bit x86 platform. 64-bit platforms can access more than 4GBof memory without workarounds. With 32-bit platforms there are several issues thatrequire workaround solutions for databases that use lots of memory, for example refer toUsing Very Large Memory (VLM). If you are not sure whether you are on a 32-bit or 64- bit hardware, run
can bemisleading since 32-bit Linux kernels can run on x86-64 platforms. But if
, then you are running a 64-bit Linux kernel on a x86-64 platform.
The RHEL 3/4
kernel can be used on systems with up to 16 GB of RAM. The
kernel is required in order to use all the memory on systems that have more than16GB of RAM up to 64GB.
However, I recommend the
kernel even on systemsthat have 8GB of RAM or more due to the potential issue of "low memory" starvation(see next section) that can happen on database systems with 8 GB of RAM.
The stabilityyou get with the
kernel on larger systems outperforms the performanceoverhead of address space switching.With x86 architecture the first 16MB-896MB of physical memory is known as "lowmemory" (
) which is permanently mapped into kernel space. Many kernelresources must live in the low memory zone. In fact, many kernel operations can onlytake place in this zone. This means that the low memory area is the most performancecritical zone. For example, if you run many resources intensive applications/programsand/or use large physical memory, then "low memory" can become low since morekernel structures must be allocated in this area. Low memory starvation happens when