Deployment guide

Oracle Database 19c Enterprise on Oel 7

Overview

Oracle Database 19c is the long-term-support release of Oracle Database. This image runs Oracle Database 19c Enterprise Edition on Oracle Enterprise Linux 7, which gives you full compatibility for Oracle workloads on the OEL platform.

This guide covers deploying and configuring it on Linux using the SecureAnyCloud AMI from the AWS Marketplace. The ORCL sample database and the listener are preconfigured, and helper scripts start and stop them.

What you get:

  • Oracle Database 19c Enterprise Edition on Oracle Enterprise Linux 7 19.3.0.0.0 (64-bit) installed at /u01
  • A preconfigured ORCL sample database, ready to start
  • Oracle Listener preconfigured on port 1521
  • A dedicated oracle OS user with environment scripts
  • Helper scripts for starting and stopping the database and listener
  • Randomly generated SYSTEM user credentials
  • An OS package update script that keeps the system current
  • AWS CLI v2 for AWS service integration
  • Systems Manager Agent (SSM) for remote management
  • CloudWatch Agent for monitoring
  • Latest security patches applied at build time
  • 24/7 SecureAnyCloud support with a guaranteed 24 hour response SLA

Prerequisites

Before you launch this AMI, make sure you have:

  • An active AWS account
  • An active subscription to the Oracle Database 19c Enterprise on OEL 7 listing on AWS Marketplace
  • An EC2 key pair for SSH access
  • Familiarity with EC2 instance management and SSH

Recommended instance type: m5.large (2 vCPU, 8 GB RAM) or larger. The minimum requirements are 1 vCPU, 1 GB RAM and 20 GB of disk space. Oracle Database benefits significantly from additional memory for production workloads.

1

Launch the AMI

  • Open the AWS Marketplace and search for "Oracle Database 19c Enterprise OEL 7 SecureAnyCloud".
  • Click Continue to Subscribe, accept the terms, then click Continue to Configuration.
  • Select your preferred Region and Software Version.
  • Click Continue to Launch.
  • Choose Launch through EC2 for full control over instance configuration.
  • Select your instance type (m5.large is recommended).
  • Configure storage: 20 GB gp3 minimum for the root volume, plus the dedicated /u01 Oracle volume.
  • Configure your Security Group with the inbound rules below.

Inbound rules (port, protocol, source, purpose):

22 TCP Your IP SSH access

1521 TCP Your IP Oracle Database Listener port

Important: Restrict port 1521 to trusted application servers or your own IP. Do not open the Oracle Listener port to the public internet.

  • Select your EC2 key pair and launch the instance.
2

Connect over SSH

When your instance is running and has passed both status checks (2/2), connect over SSH:

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

Switch to the root user:

sudo su -

Important: Wait for the instance to reach 2/2 successful status checks before you connect. Early connection attempts may fail with permission denied errors while the instance is still initialising.

3

Switch to the oracle user

The Oracle software is owned by the dedicated oracle OS user. Switch to this user to manage the database. Type the command rather than pasting it:

sudo su - oracle

Three scripts are available in the oracle user's home directory:

  • setEnv.sh sets the Oracle environment variables, which enables utilities such as sqlplus.
  • start_all.sh starts the ORCL sample database and its associated Oracle Listener.
  • stop_all.sh stops the ORCL sample database and its associated Oracle Listener.
4

Start the Oracle Database and Listener

As the oracle user, start the sample database and listener:

cd $HOME . ./start_all.sh

The output looks like this:

LSNRCTL for Linux: Version 19.0.0.0.0 - Production Starting /u01/app/oracle/product/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 19.0.0.0.0 - Production Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ip-x-x-x-x.ec2.internal)(PORT=1521))) The command completed successfully SQL*Plus: Release 19.0.0.0.0 Production Connected to an idle instance. SQL> ORACLE instance started. Database mounted. Database opened.
5

Connect with SQL*Plus

Set the Oracle environment variables and start SQL*Plus:

cd $HOME . ./setEnv.sh sqlplus / as sysdba

The output looks like this:

