Deployment guide

Oracle DB Client 23ai

Overview

Oracle Database Client provides the tools and libraries you need to connect to and manage remote Oracle Database instances, without a full database server installation.

This guide covers Oracle Database Client 23ai (23.26) on AlmaLinux 9 and Oracle Linux 9, which share the same /opt/oracle/client layout. The images are separate AMIs in the SecureAnyCloud Oracle Database Client listing and form one variant family of it. For a different client version, return to the list of all Oracle Database Client versions.

What you get:

  • Oracle Database Client (Administrator install) preconfigured at /opt/oracle/client
  • SQL*Plus, SQL*Loader (sqlldr), tnsping and Oracle Net (TNS and EZConnect)
  • Full OCI and JDBC Thin client libraries for application development
  • Seeded tnsnames.ora and sqlnet.ora files, ready for TNS alias configuration
  • A system-wide /etc/profile.d/oracle-client.sh that sets all Oracle environment variables on login
  • The bundled Oracle JDK replaced with system-managed OpenJDK (eliminates CVE exposure)
  • A first-boot OS update sweep for the latest security patches
  • 24/7 SecureAnyCloud support with guaranteed 24 hour response SLA

Prerequisites

Before you launch this AMI, make sure you have:

  • An active AWS account with an active Marketplace subscription for this listing
  • An EC2 key pair for SSH access
  • The hostname, port and service name of the Oracle Database you want to connect to

Recommended instance type: t3.medium (2 vCPU, 4 GB RAM)

1

Launch the AMI

  • Open the AWS Marketplace and search for "Oracle Database Client SecureAnyCloud".
  • Click Continue to Subscribe, accept the terms, then click Continue to Configuration.
  • Select your preferred Region and the 23ai on AlmaLinux 9 software version.
  • Click Continue to Launch, then choose Launch through EC2.
  • Select instance type t3.medium (recommended) or larger.
  • Configure storage: 20 GB gp3 minimum.
  • Configure your Security Group with this inbound rule: Port 22 (TCP), source: your IP, for SSH access.

Select your EC2 key pair and launch the instance.

2

Connect via SSH

When the instance is running and has passed both status checks (2/2), connect as ec2-user:

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

Replace <instance-public-ip> with the Public IPv4 address shown in the EC2 console.

3

Verify the Oracle Client installation

The Oracle environment is configured automatically for all users through /etc/profile.d/oracle-client.sh. On login, ORACLE_HOME, PATH and LD_LIBRARY_PATH are set. Confirm that the client works:

sqlplus -V

Expected output:

SQL*Plus: Release 23.0.0.0.0 - Production Version 23.x.x.x

Check that Oracle Net (TNS layer) loads correctly:

tnsping invalid_alias

Expected output begins with:

TNS Ping Utility for Linux: Version 23.x.x.x

The invalid_alias is intentionally unknown. The banner confirms that the TNS layer works.

List the core client libraries:

ls /opt/oracle/client/lib/libclntsh.so*
4

Configure tnsnames.ora

Add your remote database connection aliases to tnsnames.ora. The file is at /opt/oracle/client/network/admin/tnsnames.ora. Open it in any editor:

sudo vi /opt/oracle/client/network/admin/tnsnames.ora

Add an entry using this format:

MY_DATABASE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = your-db-hostname)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = your-service-name) ) )

Replace these values:

  • your-db-hostname with the IP address or DNS name of the Oracle Database server
  • 1521 with the listener's port, if it differs
  • your-service-name with the database service name (ask your DBA if you are unsure)
5

Connect to a remote Oracle database via SQL*Plus

To test connectivity without a TNS alias, use EZConnect syntax and replace the example values with your own:

sqlplus username/password@//your-db-hostname:1521/your-service-name

After you configure a TNS alias, connect with it:

sqlplus username/password@MY_DATABASE

Type EXIT to leave SQL*Plus.

6

Using SQL*Loader

SQL*Loader (sqlldr) is included for high-speed bulk data loading. Confirm that it is present:

sqlldr /? 2>&1 | head -5

Environment variables reference

  • ORACLE_HOME: /opt/oracle/client
  • ORACLE_BASE: /opt/oracle
  • TNS_ADMIN: /opt/oracle/client/network/admin

These are set automatically for ec2-user through /etc/profile.d/oracle-client.sh.

Filesystem layout

  • /opt/oracle/client: Oracle Client ORACLE_HOME
  • /opt/oracle/oraInventory: Oracle Universal Installer inventory
  • /opt/oracle/client/network/admin/tnsnames.ora: TNS alias configuration
  • /opt/oracle/client/network/admin/sqlnet.ora: Oracle Net client settings
  • /home/oracle/setEnv.sh: source file for the oracle user's environment variables

On startup

A first-boot OS update script runs once on first launch to apply the latest security patches. It removes itself after it completes successfully. To check for it, run:

sudo crontab -l

To disable it, run:

sudo crontab -l | grep -v initial_boot_update | sudo crontab - sudo rm -f /stage/scripts/initial_boot_update.sh

Troubleshooting

Cannot connect via SSH

  • Verify that the instance has passed both EC2 status checks (2/2).
  • Confirm that your security group allows inbound TCP port 22 from your IP.
  • Make sure you are connecting as ec2-user with the correct key pair.

SQL*Plus cannot connect: ORA-12541, TNS no listener

The Oracle listener on the target database is not running. Contact the database administrator.

SQL*Plus cannot connect: ORA-12514, TNS listener does not know of service

The service name in your connection string does not match the target database. Confirm the correct service name with the database administrator.

SQL*Plus cannot connect: ORA-12170, TNS connect timeout

  • Verify that the target database hostname and port are reachable: telnet your-db-hostname 1521
  • Check that the database server's security group or firewall allows inbound port 1521 from this EC2 instance.

Back to all Oracle Database Client versions

Deploy on AWS

Launch Oracle Database Client with 24/7 support from SecureAnyCloud.

View on Marketplace

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on AWS