True Cache: Oracle’s New In-Memory Caching Architecture

Oracle 23ai introduces True Cache — a new read-only, in-memory cache tier that sits between your application and the primary Oracle Database. Think of it as a lightweight, always-consistent cache that speaks SQL.

What True Cache is NOT:

  • Not Redis or Memcached (those are key-value stores, not SQL-aware)
  • Not Oracle In-Memory Column Store (that’s inside the primary database)
  • Not a full read replica (it doesn’t write redo logs for all changes)

What True Cache IS:

A lightweight Oracle instance that maintains a hot subset of the primary database in memory, synchronized via redo log shipping. Applications connect to True Cache and run full SQL queries — with full Oracle SQL semantics — but reads are served from memory without hitting primary storage.

Architecture:

App ──► True Cache (in-memory, read-only SQL)
               │
               │ redo sync
               ▼
        Primary Database (read-write)

Key characteristics:

  • Consistent reads: True Cache uses the same SCN (System Change Number) mechanism as the primary. Reads are always consistent with the primary database.
  • Automatic sync: Changes in the primary are shipped via redo and applied to True Cache — similar to Active Data Guard, but lighter weight.
  • No storage footprint: True Cache doesn’t persist data to disk. It’s purely an in-memory acceleration layer.
  • Transparent to applications: Applications connect using standard Oracle drivers; no code changes needed.

Best use case: Read-heavy OLTP workloads where the working set fits in memory and read latency matters — product catalogs, session data, reference lookups.

True Cache is Oracle’s answer to the “put everything in Redis” trend, with the critical advantage of full SQL consistency guarantees.