Oracle Database Client 21c
Overview
Oracle Database Client 21c provides the tools and libraries you need to connect to and manage remote Oracle 21c and earlier database instances. It includes SQL*Plus, Oracle Net and other client utilities, without requiring a full database installation. This guide covers deploying and configuring the SecureAnyCloud Oracle Database Client 21c AMI from AWS Marketplace on Linux.
What you get:
- Oracle Database Client 21c 21.3.0.0 installed at /u01
- A dedicated oracle OS user with an environment script (setEnv.sh)
- SQL*Plus for connecting to remote Oracle databases
- 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 Client 21c listing on AWS Marketplace
- 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.small (2 vCPU, 2 GB RAM) or larger. The minimum requirements are 1 vCPU, 1 GB RAM and 20 GB disk space.
Launch the AMI
- Go to AWS Marketplace and search for "Oracle Database Client 21c 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 the instance configuration.
- Select your instance type (
t3.smallis recommended). - 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.
Connect via 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>To switch to the root user, run:
sudo su -Important: Wait for the EC2 instance to reach 2/2 successful status checks before you connect. Early connection attempts can return permission denied errors while the instance is still initialising.
Switch to the Oracle User and Set Environment
The dedicated oracle OS user owns the Oracle Client software. Switch to this user and source the environment. Type these commands rather than pasting them:
sudo su - oracle cd $HOME . ./setEnv.shThe setEnv.sh script sets the Oracle environment variables that utilities such as sqlplus need.
Configure tnsnames.ora
Before you connect to a remote Oracle database, create a tnsnames.ora configuration file. Run these commands as the oracle user, and replace the sample values with your target database details:
cd $HOME . ./setEnv.sh echo 'MY_DATABASE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = YOUR_DB_HOSTNAME)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = YOUR_SERVICE_NAME) ) ) ' > "$ORACLE_HOME/network/admin/tnsnames.ora"Replace these values:
- YOUR_DB_HOSTNAME with the IP address or DNS name of your Oracle Database server
- 1521 with the port number, if it differs from the default
- YOUR_SERVICE_NAME with the service name of the target database
Connect to a Remote Database via SQL*Plus
Set the Oracle environment variables, then connect to your remote database:
cd $HOME . ./setEnv.sh sqlplus 'system/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=your-db-host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=your-service-name)))'Replace system, password, your-db-host and your-service-name with your own database connection details. The output looks like this:
SQL*Plus: Release 21.3.0.0.0 Production Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database ... SQL>Type EXIT to leave the SQL*Plus session.
Server Components
- Oracle Client 21c: version 21.3.0.0, installed at /u01
Note: The automatic OS package update script can update component versions on first boot.
Filesystem Layout
- / (38 GB): root filesystem
- /boot (2.0 GB): operating system kernel files
- /u01 (20 GB): Oracle software installation directory
Key Oracle directories:
- /u01/app/oracle: Oracle base directory
- /u01/app/oracle/product: Oracle Client software home
- $ORACLE_HOME/network/admin: TNS configuration files (tnsnames.ora, sqlnet.ora)
Managing the Oracle Client
The Oracle Client is a set of tools and libraries, not a running service, so there are no services to start or stop. To use the client tools, switch to the oracle user and source the environment:
sudo su - oracle cd $HOME . ./setEnv.shScripts and Log Files
- initial_boot_update.sh in /stage/scripts: updates the OS with the latest packages on first boot
- initial_boot_update.log in /stage/scripts: output log for the boot update script
setEnv.shin /home/oracle: sets the Oracle environment variables for sqlplus and other tools
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.shTroubleshooting
Cannot connect via 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 use the correct key pair and connect as
ec2-user.
SQL*Plus cannot connect to the remote database
- Verify that the target database is running and accepting connections.
- Check that the hostname, port and service name are correct.
- Make sure the security group of the target database allows inbound port 1521 from this client instance.
- Test network connectivity with
telnet <db-host> 1521. - Verify that tnsnames.ora is configured correctly at
$ORACLE_HOME/network/admin/tnsnames.ora.
ORA-12541: TNS:no listener
- The target database listener is not running. Contact the database administrator.
- Verify that the hostname and port in your connection string are correct.
ORA-12514: TNS:listener does not currently 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.
Security notes
- Restrict SSH access. Allow port 22 only from trusted IP addresses.
- Secure credentials. Never store database passwords in plain text files.
- Use Oracle Wallet. Configure Oracle Wallet for secure credential storage.
- Encrypt connections. Configure Oracle Net Services to use SSL/TLS encryption.
- Limit OS access. Restrict SSH access to authorised administrators only.
- Keep the system updated. Apply OS security patches regularly.
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 guaranteed 24-hour response SLA
Deploy on AWS
Launch Oracle Database Client 21c with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com