Standard Oracle support produces a resolved ticket. The Oracle AI platform produces a resolved ticket plus a vectorized knowledge record that makes the next identical incident resolve in seconds.
Retrieval-augmented generation works well for prose documents. Oracle diagnostic outputs are something different. A TKPROF trace file, a SQLHC report, or concurrent manager diagnostic output is structured, verbose, and hierarchical. A single diagnostic run can produce thousands of lines. Important signals — error codes, PASS/WARN/FAIL results, table-level statistics — are embedded in specific positions within a predictable structure.
Simple character-count chunking destroys this structure. An error message spanning two lines gets split across chunks. A WAIT event explaining a performance issue gets separated from the SQL that caused it. The retrieved chunk answers a different question than the one being asked.
The Oracle AI platform implements Semantic and Structure-Aware Chunking specifically designed for Oracle diagnostic output — preserving the diagnostic hierarchy, respecting Oracle-specific document boundaries, and enriching every stored chunk with metadata that enables precision retrieval rather than pure semantic similarity matching.
The vector database is the platform's long-term memory. Selection criteria for an Oracle ERP environment: self-hosting, metadata filtering support, and scale.
Open-source, self-hosted, designed for enterprise-scale vector workloads on Kubernetes or Docker. The recommended choice for Oracle environments where data sovereignty is required.
Postgres extension adding vector search to an existing PostgreSQL instance. Recommended when the knowledge base is under 10 million vectors and operational simplicity matters.
Oracle diagnostic outputs are processed through a three-level hierarchical chunking model. Each level serves a distinct retrieval purpose.
Raw vector similarity alone is insufficient for Oracle diagnostic retrieval. An ORA-01652 resolution for EBS R11i is not applicable to an R12.2.10 environment. Every chunk stored in Milvus is enriched with a structured metadata envelope that enables filtered retrieval.
| Field | Example Value | Purpose in Retrieval |
|---|---|---|
| oracle_error_code | ORA-01652 | Primary filter — retrieval is always scoped to the exact error code before semantic similarity ranking. Prevents cross-error false matches entirely. |
| erp_module | AP | Module scoping — ensures a GL period close resolution is not returned for an AP invoice hold query. |
| erp_version | EBS R12.2.10 | Version filtering — Oracle data structures and fix paths differ significantly across EBS versions and between EBS and Fusion. |
| source_script | SYS-03 | Script lineage — identifies which diagnostic script from scripts.williamagreen.com produced this chunk. |
| resolution_type | Tablespace Extension | Resolution classification — distinguishes Configuration Fix, SQL Optimization, Tablespace Extension, Data Correction, and Oracle SR Escalation. |
| oracle_doc_id | 123456.1 | Oracle Support Note reference — when a MOS note was retrieved and applied, its Doc ID is stored for future retrieval. |
| environment_id | PROD-US-01 | Environment scoping — critical for organizations running multiple EBS environments where configuration differences affect resolution paths. |
The 5-stage RAG retrieval pipeline. Stage 3 — the Metadata Filter — is what separates Oracle-grade retrieval from generic RAG: it scopes results to the exact ERP version, module, and error code.
The RAG pipeline runs inside n8n as part of the intelligence layer. It activates in Step 4 of every incident resolution — after diagnostic scripts have run and the LLM has produced its initial root cause analysis.
n8n converts the root cause analysis output — not the raw diagnostic data, but the structured analysis — into a vector embedding. Using the analyzed output ensures the search query reflects intent rather than raw numbers.
n8n queries Milvus using the generated embedding, returning the top N semantically similar chunks. Results are immediately filtered by the current incident's ERP version and module — a result from the wrong version is ranked below a less similar result from the exact matching environment.
collection.search(
data=[query_vector],
anns_field="embedding",
param={"metric_type": "COSINE", "nprobe": 16},
limit=10,
expr="erp_version == 'EBS R12.2.10' and erp_module == 'AP'"
)n8n retrieves the top 3 matching historical cases and assembles them alongside the Oracle Support Notes retrieved by the Playwright agent. The most recent validated internal fix takes precedence over generic documentation in the final LLM context.
The assembled context is passed to the LLM with a structured prompt constraining output to the evidence presented. The model is explicitly instructed to base its recommendation on the retrieved cases and support notes — preventing hallucinated resolution paths not grounded in validated Oracle fixes.
Three metrics are tracked continuously to ensure the RAG pipeline remains grounded and useful as the knowledge base grows.
We're talking to Oracle teams who want to be part of shaping the platform.
Get in Touch →