How to Add a Private AI Layer to Oracle EBS 12.2 On-Prem
how to add AI to Oracle EBS on-prem
Also searched as
- Oracle EBS 12.2 AI integration without cloud
- run an LLM on Oracle E-Business Suite data on-premises
- Oracle EBS chatbot using Integrated SOA Gateway
Short answer
Do not point a model at the production APPS schema. Read from an Active Data Guard or GoldenGate copy through a small tool server that applies Multi-Org and responsibility security, retrieve from FND attachments in a local index, and serve an open-weight model on your own GPUs. Any write goes through Integrated SOA Gateway or the standard open interfaces with a human approval step.
Applies to: Oracle E-Business Suite 12.2.x on Oracle Database 19c or 12.1 (12.2 is edition-based, so base tables sit behind editioning views); the same pattern works for 12.1.3 with differences noted below
Build order for an EBS private AI layer
- 1Stand up a read-only copy of the EBS database: Active Data Guard physical standby opened read-only, or GoldenGate to a reporting database. Never let the assistant connect to the production APPS schema.
- 2Create a dedicated read-only database account on that copy with SELECT on a curated list of views (for example items, onhand, POs, requisitions, jobs, GL balances) and no EXECUTE on arbitrary PL/SQL.
- 3Write a tool server (an MCP server or plain REST service) that exposes a handful of parameterised read tools, not free SQL. Each tool takes the calling user's EBS user name and derives allowed operating units and inventory orgs from the responsibility and MO security profile tables.
- 4Index attachments and documents: read FND_ATTACHED_DOCUMENTS and FND_DOCUMENTS to find files, extract text from FND_LOBS or the file system, chunk and embed them with a local embedding model, and store the ACL (entity, org, responsibility) with each chunk.
- 5Serve an open-weight model with vLLM or Ollama on local GPUs, behind the tool server. Disable outbound internet from the model host for the air-gapped option.
- 6Log every question, tool call, SQL text, row count and answer to an append-only audit table with the EBS user name.
- 7Add drafts first (a requisition or a PO change drafted as text), then approved actions that call ISG REST services or the open interface tables, never direct DML on base tables.
Where the data lives and how to reach it
EBS stores transactional data in Oracle Database schemas per product (INV, PO, AP, GL, ONT, WIP and so on), and the APPS schema holds synonyms and views over them. In 12.2 the application tier uses edition-based redefinition, so what APPS sees as a table is usually an editioning view over a base table whose name ends in a suffix like # (for example the underlying object behind a _ALL table). Query through APPS-level names, not the base objects. Multi-Org tables end in _ALL and carry ORG_ID; the unsuffixed names are secured views that depend on session context set by MO_GLOBAL.
Official integration points are, in rough order of preference for an AI tool server: read-only SQL against documented views on a replica, Integrated SOA Gateway (ISG) REST and SOAP services published from the Integration Repository, the open interface tables (for example MTL_TRANSACTIONS_INTERFACE, PO_HEADERS_INTERFACE, AP_INVOICES_INTERFACE) with their concurrent import programs, and the public PL/SQL APIs listed in the Integration Repository. Business Event System and Workflow are useful for triggers, such as indexing a document when an attachment is added.
-- Read-only tool: on-hand by inventory org (run on the replica)
SELECT msi.segment1 AS item,
msi.description,
moq.organization_id,
SUM(moq.transaction_quantity) AS onhand
FROM mtl_onhand_quantities_detail moq
JOIN mtl_system_items_b msi
ON msi.inventory_item_id = moq.inventory_item_id
AND msi.organization_id = moq.organization_id
WHERE moq.organization_id IN (:allowed_orgs)
AND msi.segment1 LIKE :item_prefix || '%'
GROUP BY msi.segment1, msi.description, moq.organization_id
FETCH FIRST 50 ROWS ONLY# ISG REST call shape (approved write path, after human approval)
POST https://ebs-host:4443/webservices/rest/<service_alias>/<operation>/
Authorization: Basic <service credential>
Content-Type: application/json
{ "<operation>_Input": {
"RESTHeader": { "Responsibility": "<RESP_KEY>", "RespApplication": "<APP_SHORT>",
"SecurityGroup": "STANDARD", "NLSLanguage": "AMERICAN", "Org_Id": "<org>" },
"InputParameters": { } } }Reference architecture
Production EBS ships redo to an Active Data Guard standby opened read-only. The AI stack lives next to that standby: a tool server, a vector index (pgvector, Qdrant or OpenSearch), an embedding model, and the generation model on one or more GPU nodes. The ERP production database sees only redo shipping, not AI queries. If licensing for Active Data Guard is not available, GoldenGate or a nightly Data Pump refresh into a reporting schema are the fallbacks, with the cost that answers are minutes to hours old.
For an air-gapped site the same components run with no route to the internet: model weights, container images and Python wheels are loaded from an internal mirror, and the only inbound path to the tool server is the corporate network or a jump host. Because the model never leaves the building, drawings, quality records and supplier pricing can be indexed without a third-party processing agreement.
Mirroring EBS security so the assistant never over-shares
EBS security is a combination of responsibilities (FND_USER, FND_USER_RESP_GROUPS_DIRECT, FND_RESPONSIBILITY), function and menu exclusions, the MO: Security Profile profile option for operating units, inventory organization access, and flexfield security rules on accounting segments. The tool server should resolve the asking user's EBS user name from your SSO (EBS can sit behind Oracle Access Manager or another SAML/OIDC provider), then compute the allowed ORG_IDs and organization IDs from those tables, and pass them as bind variables to every tool query.
The same ACL has to travel with indexed documents. Store the entity name and the owning org with each chunk and filter retrieval by the same allowed set before the model sees a single passage. Test with a restricted user and a super user and compare answers; this is the single most important acceptance test. Where you cannot express a rule (for example a complex flexfield security rule), exclude that data from the assistant rather than approximating it.
Sizing, phasing and honest limits
A mid-sized EBS site with 300 to 1,500 named users usually has a small number of daily active assistant users. A single node with one to two data-centre GPUs running a 30B to 70B-class quantised model typically covers that load, and a second node is added for availability rather than throughput. Index size is driven by attachments and PDFs, not by transactions: budget tens of gigabytes per million pages. Phase 1 is read-only questions on 5 to 10 tools over 6 to 10 weeks; phase 2 adds drafts; phase 3 adds approved actions through ISG or interface tables.
Limits: custom tables and heavily customised flexfield logic need hand-written views; Oracle Database licensing (Active Data Guard) is a real cost; and if all you need is a smarter report, BI Publisher or the vendor's own embedded features may be enough. Questions that need cross-module reasoning over unstructured notes are where a private assistant pays off. Free-form text to SQL against EBS is risky because of the secured views and edition context, so keep it to approved tools.
Try it here, free
Oracle EBS 12.2 Private AI Layer Blueprint Generator
Fill in your Oracle EBS 12.2 version, database, hosting and users to get a shareable architecture plan for a private, on-prem AI assistant.
Common pitfalls
- !Querying _ALL tables without an ORG_ID filter leaks other operating units. Always bind allowed orgs from the MO security profile.
- !Running the assistant against the production database. Heavy ad-hoc queries compete with concurrent managers and OM/WIP transactions.
- !Writing directly into base tables to save time. It bypasses validation, accounting and workflow, and breaks supportability. Use ISG, PL/SQL APIs or open interfaces.
- !Forgetting that the 12.2 online patching cycle changes the run edition. Keep the tool server on the APPS views and retest after each adop cycle.
- !Indexing attachments without carrying the entity and org ACL, so a user can retrieve a supplier contract chunk they could not open in the Attachments window.
How an ERP-grounded AI assistant handles this
ERPray connects to EBS through the read-only layer described here, shows the SQL or service call behind each answer, and applies the asking user's operating unit and responsibility scope. It can answer questions across items, orders, jobs and attached documents on your own hardware, and any proposed change is handed back as a draft for a person to approve in EBS.
Frequently asked questions
Can an LLM read EBS data without Integrated SOA Gateway?
Yes. Read-only SQL against documented views on a replica is often simpler and faster than web services for question answering. ISG is better for approved write actions, because it runs the standard business logic and validations rather than bypassing them.
Does this require Oracle Active Data Guard?
No, but it is the cleanest option for near-real-time reads. GoldenGate, a logical standby or a scheduled refresh into a reporting database also work, with older data. The key requirement is that the assistant never uses the production APPS schema.
Will this work on EBS 12.1.3?
The architecture is the same. 12.1.3 has no editioned objects, which simplifies SQL, but ISG REST support and database versions differ, so check the Integration Repository and your patch level before choosing the write path.
How do we keep ITAR or export-controlled data local?
Run the model, index and tool server inside your own network, with no outbound route, and restrict who can reach them. That lets your organisation apply its own export-control procedures; compliance remains your responsibility and depends on your policies.
Related
SQL to Find Responsibilities Assigned to a User in Oracle EBS
Join FND_USER to FND_USER_RESP_GROUPS on USER_ID, then to FND_RESPONSIBILITY_TL on RESPONSIBILITY_ID and APPLICATION_ID to get the responsibility name, filtering the END_DATE columns to show only currently active assignments. This is the standard query DBAs and support teams use instead of clicking through System Administrator > Security > User > Define for every user.
AdvancedHow the adop Patching Cycle Works in Oracle EBS 12.2
adop, AD Online Patching, applies patches to the offline patch edition of the file system while users keep working on the current run edition, then switches editions in a short cutover window. A standard cycle runs prepare, apply, finalize, cutover and cleanup, each invoked as its own adop phase= command.
CIO briefingOracle EBS 12.2: stay on-prem or move to Fusion in 2026
Oracle has committed to Premier Support for E-Business Suite 12.2 into the early 2030s, which is longer than many CIOs assume, so there is no forced 2027 cliff for EBS specifically (that date is commonly confused with SAP ECC's 2027 deadline). The real decision drivers for EBS customers are: how much the org depends on customizations that do not translate to Fusion's SaaS model, whether continuous quarterly Fusion updates fit the org's change-management capacity, and whether Fusion's standardized processes are an acceptable tradeoff for the customizations currently in EBS.
CIO briefingOn-Prem vs Cloud ERP AI for Regulated Manufacturers
For ITAR, CMMC, and export-controlled manufacturers, the deciding question is not on-prem versus cloud in general but whether controlled unclassified information (CUI) or export-controlled technical data ever leaves your boundary to reach an AI model. An on-prem or private-VPC-deployed AI layer keeps that data inside your control boundary; a vendor's shared cloud AI service usually does not, regardless of how the core ERP itself is hosted.
Error fixFix FRM-40735: WHEN-VALIDATE-RECORD Trigger Raised Unhandled Exception ORA-06508
FRM-40735 with ORA-06508 almost always means a PL/SQL package used by the form was recompiled while your session still held the old cached state, or the trigger's own exception handling does not trap a real data error. Exit the form completely and re-enter it; if the error repeats for all users, recompile invalid objects on the database and check for a bad custom trigger.
Error fixOracle EBS Concurrent Manager Will Not Start: How to Fix It
A concurrent manager that will not start in Oracle EBS is almost always one of three things: the node registered in FND_NODES no longer matches the actual hostname (common after cloning), stale OS processes are blocking a fresh start, or the database and listener the manager connects to are unreachable. Check the internal manager log, verify the node name, clear stale processes, and restart with adcmctl.sh.
AI for ERPAI for Oracle E-Business Suite, Without Leaving On-Prem
Hosting 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 ERPAI for Oracle EBS in Aerospace and Defense Manufacturing
AI on Oracle EBS for aerospace and defense manufacturers: project manufacturing, serial control, and ITAR segregation handled without a cloud dependency.
Stuck on Oracle E-Business Suite 12.2?
Talk to engineers who work inside Oracle E-Business Suite 12.2 every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- 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 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 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
- Oracle EBS REST API: Integrated SOA Gateway and PL/SQL APIsOracle EBS REST and SOAP APIs through Integrated SOA Gateway: find APIs in the Integration Repository, deploy, grant access and call PL/SQL public APIs.
- 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.
- SQL to Find Responsibilities Assigned to a User in Oracle EBSReady-to-run SQL against FND_USER, FND_USER_RESP_GROUPS and FND_RESPONSIBILITY_TL to list every responsibility assigned to an Oracle EBS user.
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.
- Oracle Mobile Supply Chain Applications (MSCA) for Oracle EBSOracle Mobile Supply Chain Applications (MSCA) for EBS: native RF transactions for inventory, WMS and manufacturing, setup, pitfalls and where private AI helps.
- 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.
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 EBS in Aerospace and Defense ManufacturingAI on Oracle EBS for aerospace and defense manufacturers: project manufacturing, serial control, and ITAR segregation handled without a cloud dependency.
Integrations
- How to add AI agents to Oracle E-Business SuiteHow to add AI agents to Oracle E-Business Suite R12: tool layer over ISG services and open interfaces, approval gates, and on-prem model hosting options.
- 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.