Operating Oracle
E-Business Suite on Oracle Cloud Infrastructure
Deployment,
Listener Remediation, Lifecycle Management, and Secure Access for a
Private-Subnet Environment
Technical White
Paper | Oracle E-Business Suite Release 12.2 and Oracle Database 19c
Executive Summary
This white paper presents a repeatable operating model for
an Oracle E-Business Suite environment provisioned on Oracle Cloud
Infrastructure (OCI). It converts an observed deployment and troubleshooting
exercise into a controlled procedure for environment discovery, database and
application-tier startup, listener registration, orderly shutdown, service
validation, and secure browser access. The reference implementation uses an
Oracle Database 19c container database, an Oracle E-Business Suite Release 12.2
application tier, Enterprise Command Center (ECC) services, and a compute
instance placed in a private subnet.
The central operational finding is that a successful
database startup does not guarantee application availability. Name resolution,
listener endpoint configuration, dynamic service registration, application
environment ownership, middleware dependencies, and network reachability must
all be validated as one service chain. The procedure described here emphasizes
controlled sequencing, evidence-based validation, and configuration changes
that remain supportable through AutoConfig.
1. Purpose and Scope
This document is intended for Oracle E-Business Suite
administrators, database administrators, cloud engineers, and support teams
responsible for a single-node or compact demonstration environment on OCI. It
addresses the following operational outcomes:
·
Identify and source the correct Oracle
E-Business Suite environment.
·
Start the database tier and resolve listener
startup failures caused by hostname resolution.
·
Verify dynamic database-service registration
with the listener.
·
Start the application tier and its middleware
dependencies in a controlled sequence.
·
Stop the environment without creating avoidable
recovery or consistency risks.
·
Provide secure access to an application hosted
in a private subnet.
·
Establish validation checkpoints, log locations,
and operational safeguards.
2. Reference Architecture and Environment
|
Table 1. Reference implementation |
||
|
Component |
Reference
value |
Operational
role |
|
Cloud
platform |
Oracle
Cloud Infrastructure |
Compute,
networking, identity, and controlled access |
|
Application |
Oracle
E-Business Suite Release 12.2 |
Application
services, concurrent processing, Forms, OAF, and HTTP services |
|
Database |
Oracle
Database 19c Enterprise Edition, CDB SID ebscdb |
Persistent
EBS data and service registration |
|
Oracle home |
/u01/install/APPS/19.0.0 |
Database
binaries, network configuration, and diagnostics |
|
Application
root |
/u01/install/APPS |
EBS
environment and lifecycle scripts |
|
Network
placement |
Private
subnet |
Reduces
direct internet exposure; requires an approved access path |
|
Listener |
ebscdb on
TCP port 1521 |
Database
connectivity and service discovery |
The architecture should separate administrative access,
application ingress, and database connectivity. For production, use distinct
subnets and narrowly scoped security rules. A public load balancer can provide
controlled HTTPS ingress to private application nodes, while OCI Bastion,
corporate VPN, or FastConnect can provide administrative access without
assigning public IP addresses to the EBS compute instance.
3. Deployment and Environment Discovery
Provision the EBS image through the approved OCI Marketplace
or Oracle E-Business Suite Cloud Manager workflow. Confirm compartment, VCN,
subnet, compute shape, storage, identity policies, and load balancer
requirements before deployment.
Please follow below scrrenshot
Click on next and leave it default
Here I have pre-created a private subnet so that instance is
not available from internet.Idea here is we will access through another compute
instance which is in public subnet
Below step we are generating a private/public key pair for
ssh login and transfer those file or copy the contents of those key to store
the private/public key.
We can attach block volume later.For now just click next
Finally review and click on create.
Now login to your oci vm which can be accessed from your
computer/laptop.Copy the public and private key in /root/.ssh folder and access
like below
ssh -i /root /.ssh/<privatekey file> opc@<privateip
of ebs compute instance>
After the instance is
available, sign in as the oracle operating-system account and locate the
environment file:
find / -name "EBSapps.env"
2>/dev/null
/u01/install/APPS/EBSapps.env
Record the detected path, ownership, permissions, context
name, database SID, hostname, and active run file system. Use the supplied
wrapper scripts under /u01/install/APPS/scripts when available, because
they encode environment-specific sequencing and may run AutoConfig or ECC
lifecycle actions in addition to the standard EBS service scripts.
Under /u01/install/APPS/scripts we can see startdb.sh
Just execute ./startdb.sh
Database instance started successfully but listener failed
to start with below error
Starting /u01/install/APPS/19.0.0/bin/tnslsnr: please
wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is
/u01/install/APPS/19.0.0/network/admin/listener.ora
Log messages written to
/u01/install/APPS/19.0.0/log/diag/tnslsnr/ebsdemo1/ebscdb/alert/log.xml
Error listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=apps.example.com)(PORT=1521)))
TNS-12545: Connect failed because
target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Listener failed to start. See the error message(s) above...
adcdblnctl.sh: exiting with status 1
adcdblnctl.sh: check the logfile
/u01/install/APPS/19.0.0/appsutil/log/ebsdb_apps/adcdblnctl.txt for more
information ...
4. Listener Failure Analysis and Remediation
4.1 Observed symptom
The database wrapper started the CDB successfully, but the
listener failed while binding to the configured host apps.example.com.
The diagnostic chain was TNS-12545, TNS-12560, and TNS-00515. This indicates
that the listener host value could not be resolved or mapped to a local
interface; it is not evidence of a database startup failure.
4.2 Root cause
The provisioned listener configuration referenced a logical
application hostname that was not resolvable from the host. Oracle Net
therefore could not bind the listener endpoint. The database still opened
because instance startup and listener startup are separate operations.
4.3 Corrective action
1. Determine
the private IP address and fully qualified domain name assigned to the OCI
compute instance.
2. Ensure
forward resolution for the configured listener hostname. In a short-lived
demonstration environment, add a controlled /etc/hosts entry; in a
managed environment, use authoritative private DNS.
3. Validate
resolution with getent hosts and, where permitted, ping.
4. Source
the database environment and start the listener.
5. Validate
the listener endpoint and service registration.
6. Make
permanent hostname or listener changes through the relevant EBS context file
and AutoConfig rather than relying on undocumented manual edits.
<private-ip>
******.dbsubnet.rootvcn.oraclevcn.com ***** apps.example.com apps
getent hosts apps.example.com
export ORACLE_HOME=/u01/install/APPS/19.0.0
export ORACLE_SID=ebscdb
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
$ORACLE_HOME/bin/lsnrctl start ebscdb
4.4 Dynamic service registration
A running listener may initially report The listener
supports no services. This means the listener process is reachable, but the
database has not registered its services against that endpoint. Validate the LOCAL_LISTENER
value and force registration after making a supported change:
ALTER SYSTEM SET local_listener='
(ADDRESS=(PROTOCOL=TCP)
(HOST=******.dbsubnet.rootvcn.oraclevcn.com)
(PORT=1521))' SCOPE=BOTH;
ALTER SYSTEM REGISTER;
Then run lsnrctl status ebscdb and confirm that the
expected database and pluggable-database services appear. Treat a manual ALTER
SYSTEM statement as an immediate remediation only; reconcile the
corresponding EBS context variable and run database-tier AutoConfig so that
future configuration regeneration does not reverse the change.
5. Controlled Startup Procedure
The startup sequence establishes dependencies from the data
layer upward. Perform each stage as the oracle account and stop if a
mandatory validation fails.
|
Table 2. Startup sequence and checkpoints |
||
|
Stage |
Command
or action |
Required
evidence |
|
1.
Environment |
cd
/u01/install/APPS/scripts |
Correct
host, owner, context, and filesystem confirmed |
|
2. Database
tier |
./startdb.sh |
Database
opened; listener running; expected services registered |
|
3.
Application tier |
./startapps.sh |
AutoConfig,
EBS application services, and enabled node services complete with status 0 |
|
4.
Middleware |
Review
wrapper output |
Node
Manager, AdminServer, OHS, APPS listener, Forms, OAFM, OACORE, and concurrent
manager are running |
|
5. ECC |
Review
wrapper output |
ECC
AdminServer, ZooKeeper, and eccManaged start successfully if configured |
|
6.
Functional validation |
Open
approved application URL and submit a lightweight request |
Login page
responds, authentication succeeds, and background processing is operational |
cd /u01/install/APPS/scripts
./startdb.sh
./startapps.sh
If the application wrapper reports that the environment must
be sourced from apps, do not bypass the message by manually mixing
database and application variables. Confirm the script's expected account and
environment file, then rerun it with the correct application-tier context.
6. Controlled Shutdown Procedure
Shutdown reverses the dependency chain. Stop the application
tier first so it no longer creates database sessions or submits work, then stop
the database tier. Allow sufficient time for concurrent managers and WebLogic
managed servers to exit cleanly. Use abort-style termination only when the
standard shutdown path cannot complete and the operational risk has been
accepted.
cd /u01/install/APPS/scripts
./stopapps.sh
./stopdb.sh
Note: The original notes showed a wrapper name
resembling stopsapps.sh. Verify the exact installed filename with ls
-l /u01/install/APPS/scripts and use the vendor-provided local wrapper. Do
not create a substitute solely to match this paper.
|
Table 3. Shutdown acceptance criteria |
|
|
Component
group |
Acceptance
criterion |
|
Application
web and middleware |
OHS, OPMN,
managed servers, AdminServer, Node Manager, and APPS listener are stopped |
|
Business
processing |
Concurrent
managers and Fulfillment Server are stopped without unreviewed errors |
|
ECC |
eccManaged,
ZooKeeper, ECC AdminServer, and Derby services are stopped when configured |
|
Database |
Database is
closed and dismounted; instance and listener exit successfully |
|
Logging |
All wrapper
and component logs are retained for the change record |
7. Validation and Health Checks
·
Name resolution: The configured listener
and application hostnames resolve to the intended private address.
·
Database: CDB and required PDBs are open
in the expected mode.
·
Listener: The endpoint listens on the
intended hostname and port, and required database services are visible.
·
Application services: All enabled
services for the node report running.
·
HTTP path: The login URL is reachable
only through the approved network path.
·
Functional test: An authorized user can
authenticate and a lightweight concurrent request completes.
·
Diagnostics: Startup, shutdown,
AutoConfig, listener, and managed-server logs contain no unexplained fatal
errors.
8. Secure Access for a Private-Subnet
Deployment
Adding an entry to a workstation hosts file changes name
resolution only; it does not create a network route to a private OCI address.
The preferred production pattern is an OCI load balancer that terminates TLS
and forwards only the required application port to private application nodes.
Administrative access should use OCI Bastion or a corporate connection such as
IPSec VPN or FastConnect. A temporary SSH port-forwarding session may be
appropriate for controlled testing, but it should not become the normal
end-user access mechanism.
·
Use TLS for user-facing application traffic and
avoid exposing native application or database ports to the internet.
·
Restrict security-list or network-security-group
ingress to approved source CIDRs and required ports.
·
Use OCI IAM policies and time-limited bastion
sessions for administrative access.
·
Retain the EBS compute and database tiers in
private subnets wherever operationally feasible.
·
Use private DNS for stable service names instead
of unmanaged host-file aliases.
·
Review the observed ECC WLST warning and migrate
administrative connections from insecure T3 to an approved secure channel where
supported.
9. Operational Recommendations
1. Standardize
configuration: Maintain host, port, and service values in the EBS context
files and regenerate derived configuration through AutoConfig.
2. Automate
health checks: Build a non-destructive status script that checks the
database, listener, OPMN/OHS, Node Manager, APPS listener, concurrent manager,
AdminServer, and managed servers.
3. Protect
credentials: Do not place APPS, WebLogic, or database passwords in command
histories, scripts, or shared logs.
4. Formalize
lifecycle automation: Add explicit prechecks, postchecks, timeouts,
return-code handling, and change-record evidence to startup and shutdown
wrappers.
5. Monitor
configuration drift: Compare listener, database, and application context
values after patching, cloning, or hostname changes.
6. Test
recovery paths: Periodically validate backup, restore, and controlled
restart procedures in a non-production environment.
7. Separate
availability from process state: A running process is not sufficient;
monitor URL response, authentication, service registration, and representative
business processing.
12. Conclusion
Operating Oracle E-Business Suite on OCI requires
coordinated management across DNS, Oracle Net, database registration,
AutoConfig, WebLogic, application services, and cloud networking. The incident
examined in this paper demonstrates why lifecycle scripts must be paired with
explicit validation: the database opened even though the listener failed, and
the listener later ran before database services were registered. A disciplined
dependency sequence, supported configuration management, secure private-subnet
access, and evidence-driven health checks turn this type of deployment from an
ad hoc installation into a maintainable operational platform.