Deployment guide

Oracle DB Client 12.1

Overview

Oracle Database Client provides the tools and libraries you need to connect to and manage remote Oracle Database instances, without installing a full database server. This guide covers Oracle Database Client 12.1 (12.1.0.2.0) on Oracle Linux 8, one variant of the SecureAnyCloud Oracle Database Client listing. For a different client version, return to all Oracle Database Client versions.

What you get:

  • Oracle Database Client (Administrator install) preconfigured at /u01/app/oracle/product/12.1.0/client_1
  • SQL*Plus, SQL*Loader (sqlldr), tnsping and Oracle Net (TNS/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 environment: sqlplus, sqlldr and tnsping work from any shell, and the Oracle environment variables are set on login via /etc/profile.d/oracle-client.sh
  • The bundled Oracle JDK replaced with a system-managed OpenJDK (eliminates CVE exposure)
  • A first-boot OS update sweep for the latest security patches
  • 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 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

  • Go to 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 12.1 on Oracle Linux 8 software version.
  • Click Continue to Launch, then choose Launch through EC2.
  • Select instance type t3.medium (recommended) or larger.
  • Configure storage with a minimum of 20 GB gp3.
  • Configure your Security Group with this inbound rule: port 22, protocol 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

/etc/profile.d/oracle-client.sh configures the Oracle environment automatically for all users. On login, it sets ORACLE_HOME, PATH and LD_LIBRARY_PATH. Confirm that the client works:

sqlplus -V

The output looks like this:

SQL*Plus: Release 18.0.0.0.0 - Production Version 12.1.0.2.0

Check that Oracle Net (the TNS layer) loads correctly:

tnsping invalid_alias

The output begins with:

TNS Ping Utility for Linux: Version 12.1.0.2.0

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

List the core OCI client libraries. The environment is set automatically on login:

ls "$ORACLE_HOME"/lib/libclntsh.so*
4

Configure tnsnames.ora

Add your remote database connection aliases to tnsnames.ora. The file is at /u01/app/oracle/product/12.1.0/client_1/network/admin/tnsnames.ora. Open it with any editor:

sudo vi $ORACLE_HOME/network/admin/tnsnames.ora

Add an entry in 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 port, if it uses a different port
  • 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 sample values with your own:

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

When you have configured a TNS alias, connect with it:

sqlplus username/password@MY_DATABASE

Type EXIT to leave the SQL*Plus session.

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: /u01/app/oracle/product/12.1.0/client_1
  • ORACLE_BASE: /u01/app/oracle
  • TNS_ADMIN: /u01/app/oracle/product/12.1.0/client_1/network/admin

/etc/profile.d/oracle-client.sh sets these automatically for ec2-user.

Filesystem layout

  • /u01/app/oracle/product/12.1.0/client_1: Oracle Client ORACLE_HOME
  • /u01/app/oraInventory: Oracle Universal Installer inventory
  • /u01/app/oracle/product/12.1.0/client_1/network/admin/tnsnames.ora: TNS alias configuration
  • /u01/app/oracle/product/12.1.0/client_1/network/admin/sqlnet.ora: Oracle Net client settings
  • /home/oracle/setEnv.sh: source file for the oracle user 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 connect 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. Verify 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 with 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