Back to Blog
Oracle Database

Learn Oracle database 26ai In-Memory Architecture Overview: Dual Format, IM Column Store, and Internal Design

Learn Oracle Database In-Memory architecture, dual format storage, and IM Column Store internals for high-performance analytics and query optimization.

March 30, 2026
2 min read
Oracle Database
0 views0 readers0 comments
T

by Thiwanka SenarathnaMarch 30, 2026

Why Oracle Database In-Memory Architecture Matters

Are your queries slow even after adding indexes and tuning SQL?

Traditional databases are optimized for transactional workloads, but modern systems require fast analytics as well. This is where Oracle Database In-Memory architecture changes the approach.

Oracle introduces a dual-format database model, allowing data to be stored simultaneously in both row format and column format. This enables high-performance analytics without impacting transactional processing.

If you are working with Oracle EBS or large OLTP systems, understanding Oracle Database In-Memory architecture is essential for improving query performance.

What Is Oracle Database In-Memory Architecture

Oracle Database In-Memory architecture enables data to be stored in two formats:

  • Row format (traditional buffer cache)

  • Column format (In-Memory Column Store)

This dual-format approach ensures:

  • Fast transactions using row-based storage

  • Fast analytics using column-based storage

The same data exists in both formats without duplication at the logical level.

Dual Format Database: Row Store vs Column Store

Row Store (Buffer Cache)

Row-based storage is optimized for transactional workloads:

  • Insert, update, delete operations

  • OLTP systems

  • Index-based access

Column Store (In-Memory)

Column-based storage is optimized for analytics:

  • Full table scans

  • Aggregations

  • Reporting queries

Example: Traditional Query vs In-Memory Query

SELECT SUM(amount_sold)
FROM sales
WHERE region_id = 10;

In a row-based system:

  • Entire rows are read

  • Index may be used

In In-Memory:

  • Only required columns are scanned

  • Data is compressed

  • CPU vector processing is used

This significantly improves performance.

In-Memory Column Store (IMCS)

The In-Memory Column Store is a dedicated memory area inside the SGA.

Enable IM Column Store

ALTER SYSTEM SET INMEMORY_SIZE = 8G SCOPE=SPFILE;

After restart, Oracle allocates memory for columnar data.

Populate a Table in Memory

ALTER TABLE sales INMEMORY;

To manually populate:

EXEC DBMS_INMEMORY.POPULATE('SALES');

Internal Storage Structures

Oracle stores data in the In-Memory Column Store using optimized structures.

In-Memory Compression Units (IMCU)

  • Data is stored column-wise

  • Highly compressed

  • Optimized for scans

Snapshot Metadata Units (SMU)

  • Tracks changes to data

  • Maintains consistency

Expression Units (IMEU)

  • Stores frequently used expressions

  • Reduces CPU usage

How Queries Are Optimized

Oracle uses multiple techniques to speed up queries.

Column Pruning

Only required columns are accessed.

Predicate Pushdown

Filtering happens during scan.

Vector Processing

CPU processes multiple values at once.

Example: Column Pruning

SELECT product_id
FROM sales
WHERE amount_sold > 100;

Only these columns are scanned:

  • product_id

  • amount_sold

Other columns are ignored.

Memory Management

Oracle manages In-Memory data automatically.

Automatic Population

Hot data is automatically populated based on usage.

Eviction

Less-used data is removed when memory is full.

Check In-Memory Usage

SELECT pool, alloc_bytes, used_bytes
FROM v$inmemory_area;

When to Use In-Memory

Oracle Database In-Memory is ideal for:

  • Reporting systems

  • Data warehouses

  • Mixed workloads (OLTP + analytics)

Avoid using it for:

  • Small tables

  • Low-query systems

Performance Benefits

Using Oracle Database In-Memory architecture provides:

  • Faster full table scans

  • Reduced I/O

  • Better CPU utilization

  • Real-time analytics

What’s Next in This Series

Next article:

IM Column Store Internals: IMCU, SMU, and Compression Explained

Discussion

Loading comments...