Why Oracle Database Runs Best on Oracle Linux

Introduction

Many essential business applications such as order entry, financials, human resources, customer relationship management, and enterprise resource planning run on an Oracle Database. These applications sustain core operations that generate revenue, improve business efficiency, and increase profitability. Because business success often depends closely on these strategic applications, IT departments strive to provide an optimal Oracle Database infrastructure — one that delivers responsive performance, scalable capacity, tight security, and "always-on" availability. The infrastructure must also be easy to manage and support fast database server provisioning, allowing transaction capacity to be added easily and deployed into production quickly.

For Oracle Database workloads running on Oracle Linux, on premises or in the cloud, deep testing and integration between the layers brings substantial benefits: fast transaction speeds, scalable performance, and the security and reliability needed to meet strict service level agreements (SLAs). In addition, an end-to-end Oracle stack increases administrative efficiency since there's no need for cross-platform skill sets to manage multiple vendor technologies. And there's the added benefit of a single point of contact from the industry's leading database infrastructure experts, and for your most critical service and support issues.

Oracle Database is built on a multi-tenant architecture designed to simplify the process of evolving to a cloud-based Database-as-a-Service (DBaaS) delivery model. To build an optimal infrastructure for Oracle Database 18c or other releases, forward-thinking solution architects select Oracle Linux for the operating system tier. Oracle Linux is a cloud-ready operating system that is a cost-effective and high-performance choice when modernizing infrastructure or consolidating database instances on Oracle Database. This paper explains why Oracle Linux is your best choice for Oracle Database environments.

Oracle Database is developed on Oracle Linux

Many customers choose Oracle Linux to support their mission-critical applications. Oracle Linux is also the principal operating system for Oracle's own database, middleware, and application software engineering projects. Oracle Cloud Applications, Oracle Cloud Platform, and Oracle Cloud Infrastructure run on Oracle Linux. Oracle Linux is the development standard across the Oracle Database product portfolio with more than 175,000 Oracle Linux instances deployed on both physical and virtual servers.

Oracle Linux receives more than 128,000 hours of database and application testing each day, which hardens software releases throughout each product's lifecycle. Even before formal evaluation occurs, Oracle Linux is the base platform on which developers prove functionality, quality, and software viability. And before any database or application software is made available, Oracle engineering teams conduct formal stress tests on Oracle Linux to certify Oracle Database and Oracle Real Application Clusters (RAC), along with an extensive battery of system verification and performance tests.

Oracle Linux includes the Unbreakable Enterprise Kernel (UEK), which is specifically optimized for the best performance of Oracle software. The Oracle Database and Oracle Linux development teams collaborate on UEK performance enhancements, tuning system calls and C library interfaces that accelerate applications and query processing times. Oracle engineers extensively test the optimized UEK across Oracle's database, middleware, and application tiers as well as on Oracle servers and engineered systems. UEK is also subject to incremental and widespread testing across IT development systems running the family of Oracle Database products.

The Industry Standard for Oracle Database

Oracle Linux is used extensively by thousands of Oracle Cloud customers worldwide. Thousands of Independent Software Vendors (ISVs) certify their software on Oracle Linux. In addition to the thousands of servers that support Oracle's internal development teams, Oracle Linux is experiencing rapid adoption in the commercial Linux marketplace, gaining broad acceptance as the enterprise standard for Oracle Database workloads. According to the industry analyst firm IDC, Oracle Linux has been realizing significant market growth:

"Oracle Linux has been consistently one of the fastest growing enterprise Linux distributions in the past few years. Much of this growth comes from customers moving to Oracle Linux in order to take advantage of 'Oracle on Oracle' i.e., Oracle's OS optimization for its own solution stacks, running on-premises and in the cloud" - Ashish Nadkarni, IDC

This success highlights how IT organizations are increasingly selecting Oracle Linux on x86 systems to create mission-critical database infrastructures that are responsive, highly scalable, and cost-effective.

Oracle Linux Advantages for Database Deployments

Beyond the flexibility and low TCO of open source, Oracle Linux offers enterprise-class performance, security, and mission-critical reliability, availability, and serviceability (RAS). But what distinguishes Oracle Linux from other OS platforms — in particular for Oracle Database workloads — are advantages afforded by the operating system's deep integration with the solution stack, optimizations resulting from industry collaborations, and UEK enhancements.