SQL*Plus: Release 19.0.0.0.0 Production Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Release 19.3.0.0.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL>

Type EXIT to leave the SQL*Plus session.

6

Connect remotely with SQL Developer

To connect from an external tool such as SQL Developer, use these connection settings:

Database Type Oracle

Authentication Type Default

Username SYSTEM

Password See credentials file below

Connection Type Basic

Hostname Your instance public IP

Port 1521

Service Name orcl.us.oracle.com

Note: The SYSTEM user password is in the randomly generated credentials file at /stage/scripts/oracle-database-credentials.log.

Server components

Components, with version and install path:

Oracle Database 19c Enterprise 19.3.0.0.0 /u01

Note: The automatic OS package update script can update component versions on first boot.

Filesystem layout

Mount points, with size and description:

/ 38 GB Root filesystem

/boot 2.0 GB Operating system kernel files

/u01 20 GB Oracle software installation directory

Key Oracle directories, with purpose:

/u01/app/oracle Oracle base directory

/u01/app/oracle/product Oracle software home

/u01/app/oracle/product/network/admin Listener and TNS configuration files

/u01/app/oracle/diag Oracle diagnostic and alert log files

Manage the Oracle Database

You manage the Oracle Database with the shell scripts in the oracle user's home directory. The database does not use systemd services.

Start the database and listener:

sudo su - oracle cd $HOME . ./start_all.sh

Stop the database and listener:

sudo su - oracle cd $HOME . ./stop_all.sh

Check the listener status:

sudo su - oracle cd $HOME . ./setEnv.sh lsnrctl status

Scripts and log files

Scripts and logs, with path and 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

oracle-database-credentials.log /stage/scripts Oracle Database SYSTEM user credentials

setEnv.sh /home/oracle Sets Oracle environment variables for sqlplus and other tools

start_all.sh /home/oracle Starts the ORCL database and Oracle Listener

stop_all.sh /home/oracle Stops the ORCL database and Oracle Listener

On startup

An OS package update script runs on first boot to bring the image fully up to date. To disable it, remove the script and its crontab entry:

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

Troubleshooting

Cannot connect over SSH

  • Verify that the instance has reached 2/2 status checks in the EC2 console.
  • Confirm that your security group allows inbound TCP port 22 from your IP.
  • Make sure you are using the correct key pair and connecting as ec2-user.

Oracle Listener fails to start

  • Switch to the oracle user: sudo su - oracle
  • Source the environment: . ./setEnv.sh
  • Check the listener status: lsnrctl status
  • Review the listener log at /u01/app/oracle/diag/tnslsnr/<hostname>/listener/alert/log.xml.
  • Verify that no other process is using port 1521: netstat -tlnp | grep 1521

Database fails to start

  • Switch to the oracle user and source the environment.
  • Connect to SQL*Plus: sqlplus / as sysdba
  • Check the instance status: SELECT STATUS FROM V\$INSTANCE;
  • Try starting it manually: STARTUP;
  • Review the alert log at /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log.

Cannot connect remotely on port 1521

  • Verify that the Oracle Listener is running: lsnrctl status
  • Confirm that your security group allows inbound TCP port 1521 from your IP.
  • Test connectivity: telnet <instance-ip> 1521
  • Check that the listener.ora file references the correct hostname.

Security notes

  • Restrict port access. Allow port 1521 only from trusted application servers or specific IP addresses.
  • Change default passwords. Update the SYSTEM and SYS user passwords immediately after your first login.
  • Use strong passwords. Make sure all database user passwords meet complexity requirements.
  • Enable auditing. Configure Oracle Database auditing to track access and changes.
  • Encrypt connections. Configure Oracle Net Services to use SSL/TLS encryption for client connections.
  • Limit OS access. Restrict SSH access to authorised administrators only.
  • Review user privileges. Remove unnecessary grants and follow the principle of least privilege.
  • Keep the system updated. Apply Oracle Critical Patch Updates and OS security patches regularly.

Support

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

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

Deploy on AWS

Launch Oracle Database 19c Enterprise on OEL 7 with 24/7 support from SecureAnyCloud.

View on Marketplace

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com