Each module in this project contains a separate Oracle AI Database sample, mainly implemented in Java. Use the README to find a sample you're interested in, or navigate to the directory of your choice.
- Python: Python code samples using the python-oracledb driver
- Go: Go code samples using the godror driver.
- Typescript/NodeJS: Typescript code samples using the node-oracledb driver
- PLSQL: Code samples in PL/SQL.
Collection of Java samples and demo applications using Oracle AI Database, with a focus on the converged database architecture.
| Sample Project | Description |
|---|---|
| AI Vector Search | Implement AI Vector Search with Oracle AI Database over JDBC to find semantically similar documents. The OracleVectorSample class provides a reference implementation for Vector Search with Oracle AI Database. |
| Oracle AI Database JDBC Event Streaming | Stream events with Oracle AI Database TxEventQ using plain JDBC! The producer and consumer invoke stored procedures to send and receive asynchronous messages on Oracle AI Database Transactional Event Queues. |
| Oracle AI Database JMS Producer Consumer Example | Example using Oracle AI Database JDBC to produce and consume messages over the JMS API. Includes examples using topics for JMS multi-consumer pub/sub, and JMS queues (point-to-point). |
| Migrate Apache Kafka to Oracle AI Database TxEventQ | Sample that demonstrates how to migrate an Apache Kafka application to use Oracle AI Database Transactional Event Queues |
| MCP Agent with SQLcl and Langchain4j | Simple example using Langchain4j's agent SDK to integrate with the SQLcl MCP server for an agentic natural language database interface. |
| News Event Streaming Converged Database App | Demo Converged Database app using Transactional Event Queues, JSON Relational Duality Views, AI Vector Search, and Relational components of Oracle AI Database. The app integrates with OCI GenAI to process, embed, and serve news articles. |
| Oracle AI Database Kafka APIs | Producer, consumer, and transactional messaging code samples using the Kafka Java Client for Oracle AI Database Transactional Event Queues. |
| ORDS Docker Compose | 2-container setup for ORDS using Oracle AI Database Free |
| Sessionless Transactions | Learn how to use Sessionless Transactions to run database operations with no persistent client-side session or connection. |
| Spring Boot Dynamic Property Source | Demonstrates implementing dynamic Spring Boot property sources using Oracle AI Database as a property store. Valuable for Spring Developers who want to get the most out of their configuration management. |
| Spring Boot Custom JDBC Tracer | Implement a custom OpenTelemetry tracer for the Oracle AI Database JDBC driver (OJDBC) |
| Spring Boot OJDBC Tracing | How to trace Oracle AI Database JDBC connections with OpenTelemetry. |
| Spring Data MongoDB Oracle API | Demonstration of using Oracle AI Database's MongoDB compatible API with Spring Data MongoDB. |
| Spring JPA Example | Learn Spring JPA by example with Oracle AI Database Free. |
| Spring Boot CDC with JMS | Create a simple, asynchronous, event-driven CDC implementation using Spring JMS and Oracle AI Database Transactional Event Queues. |
| Spring Boot Database Client Info | Set database client info in your connections, viewable in views like V$SESSION. |
| Spring Boot JMS Example | Learn how to use Oracle AI Database Transactional Event Queues with the Java JMS API for asynchronous event-streaming. |
| Spring Boot JMS Tracing | Sample traces from your Spring JMS applications using Oracle AI Database Transactional Event Queues |
| Spring Boot Resource Loader | Access Oracle AI Database blobs using the Spring Resource API. |
| Spring Cloud Config Server | Client/server example using Oracle AI Database as a JDBC backend for Spring Cloud Config |
| Spring Vault Oracle App | Sample application demonstrating how to dynamically load Oracle Cloud Infrastructure (OCI) Vault key/values as Spring properties leveraging Spring Cloud Oracle. |
| TxEventQ Examples | Assorted messages examples with Oracle AI Database Transactional Event Queues, including Kafka, JMS, PL/SQL, and ORDS. |
| Oracle Testcontainers | Learn how to use the popular Testcontainers library by example with Oracle AI Database Free. |
This repository uses containerized instances of Oracle AI Database Free for testing. The testcontainers module provides a hands-on example using Oracle AI Database Free to test Java applications on a local machine with throwaway database container instances.
If you're using Oracle AI Database, I highly recommend Oracle AI Database Free + Testcontainers to build modular, simple test cases.