Deployment guide

Oracle Linux 8

Overview

Oracle Linux 8 is an enterprise-grade Linux distribution with full binary compatibility with Red Hat Enterprise Linux 8. This guide shows how to deploy and configure the SecureAnyCloud Oracle Linux 8 AMI from the AWS Marketplace.

Available versions: Oracle Linux 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9 and 8.10. Each version is a separate AMI on the AWS Marketplace.

What you get:

  • Oracle Linux 8 with the latest security patches
  • AWS CLI 2.7.7 for managing AWS services
  • AWS CloudWatch Agent 1.247352.0b251908 for monitoring and log collection
  • AWS Systems Manager Agent 3.1.1476.0 for remote management
  • Cloud Init 22.1 for instance initialization
  • An OS package update script that keeps the system current
  • 24/7 SecureAnyCloud support with a 24 hour response SLA

Prerequisites

Before you launch the AMI, make sure you have:

  • An active AWS account
  • An active subscription to your chosen Oracle Linux 8 version on the AWS Marketplace
  • An EC2 key pair for SSH access
  • Familiarity with EC2 instance management and SSH

Recommended instance type: t3.small (2 vCPU, 2 GB RAM) or larger. The minimum requirements are 1 vCPU, 1 GB RAM and 20 GB of disk space.

1

Launch the AMI

  • Open the AWS Marketplace and search for "Oracle Linux 8 SecureAnyCloud".
  • Select the minor version you need (8.0 through 8.10).
  • Select Continue to Subscribe, accept the terms, then select Continue to Configuration.
  • Choose your Region and Software Version.
  • Select Continue to Launch.
  • Choose Launch through EC2 for full control over instance configuration.
  • Select your instance type (t3.small is recommended).
  • Configure storage with a minimum of 20 GB gp3.
  • Configure your Security Group with an inbound rule that allows SSH: port 22, TCP, source your IP address.
  • Select your EC2 key pair and launch the instance.
2

Connect via SSH

Wait until the instance is running and has passed both status checks (2/2). Then connect over SSH:

ssh -i your-key.pem ec2-user@<public-ip-address>

Switch to the root user:

sudo su -
3

Verify the system

Check the OS version:

cat /etc/oracle-release

Check the kernel version:

uname -r

Using AWS CLI

The AWS CLI is preinstalled. Confirm its version:

aws --version

Attach an IAM role with the permissions you need to the instance, or configure credentials with aws configure.

Configuring the CloudWatch Agent

Run the configuration wizard as root:

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

Start the agent:

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

Check the agent status:

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

Using Systems Manager

Check the SSM Agent status:

systemctl status amazon-ssm-agent

The instance needs an IAM role with the AmazonSSMManagedInstanceCore policy attached.

Configuring Cloud Init

The Cloud Init configuration file is at:

vi /etc/cloud/cloud.cfg

Server Components

Component Version Install Path

AWS CLI 2.7.7 /usr/local/aws-cli

AWS CloudWatch Agent 1.247352.0b251908 /opt/aws/amazon-cloudwatch-agent

AWS Systems Manager Agent 3.1.1476.0 /usr/bin/amazon-ssm-agent

Cloud Init 22.1 /etc/cloud

Filesystem Layout

Mount Point Size Description

/ 38 GB Root filesystem (NVMe)

/boot 2 GB Operating system kernel files

Note: On supported instance types, Oracle Linux 8 uses NVMe storage devices.

Scripts and Log Files

Script/Log Path Description

initial_boot_update.sh /stage/scripts Updates the OS with the latest packages on first boot

initial_boot_update.log /stage/scripts Output log for the boot update script

On Startup

An OS package update script runs on first boot. To disable it, run:

rm -f /stage/scripts/initial_boot_update.sh crontab -e
# Delete the @reboot line, save and exit

Common Administration Tasks

Update all packages:

dnf update -y

Install a package:

dnf install -y package-name

Manage services:

systemctl start service-name
systemctl stop service-name
systemctl enable service-name
systemctl status service-name

View system logs:

journalctl -f

Oracle Linux Specific Features

Unbreakable Enterprise Kernel (UEK)

Oracle Linux includes the Unbreakable Enterprise Kernel (UEK), Oracle's own optimized kernel for enterprise workloads. UEK 6 is the default kernel on Oracle Linux 8. Compared with the Red Hat Compatible Kernel (RHCK), it offers enhanced performance, advanced diagnostics and improved hardware support.

Verify which kernel is running:

uname -r

If the output contains uek, the instance is running UEK. If it contains el8, it is running RHCK.

To switch between kernels, run:

# List installed kernels grubby --info=ALL | grep title
# Set the default kernel (example for RHCK)
sudo grubby --set-default /boot/vmlinuz-<rhck-version>
# Reboot to apply
sudo reboot

UEK 6 highlights:

  • Based on Linux 5.4 LTS with Oracle enhancements
  • Optimized for Oracle Database and middleware workloads
  • DTrace tracing framework for advanced diagnostics
  • Enhanced Btrfs filesystem support
  • Improved NVMe and network driver performance

Ksplice zero-downtime patching

Oracle Linux includes Ksplice, which applies critical kernel security patches without a reboot. This suits production database servers where uptime is critical.

Check the Ksplice status:

sudo ksplice kernel show

Apply available patches without a reboot:

sudo ksplice kernel upgrade

Note: Full Ksplice functionality requires an Oracle Linux Premier Support subscription. The AMI includes the Ksplice tools preinstalled.

Oracle Database compatibility

Oracle Linux 8 is Oracle's recommended operating system for Oracle Database deployments. Key advantages:

  • Prevalidated and certified for all Oracle Database versions (11g through 23ai)
  • Required Oracle prerequisite packages available through oracle-database-preinstall RPMs
  • Automatic Storage Management (ASM) kernel driver support through UEK
  • Optimized huge pages and shared memory configuration for database workloads

Install the Oracle Database prerequisites:

sudo dnf install -y oracle-database-preinstall-19c

This command configures the kernel parameters, user accounts and resource limits that Oracle Database installation requires.

Troubleshooting

Cannot connect over SSH

  • Verify the instance has passed 2/2 status checks.
  • Check that your security group allows port 22 from your IP address.
  • Make sure you are using the correct key pair and username (ec2-user).

dnf update fails

  • Verify internet access (public subnet or NAT gateway).
  • Check DNS resolution: nslookup yum.oracle.com
  • Check disk space: df -h

CloudWatch Agent is not working

  • Verify the agent status with the amazon-cloudwatch-agent-ctl command.
  • Check that the IAM role has CloudWatchAgentServerPolicy.
  • Review the logs: tail -f /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

Security Recommendations

  • Restrict SSH access. Allow port 22 only from trusted IP addresses.
  • Use IAM roles for AWS API access instead of access keys.
  • Keep the system updated. Run dnf update regularly.
  • Enable SELinux. Verify it with getenforce.
  • Configure firewalld for additional host-level security.
  • Monitor with CloudWatch for CPU, memory and disk alerts.
  • Use SSM Session Manager for secure, auditable remote access.

Support

If you have any issues with this product, contact SecureAnyCloud support:

  • Email: sales@secureanycloud.com
  • Website: secureanycloud.com
  • Support hours: 24/7, with a 24 hour response SLA

Deploy on AWS

Launch Oracle Linux 8 with 24/7 support from SecureAnyCloud.

View on Marketplace

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com