Oracle EBS 12.2 File System, Log File Locations and Control Scripts
A lookup of where things live in an Oracle EBS 12.2 installation: the environment variables, the log files admins search for every week and the control scripts that start and stop each tier. Each row shows the 12.1 equivalent for teams that support both.
| Item | Group | Value or path pattern | What it is for | 12.1 equivalent |
|---|---|---|---|---|
EBSapps.env | Environment variable | . <EBS_BASE>/EBSapps.env run (or patch) | Sets the environment for the run or the patch file system | APPS<CONTEXT_NAME>.env under the APPL_TOP |
RUN_BASE | Environment variable | <EBS_BASE>/fs1 or fs2, whichever is currently run | Root of the run file system; switches at each cutover | None (single file system) |
PATCH_BASE | Environment variable | <EBS_BASE>/fs2 or fs1, the other one | Root of the patch file system that adop patches | None |
NE_BASE | Environment variable | <EBS_BASE>/fs_ne | Non-editioned file system shared by both editions: concurrent logs and output, adop logs | None |
FILE_EDITION | Environment variable | run or patch | Tells you which file system the current shell is set for; check before editing any file | None |
APPL_TOP | Environment variable | $RUN_BASE/EBSapps/appl | Product tops ($ONT_TOP, $PO_TOP, custom tops) | <base>/apps/apps_st/appl |
COMMON_TOP | Environment variable | $RUN_BASE/EBSapps/comn | Java classes, HTML, shared utilities | <base>/apps/apps_st/comn |
ORACLE_HOME (apps tier) | Environment variable | $RUN_BASE/EBSapps/10.1.2 | Forms and Reports 10.1.2 tools home | <base>/apps/tech_st/10.1.2 |
FMW_HOME | Environment variable | $RUN_BASE/FMW_Home | Fusion Middleware home: WebLogic Server, web tier, oracle_common | None; 12.1 used OC4J in the 10.1.3 home |
IAS_ORACLE_HOME | Environment variable | $FMW_HOME/webtier | Oracle HTTP Server and OPMN web tier home | <base>/apps/tech_st/10.1.3 |
EBS_DOMAIN_HOME | Environment variable | $FMW_HOME/user_projects/domains/<EBS domain name> | WebLogic domain: AdminServer, oacore, forms, oafm managed servers | None |
INST_TOP | Environment variable | $RUN_BASE/inst/apps/<CONTEXT_NAME> | Instance-specific configuration, scripts and logs | <base>/inst/apps/<CONTEXT_NAME> |
ADMIN_SCRIPTS_HOME | Environment variable | $INST_TOP/admin/scripts | Apps tier start/stop and AutoConfig scripts | Same, $INST_TOP/admin/scripts |
CONTEXT_FILE | Environment variable | $INST_TOP/appl/admin/<CONTEXT_NAME>.xml | Applications context file; AutoConfig regenerates configuration from it | Same location under 12.1 INST_TOP |
APPLCSF | Environment variable | Typically $NE_BASE/inst/<CONTEXT_NAME>/logs/appl/conc | Top for concurrent request log and output files; on fs_ne so logs survive cutover | $INST_TOP/logs/appl/conc |
APPLLOG / APPLOUT | Environment variable | log / out (subdirectories under $APPLCSF) | Concurrent log and output subdirectory names | Same |
APPLTMP / APPLPTMP | Environment variable | Instance temp directory / a directory the database can write to | Temporary files for programs; APPLPTMP must match a directory usable by PL/SQL file I/O on the DB server | Same variables |
Concurrent request log | Log location | $APPLCSF/$APPLLOG/l<request_id>.req | Log of one concurrent request | Same pattern under 12.1 APPLCSF |
Concurrent request output | Log location | $APPLCSF/$APPLOUT/o<request_id>.out (default naming) | Output of one concurrent request | Same |
Internal Concurrent Manager log | Log location | $APPLCSF/$APPLLOG/<SID>_MMDD.mgr | ICM log; first place to look when managers will not start | Same |
Workflow mailer log | Log location | $APPLCSF/$APPLLOG/FNDCPGSC<process_id>.txt | Log of the Workflow Mailer and agent listener service process | Same |
adop logs | Log location | $NE_BASE/EBSapps/log/adop/<session_id>/ | Logs for every adop phase, per session and node | None; adpatch logs in $APPL_TOP/admin/<SID>/log |
AutoConfig logs | Log location | $INST_TOP/admin/log/<MMDDhhmm>/ | adconfig.log and related files for each AutoConfig run | Same pattern |
WebLogic managed server logs | Log location | $EBS_DOMAIN_HOME/servers/<oacore_server1 | forms_server1 | oafm_server1 | AdminServer>/logs/ | <server>.log and <server>.out; oacore logs for OA Framework page errors | OC4J logs under $INST_TOP/logs/ora/10.1.3/j2ee |
Oracle HTTP Server logs | Log location | $IAS_ORACLE_HOME/instances/<instance>/diagnostics/logs/OHS/<component>/ | Access and error logs for the web listener | $INST_TOP/logs/ora/10.1.3/Apache |
Startup script logs | Log location | $INST_TOP/logs/appl/admin/log/ | Logs written by adstrtal.sh, adstpall.sh and the individual control scripts | Same |
adstrtal.sh | Control script | $ADMIN_SCRIPTS_HOME/adstrtal.sh apps/<apps_pwd> | Start all apps tier services; in 12.2 also prompts for the WebLogic admin password | Same script, no WebLogic password |
adstpall.sh | Control script | $ADMIN_SCRIPTS_HOME/adstpall.sh apps/<apps_pwd> | Stop all apps tier services | Same |
adadminsrvctl.sh | Control script | $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh start | stop | status | Start or stop the WebLogic AdminServer | None |
adnodemgrctl.sh | Control script | $ADMIN_SCRIPTS_HOME/adnodemgrctl.sh start | stop | status | Start or stop the WebLogic Node Manager | None |
admanagedsrvctl.sh | Control script | $ADMIN_SCRIPTS_HOME/admanagedsrvctl.sh start oacore_server1 | Start or stop one managed server (oacore_server1, forms_server1, oafm_server1 and others) | adoacorectl.sh, adformsctl.sh, adoafmctl.sh |
adopmnctl.sh | Control script | $ADMIN_SCRIPTS_HOME/adopmnctl.sh start | stop | status | Start or stop OPMN for the web tier | Same script name |
adapcctl.sh | Control script | $ADMIN_SCRIPTS_HOME/adapcctl.sh start | stop | status | Start or stop Oracle HTTP Server | Same |
adcmctl.sh | Control script | $ADMIN_SCRIPTS_HOME/adcmctl.sh start | stop apps/<apps_pwd> | Start or stop the concurrent managers (ICM) | Same |
adalnctl.sh | Control script | $ADMIN_SCRIPTS_HOME/adalnctl.sh start | stop | Applications TNS listener (APPS_<SID>) used for FNDFS report and log viewing | Same |
jtffmctl.sh | Control script | $ADMIN_SCRIPTS_HOME/jtffmctl.sh start | stop | Fulfillment Server | Same |
adautocfg.sh (apps tier) | Control script | $ADMIN_SCRIPTS_HOME/adautocfg.sh | Run AutoConfig on the run file system apps tier | Same |
addbctl.sh | Control script | $ORACLE_HOME/appsutil/scripts/<CONTEXT_NAME>/addbctl.sh start | stop [immediate] | Start or stop the database on the DB tier | Same |
addlnctl.sh | Control script | $ORACLE_HOME/appsutil/scripts/<CONTEXT_NAME>/addlnctl.sh start | stop <SID> | Start or stop the database TNS listener | Same |
adautocfg.sh (DB tier) | Control script | $ORACLE_HOME/appsutil/scripts/<CONTEXT_NAME>/adautocfg.sh | Run AutoConfig on the database tier | Same |
adpreclone.pl | Control script | DB tier: perl adpreclone.pl dbTier (in the DB scripts directory); apps tier: perl adpreclone.pl appsTier (in $ADMIN_SCRIPTS_HOME) | Prepare a tier for Rapid Clone | Same commands |
Scope: EBS 12.2 on Linux/UNIX with 12.1 equivalents. Exact base paths are chosen at install time and some names (for example the WebLogic domain directory and OHS instance names) differ by AD-TXK code level; echo the variable on your own system to confirm.
Runbook check for your 12.2 instance
Send us your node layout and AD-TXK level. We will return a start/stop and log-location runbook matched to your installation.
Optional. The tool and every export work without this. No spam.
Run versus patch file system
EBS 12.2 has two complete copies of the apps tier code, fs1 and fs2, plus a non-editioned fs_ne. At any time one copy is the run file system (users connect to it) and the other is the patch file system (adop applies patches to it). Cutover swaps them, so RUN_BASE can be fs1 today and fs2 tomorrow. Always source the environment with EBSapps.env run for normal administration and check $FILE_EDITION before editing anything. Files that must survive a cutover, such as concurrent request logs and output and adop logs, live on fs_ne under $NE_BASE. Customisations copied only to the run file system are lost at the next cutover unless they are registered with adop's custom synchronisation driver, which is the most common surprise for teams new to 12.2.
Finding a request's log by SQL
The concurrent manager records the exact path of each file, so you do not need to guess: SELECT request_id, phase_code, status_code, logfile_name, logfile_node_name, outfile_name, outfile_node_name FROM fnd_concurrent_requests WHERE request_id = 1234567. LOGFILE_NAME and OUTFILE_NAME are full paths, and the node columns tell you which apps node to log on to in a multi-node install. For a manager rather than a request, query FND_CONCURRENT_PROCESSES.LOGFILE_NAME for the manager process, or look for the ICM's <SID>_MMDD.mgr file in $APPLCSF/$APPLLOG. The workflow mailer runs under the Workflow Mailer Service manager, so its FNDCPGSC log appears in the same directory.
- Request log: l<request_id>.req
- Request output: o<request_id>.out
- Manager log: FND_CONCURRENT_PROCESSES.LOGFILE_NAME
Start and stop order
Start the database tier first, then the apps tier; stop in reverse. On the DB node: addlnctl.sh start <SID> for the listener, then addbctl.sh start for the database. On each apps node: source EBSapps.env run and run adstrtal.sh, which in 12.2 starts Node Manager, the AdminServer (on the primary node), OPMN and OHS, the managed servers, the Applications listener and the concurrent managers, prompting for the APPS and WebLogic admin passwords. To stop, run adstpall.sh on every apps node, then addbctl.sh stop immediate and addlnctl.sh stop <SID> on the DB node. Use the individual scripts (admanagedsrvctl.sh, adcmctl.sh) only when you need to bounce one service, and check $INST_TOP/logs/appl/admin/log when a service does not come up.
Gotchas
Do not run AutoConfig on the patch file system outside an adop cycle, and do not edit context-driven configuration files by hand on either file system; change the context file through the supported tools and let AutoConfig regenerate. In a multi-node install the AdminServer runs only on the primary node, so adadminsrvctl.sh on other nodes does nothing useful. The WebLogic domain directory and OHS instance names have changed with AD-TXK code levels, so echo $EBS_DOMAIN_HOME rather than typing a path from an old note. Keep fs_ne clean: concurrent output and adop session logs accumulate there and a full fs_ne stops both concurrent processing and patching. Purge old requests with Purge Concurrent Request and/or Manager Data (FNDCPPUR).
Frequently Asked Questions
What is the file system layout in Oracle EBS 12.2?
Under the EBS base there are fs1 and fs2, two editions of the apps tier code (one run, one patch), and fs_ne for non-editioned files. Each of fs1 and fs2 contains EBSapps (APPL_TOP, COMMON_TOP, 10.1.2 home), FMW_Home (WebLogic and web tier) and inst (INST_TOP). The database tier has its own Oracle Home with appsutil.
Where is the concurrent request log file in EBS 12.2?
In $APPLCSF/$APPLLOG, named l<request_id>.req, with output in $APPLCSF/$APPLOUT as o<request_id>.out. In 12.2 APPLCSF normally points to the non-editioned file system so logs survive cutover. The definitive path is FND_CONCURRENT_REQUESTS.LOGFILE_NAME for that request, with LOGFILE_NODE_NAME telling you which node holds it.
Where is the workflow mailer log?
The Workflow Notification Mailer runs inside the Workflow Mailer Service (a service manager), and its log is FNDCPGSC<process_id>.txt in $APPLCSF/$APPLLOG. Find the current one with ls -lrt FNDCPGSC*.txt or from the service's process in FND_CONCURRENT_PROCESSES. Raise the mailer's log level in Workflow Manager when diagnosing delivery problems, and reset it afterwards.
How do I start the listener and database in EBS 12.2?
On the database node, as the database OS user, run $ORACLE_HOME/appsutil/scripts/<CONTEXT_NAME>/addlnctl.sh start <SID> for the TNS listener and addbctl.sh start for the database. Then start the apps tier with adstrtal.sh. The apps tier Applications listener (adalnctl.sh) is a separate listener for FNDFS and starts with adstrtal.sh.
If you want your DBAs to ask in plain English which requests failed overnight and see the matching log lines, we can set up a private assistant on your own EBS servers.
Related Tools
Oracle EBS 12.2 adop Phases and Options Reference
Every adop phase, apply mode and common option in EBS 12.2 online patching, with example commands, whether it needs downtime and the traps to avoid.
OracleOracle EBS Application Object Library (FND) Tables Reference
The AOL FND_ tables for applications, users, responsibilities, menus, functions, concurrent processing, messages and profiles in EBS 12.1/12.2.
OracleOracle EBS Workflow Tables Reference (WF_ITEMS, WF_NOTIFICATIONS)
The Oracle Workflow runtime, definition, directory and queue tables in EBS 12.1/12.2, with the columns you query to find errored and stuck items.
OracleOracle EBS Rapid Clone Checklist
Step-by-step checklist for cloning an EBS instance with Rapid Clone, including the post-clone scrubbing that protects production data and integrations.
OracleOracle EBS Concurrent Managers and Settings Reference
What each standard concurrent manager and service does, and what the main tuning settings mean, in one searchable table.
More Oracle tools
See all- Oracle EBS Inventory Tables Reference
- Oracle EBS WIP Tables Reference
- Oracle EBS Cycle Count Workload Calculator
- Oracle EBS Discrete Manufacturing Go-Live Checklist
- Oracle EBS Inventory Accuracy Readiness Assessment
- Oracle EBS Concurrent Request Phase and Status Reference
- Oracle EBS Responsibility Design Worksheet
- Oracle EBS GL Period Close Checklist
- Oracle EBS AP Invoice Interface Template
Keep exploring
Free tools
- Oracle EBS 12.2 AI Assistant Sizing and Value CalculatorEstimate peak load, GPUs, index size, hours saved and payback for an on-prem AI assistant on Oracle EBS 12.2.
- Oracle EBS 12.2 Private AI Layer Blueprint GeneratorFill in your Oracle EBS 12.2 version, database, hosting and users to get a shareable architecture plan for a private, on-prem AI assistant.
- Oracle EBS 12.2 Upgrade Readiness ChecklistCheck whether your EBS environment, custom code and team are ready to move to Release 12.2 and what to settle before the project starts.
ERP fixes and how-tos
- How to Add a Private AI Layer to Oracle EBS 12.2 On-PremReference architecture for a private AI layer on Oracle EBS 12.2: Active Data Guard replica, ISG REST, MO and responsibility security, local GPUs and audit.
- Oracle EBS 12.2: stay on-prem or move to Fusion in 2026How CIOs on Oracle E-Business Suite 12.2 should weigh staying on-prem against migrating to Oracle Fusion Cloud ERP, with support dates and a practical decision path.
- How the adop Patching Cycle Works in Oracle EBS 12.2How the adop online patching cycle works in Oracle EBS 12.2: prepare, apply, finalize, cutover and cleanup phases across the dual fs1/fs2 file system.
Runs with your ERP
- Esker Order Management and Oracle E-Business SuiteHow Esker captures customer POs from email, fax and PDF and creates sales orders in Oracle EBS: integration, data flows, setup, pitfalls and a private AI layer.
- Cloud Inventory (DSI) with Oracle E-Business Suite: Mobile Barcode InventoryCloud Inventory, formerly DSI, adds offline mobile barcode inventory to Oracle E-Business Suite and JD Edwards. Data flows, setup steps, pitfalls and AI notes.
- BarTender and Oracle E-Business Suite: Label Printing from OracleHow BarTender prints labels from Oracle EBS using Oracle XML print requests and Integration Builder: methods, data flows, setup steps, pitfalls and AI help.
AI on your ERP
- AI for Oracle E-Business Suite, Without Leaving On-PremHosting Oracle EBS 12.2 on-prem or in a private cloud? Add a private LLM over concurrent programs, interface tables and AP/PO data without moving to Fusion.
- AI for Oracle E-Business Suite Procure to Pay, From Requisition to PaymentAdd grounded AI to Oracle E-Business Suite procure to pay: requisitions, POs, receiving and Payables invoices, with on-prem models and read-only access.
Integrations
- How to add WhatsApp to Oracle E-Business SuiteHow to connect WhatsApp Business to Oracle E-Business Suite 12.1 and 12.2: ISG REST, Workflow business events, template messages and two-way replies into EBS.
- How to add Slack alerts and approvals to Oracle E-Business SuiteConnect Slack to Oracle E-Business Suite for alerts, slash commands and interactive approvals using Workflow events, Oracle Alert and ISG, without exposing EBS.