Optimized Transaction Performance and Scale

Oracle Database and Oracle Linux engineering teams collaborate continuously on improvements and optimizations to boost database application performance. For example, when traditional inter-process communication (IPC) mechanisms exhibited stability issues under heavy loads, Oracle engineers pioneered a new approach — Reliable Datagram Sockets (RDS), a low-latency connectionless protocol for delivering datagrams reliably to thousands of endpoints. Because RDS resulted in fewer retransmissions (especially during times of peak processing), it greatly improved database performance on Linux. Oracle contributed the RDS code to the open source community and it is now part of the Linux kernel. As a result, Oracle Database engineers were subsequently able to simplify the database code, removing extraneous user code that addressed the instability issues — allowing Oracle Linux to do the "heavy lifting" for high-performance database communications.

Other optimizations stem from enhancements designed to accelerate performance on today's multicore x86 processors and advanced systems architectures. Historically Linux was widely deployed for compute- and data-intensive High-Performance Computing (HPC) applications. InfiniBand, which offers superior throughput, low latency, and excellent scalability, was frequently used as a switching fabric in demanding HPC applications and is now a prevalent technology throughout enterprise data centers for similar reasons.

Notably, InfiniBand switches are a critical component in the Oracle Exadata Database Machine (an Oracle engineered system targeted at extreme database performance) in which InfiniBand provides high-bandwidth connections between the system's compute and storage nodes. Data throughput performance in Oracle Exadata depends heavily on the optimized InfiniBand networking stack in Oracle Linux, the core OS in these powerful systems. Oracle developers tuned the Oracle Linux Infiniband stack to scale throughput in support of extremely demanding workloads. Oracle ultimately contributed these performance-related improvements for InfiniBand to the open source community — one of many technologies that the Oracle Linux team has made to further the success of open source.

Collaborating with Intel has also resulted in enhancements that help Oracle Database applications scale well on x86 servers running Oracle Linux. Working with Oracle Database engineers, Intel optimized CPU threading algorithms, allowing the database to take advantage of Intel SIMD and AVX instructions that improve NUMA scalability. In addition, Oracle Database software uses the multi-threaded Intel® IPP (Intel® Integrated Performance Primitives) library to accelerate columnar compression/decompression as well as encryption operations. For database applications compiled on Oracle Linux, Oracle and Intel also recommend the optimized Intel compiler to obtain the best possible application performance.

Oracle Linux with UEK includes extensive performance and scalability improvements to the process scheduler, memory management, file systems, and the networking stack. It was tuned to perform better and faster on leading-edge x86 configurations that feature many CPU cores and large amounts of main memory. Optimized libraries and system calls help to improve performance for Oracle Database queries. Because of these optimizations and pervasive testing that occurs within Oracle, Oracle Linux is able to address large transaction capacities and scale well as the number of database users or the number of databases increases. For companies consolidating multiple databases on the Oracle Database, fast transaction response times and good scalability are key factors that contribute to a cost-effective infrastructure. Improvements to the operating system are also pushed upstream into the open source Linux community so that the optimizations can benefit non-Oracle application workloads as well.

Resource Management

Allocating system resources (CPUs, memory, network and storage bandwidth) to specific processes —such as Oracle Database instances — helps strategic applications get the resources they need, at the same time restricting resources available to other less-critical applications. Oracle Linux enables resource management through the use of control groups (cgroups), a feature available in Oracle Linux 6 and 7. For Oracle Database applications on large systems (like Oracle Exadata Database Machine X7-8), cgroups can be especially valuable because it's possible to perform "instance caging," binding database instances to specific CPUs. On NUMA architectures, this has the effect of pinning processes to the same processor and memory nodes. NUMA binding in this way can be a big performance win since it allows a processor to access local rather than non-local memory, making memory accesses considerably faster.

Database Smart Flash Cache

Since many OLTP workloads are read-intensive, Oracle Database engineers developed Database Smart Flash Cache, an innovative solution on Oracle Linux to accelerate I/Os for read-mostly database workloads. This functionality allows the database buffer cache to expand beyond the System Global Area (SGA) in main memory to a second-level cache that resides on a flash device. Because flash memory is an order of magnitude faster for read operations (e.g., 4ms disk reads vs. 0.4 ms flash reads), this feature significantly accelerates database performance without any additional cost, beyond the cost of the secondary flash.

Mission-Critical Reliability, Availability, and Serviceability (RAS)

In conjunction with advanced reliability features in leading-edge x86 systems, Oracle Linux creates a highly available operating system for deploying mission-critical database applications. Its ability to apply kernel fixes and security patches as soon as these updates become available is a vital element in protecting data and maintaining application continuity. While other operating systems require planned outages to apply kernel fixes as well as time to reboot, Oracle Linux supports "zero-downtime" updates using Oracle Ksplice technology. Ksplice updates the Linux operating system (OS) kernel and key user space libraries, with no reboot or interruption — virtually eliminating system downtime associated with updates. For example, customers were able to use Ksplice to patch security vulnerabilities such as Heartbleed and Dirty Cow as soon as fixes were available without any application downtime, eliminating further system remediation delays and costly planned downtime. Ksplice is available to customers with an Oracle Linux Premier Support subscription, for on premises and Oracle Cloud deployment, at no additional cost. Ksplice greatly simplifies server maintenance, improving the continuous availability of business-critical database applications. (For more information, see http://www.oracle.com/us/technologies/linux/ksplice-datasheet-487388.pdf.)

Oracle Linux takes full advantage of RAS features in today's x86 processors configured in Oracle and third-party x86 systems. These advanced processors follow the Machine Check Architecture (MCA) in which CPUs can report hardware errors (e.g., bus, Error-Correcting Code (ECC), parity, and cache errors) to the operating system. Oracle Linux runs a Machine Check Exception (MCE) daemon called mcelog that detects and reports unrecoverable hardware problems. The daemon tracks and logs hardware errors, taking action based on error thresholds and in some cases triggering events such as CPU or memory off-lining.

In addition to fault management at the processor level, Oracle x86 systems feature superior RAS capabilities at the system level, including redundant hot-swappable power supplies and cooling fans, hot-swappable drives, and ECC memories, as in the Oracle Server X7-2. Oracle Server X7-8 features hot-swappable PCIe Express Modules, as well as hot-pluggable drives and redundant hot-swappable power supplies and fans. Using the Intelligent Platform Management Interface (IPMI) utility (ipmitool), administrators can perform server initialization, monitoring, and maintenance tasks from Oracle Linux, managing Field-Replaceable Units (FRUs), network configurations, sensor readings, and remote chassis power controls through the system's service processor.

Advanced End-to-End Data Integrity Solutions

Oracle Database and Oracle Linux engineering teams have collaborated with third-party vendors to develop several cutting-edge data integrity solutions that prevent silent data corruption. Silent data corruption can occur when invalid data is read or written without an I/O error being reported to the application or operating system. It typically occurs as the result of a component failure or an administrative mistake. Such errors can be catastrophic for data-centric business applications and potentially result in extended outages. Oracle engineers have helped to construct data integrity solutions that follow the T10 Protection Information (T10 PI) standard, performing integrity checking across the end-to-end data path — from the application to the operating system, through the switch and host bus adapter, and to the disk storage device itself. When data is first written, the solution generates integrity metadata or protection information that is validated at each stage of the data path. Any detected errors are directed to the application for remediation. Oracle implements an open source interface to expose the T10 PI standard to the Linux kernel and end-user applications.

Oracle has qualified T10 PI solutions with Emulex® Fibre Channel (FC) Adapters by Broadcom, with Dell EMC, Fujitsu, Hitachi Vantara, HPE, Huawei, and SanDisk systems. In these solutions, the Oracle Automatic Storage Management library (ASMlib) embeds protection information in each I/O request that is passed through the layers in the Oracle Linux operating system and UEK to the Emulex HBA driver. The driver verifies data integrity before forwarding data to the storage device, which revalidates integrity before writing the data to disk.

High Availability with Oracle Clusterware: Included with Oracle Linux Support

Oracle Database applications frequently demand high availability, which is why Oracle supplies Oracle Clusterware to Oracle Linux Basic and Premier Support customers at no additional charge. Oracle Clusterware is software that allows multiple Oracle Linux servers to operate as a single system, providing redundancy in the event of a hardware or software failure. Each node communicates through a private interconnect, maintaining a cluster heartbeat that indicates node availability. The main software components are the Voting Disk, which records node membership, and the Oracle Cluster Register, which stores and manages cluster information.

For data centers that deploy Oracle RAC, Oracle recommends using Oracle Clusterware to monitor and manage the Oracle RAC infrastructure. When a node in an Oracle RAC cluster is started, all database instances, listeners, and services are automatically started. If an instance fails, it is automatically restarted. Since Oracle Clusterware is included as a part of Oracle Linux support, customers can enjoy a single point of contact for the software infrastructure.

Built-In Security and Data Safeguards

Along with the extensive testing that Oracle Linux undergoes internally for database applications, the operating system includes advanced enterprise features to secure access and protect data. Open source Linux receives intense scrutiny from the development community, which yields strong code and ongoing security enhancements. As a result, Oracle Linux includes robust security features — IP filtering for firewall capabilities, strong encryption, and military-grade SELinux mechanisms.

Many database applications are subject to strict information privacy and regulatory requirements. For applications that require stringent security, these Oracle Database options are supported and extensively tested on Oracle Linux:

  • Oracle Advanced Security Transparent Data Encryption (TDE), which enforces data-at-rest encryption in the database layer.
  • Oracle Advanced Security Data Redaction, which provides on-the-fly redaction of sensitive data in SQL query results (prior to display) to protect sensitive data.
  • Oracle Audit Vault and Database Firewall, which provide controls to block SQL injection threats and consolidate audit data from databases, operating systems, and directories.

Simplified Virtualized Workloads

Faced with tight budgets and the need for greater agility, many IT organizations are moving production Oracle Database applications from physical servers to virtual environments — and taking advantage of the compatibility of Oracle Linux, deployed either on bare metal or virtual guests.

Oracle simplifies the process of moving applications from physical servers to virtual guests to a cloud delivery model. Oracle Linux with UEK can be deployed either on physical servers or on virtual servers with Oracle VM Server for x86. Oracle Linux and Oracle VM are optimized for performance and engineered to work well together.

Oracle Applications and Oracle Database are certified on Oracle VM. To accelerate time-to-production for virtual environments, Oracle VM Templates provide a fully configured software stack with pre-installed and pre-configured software images in a virtual machine. Oracle VM Templates exist for many Oracle products, including Oracle Linux, Oracle Database, Oracle Fusion Middleware, and Oracle Applications like Oracle E-Business Suite, PeopleSoft, and Siebel Customer Relationship Management (CRM). (For available templates, see http://www.oracle.com/technetwork/server-storage/virtualbox/documentation/templates-101937.html.) By using Oracle VM Templates, administrators can deploy single-instance Oracle Database and Oracle RAC configurations in a matter of minutes.

Cloud-Ready Integrated Services

For enterprises considering their journey to the cloud, deploying Oracle Database on Oracle Linux is the ideal and most cost-effective choice. When users subscribe to Oracle Cloud Infrastructure, Oracle Linux Support is provided at no additional cost. This includes access to the latest packages and updates for Oracle Linux, 24x7 expert Linux support, the My Oracle Support portal with an extensive Linux knowledge base, Oracle Ksplice zero-downtime kernel and user space updates, and the use of Oracle Enterprise Manager Cloud Control to manage and monitor Oracle Linux instances. Support is also included for Oracle Container Registry for trusted patched Oracle software container images, Oracle Runtime Container for Docker, and Oracle Linux Container Services for use with Kubernetes. In addition, deploying Oracle Database on Oracle Linux, whether on premises or on Oracle Cloud Infrastructure, provides a single point of contact for cloud infrastructure, OS, and Oracle software.

Oracle Linux is a cloud-ready and integrated operating system that enables easier deployment and migration of Oracle Applications and databases to Oracle Cloud Infrastructure. Oracle Linux Support on Oracle Cloud Infrastructure provides access to frequent Oracle Linux image updates so that the latest bug fixes and security errata are readily available. In addition, the Oracle Linux yum server and Oracle Container Registry are mirrored inside Oracle Cloud Infrastructure to enable faster downloads of the latest Oracle Linux bug fixes and security errata, and Docker container images for Oracle software. Because all network traffic stays within Oracle Cloud data centers, no Internet traffic bandwidth is consumed, and no user network charges are incurred.

Full-Stack Manageability

An integrated and consistent set of management tools (rather than an assortment of multi-vendor tools) can help to increase administrator productivity and decrease labor costs. Oracle Enterprise Manager Cloud Control provides an intuitive interface for managing application performance and availability across the end-to-end Oracle solution stack, including applications, database, systems, virtual servers, and Oracle Linux. Oracle Enterprise Manager gives administrators a single-pane-of-glass to deploy and manage Oracle Database workloads on Oracle Linux — even if those workloads are virtualized using Oracle VM. To simplify Oracle Linux patching and updates, Oracle Enterprise Manager for Linux management is included at no additional charge with an Oracle Linux Support subscription, which helps reduce infrastructure management costs and reduce TCO. For Oracle Cloud Infrastructure customers, Oracle Enterprise Manager Cloud Control is included at no additional cost.

In conjunction with the multi-tenant capabilities of Oracle Database, Oracle Enterprise Manager Cloud Control 13c features automation that permits rapid self-service provisioning of database clouds, saving administrators additional time and effort. These management features help to pave the way to a cloud-based, on-demand Database-as-a-Service (DBaaS) delivery model.

Rapid Deployments

In addition to Oracle VM Templates, there are a number of other ways in which Oracle has made it easy to deploy Oracle Database software on Oracle Linux. The possibilities vary from factory-built, tightly integrated solutions like Oracle's engineered systems, to build-your-own validated and documented configurations, to software packages that properly configure Oracle Linux systems for the database software. While these options have different advantages, all of them share a similar benefit: simplifying deployment and expediting time-to-production.

Purpose-Built Engineered Systems

Oracle designs engineered systems that are preassembled and pre-integrated to reduce complexity and speed application deployment. Because Oracle Linux offers superior performance and enterprise-class features, it is the operating system embedded in most Oracle engineered systems, including these solutions:

  • Oracle Private Cloud Appliance. This appliance enables rapid, repeatable software-defined infrastructure for x86 applications including database workloads. Customers can go from power on to production quickly and deploy ready-to-run virtual machines in a matter of minutes.
  • Oracle Database Appliance. This appliance is a simple, optimized, and affordable entry-level engineered system that integrates Oracle Database, Oracle Linux, Oracle VM, x86 servers, storage, and networking. It delivers highly available database services in an off-the-shelf solution for small database requirements.
  • Oracle Exadata Database Machine. With optimizations specific to Oracle Database workloads, Oracle Exadata Database Machine is factory-integrated with Oracle servers, Oracle Linux, storage, and other software. This engineered system is designed to accelerate Oracle Database services for large-scale data warehousing and OLTP applications.
  • Oracle Exalytics In-Memory Machine X6-4. Oracle Exalytics includes best-in-class hardware, the Oracle Linux operating system, an Oracle Business Intelligence software suite, and in-memory analytics software — all optimized to work together.
  • Oracle Big Data Appliance. This Oracle engineered system delivers comprehensive big data analytics at a low TCO. It is optimized for both batch and real-time processing using Cloudera Distribution for Apache Hadoop, Oracle NoSQL Database, Cloudera Impala, and Cloudera Search.
  • Oracle Zero Loss Data Recovery Appliance. This appliance provides robust protection for Oracle Databases to prevent against data loss. Backup workloads are offloaded to the appliance, where dedicated hardware and storage handle backup and recovery tasks in an efficient manner.

Oracle Linux provides extreme scalability for large engineered systems. For example, in the Oracle Exadata Database Machine X7-8 that features up to 6 TB RAM and 192 processor cores per database server, Oracle Linux scales well to support highly demanding database workloads.

Oracle Validated Configurations

Oracle Linux and Oracle VM Validated Configurations provide easier, faster, and lower-cost deployment of Oracle Linux and Oracle VM solutions in your enterprise. The program offers pre-tested, validated configurations—including software, hardware, storage, and network components—along with documented deployment guides. The result: Improved performance and reliability of Oracle Linux and Oracle VM solutions, with faster, lower-cost implementations. Oracle collaborates with dozens of leading technology partners to offer these validated configurations free of charge. Over 190 validated and tested architectures (including Oracle Database and Oracle RAC configurations on both Oracle and third-party hardware) are published at http://www.oracle.com/technetwork/server-storage/linux/validated-configurations-085828.html.

Pre-installation Packages and Preloaded Oracle Systems

When deploying database applications on Oracle Linux, Oracle Database requires certain packages, package versions, and kernel parameters. To adhere to best practices, administrators typically minimize the operating system image, installing only the minimal number of Oracle Linux packages. Then, they can apply an Oracle Database pre-installation package to resolve dependencies, address prerequisites, and configure the kernel prior to database installation. Oracle makes available pre-installation packages for both Oracle Database that help to provide a painless and easily repeatable deployment process.

Applying pre-installation packages to these systems prepares them quickly for database software installation. When customers purchase an Oracle Premier Support for Systems or Operating Systems subscription, support for Oracle Linux is included, yielding a readily available and fully supported database configuration, resulting in lower total cost of ownership.

Empowering Database Solutions on Oracle Linux

As you begin to document your business goals and determine your best path to deployment, remember that Oracle Linux can be freely downloaded from the Oracle Software Delivery Cloud at https://edelivery.oracle.com. In addition to no-charge software downloads, Oracle makes all errata for Oracle Linux freely available from the Oracle Linux yum server — no other commercial Linux vendor provides these updates at no charge. This means that your administrators can set up a proof-of-concept environment that includes all released bug and security fixes without initially purchasing a support contract, allowing you to get started immediately evaluating the benefits of Oracle Linux for your database infrastructure.

Oracle Linux makes it easy to set up environments using Oracle software and the tools needed to develop applications with Oracle Database. Oracle Linux provides packages built specifically for developers and enables the bootstrapping of self-contained environments. Scripting languages and database connectors are made available via the Oracle Linux yum server. cx_Oracle is a Python extension module that allows access to Oracle Database and conforms with the Python database API specification. PHP repositories contain the latest builds of stable PHP releases from the community, including the php-oci8 extension to connect your PHP applications to Oracle Database. The node-oracledb add-on for Node.js powers high performance Oracle Database applications and can be used to connect Node.js 6, 8 and 10 to Oracle Database. Customers who have Oracle Linux support and Java SE support from Oracle have access to commercial releases of Java SE via Oracle Unbreakable Linux Network (ULN). In addition, Oracle launched a GitHub repository for building Vagrant boxes with Oracle VM Virtualbox to provide an easy and automated way of setting up developer environments with fully configured Oracle software.

To help you implement IT solutions quickly and cost-effectively, Oracle fosters relationships with industry partners and technology leaders that can help you develop implementation plans, customize solutions, provide training, and supplement your internal staffing. The Oracle Linux team works closely with these partners to develop solutions and tools to deploy and effectively manage Oracle Database applications on Oracle Linux. Oracle engineers consult with software partners to certify applications on Oracle Linux and collaborate with hardware partners to qualify systems, validate drivers, and optimize performance of Oracle Database on Oracle Linux.

Conclusion

When you deploy Oracle Database on Oracle Linux, you can have the confidence that you are deploying on an operating system backed by development teams that work closely together to optimize performance, enterprise security, and availability. Because Oracle's applications, middleware, and database products are developed on Oracle Linux, you'll be deploying on the most extensively tested solution. And with your Oracle Linux Support agreement, your software environment is backed by the expertise of Oracle's global 24x7 support organization, regardless of whether you deploy on certified partner hardware, Oracle servers, an Oracle engineered solution, or Cloud. And with your Oracle Linux support contract, you also receive management and high availability solutions at no additional charge, which helps to reduce the TCO of your database infrastructure.

Download a copy of Oracle Linux today from https://edelivery.oracle.com and get started with an evaluation. You can also get started with Oracle Linux on Oracle Cloud Infrastructure with $300 in free credits. Visit https://cloud.oracle.com/tryit for more details. You can also contact your Oracle representative to learn more, or visit http://www.oracle.com/linux.