3.2.2 Administering In-Memory Columnar Caching
The columnar cache is a section of Exadata Smart Flash Cache that stores data in columnar format. When directed by Oracle Database, Exadata automatically uses a portion of the columnar cache to maintain data using the Oracle Database In-Memory format. You do not need to configure anything on Exadata to use this enhancement.
This feature is available if you have licensed the Oracle Database In-Memory option. To enable this feature, use either of the following database instance parameters:
-
Set the
INMEMORY_SIZE
database instance parameter to a value greater than zero. -
Starting with Oracle Database version 19.8.0.0.200714, you can set
INMEMORY_FORCE=cellmemory_level
.This option enables you to use In-Memory Columnar Caching in Exadata Smart Flash Cache without a dedicated In-Memory cache in the database instance.
You can use the CELLMEMORY
segment option to override
of the default behavior for In-Memory Columnar Caching in Exadata Smart Flash Cache:
SQL> ALTER TABLE table_name [ [ NO ] CELLMEMORY [ MEMCOMPRESS FOR [ QUERY | CAPACITY ] [ LOW | HIGH ] ]
Options and Clauses | Usage Description |
---|---|
NO CELLMEMORY |
Indicates a table is ineligible for the rewrite from 12.1.0.2 columnar flash cache format into the 12.2 Database In-Memory format. |
CELLMEMORY and CELLMEMORY MEMCOMPRESS FOR CAPACITY |
Allows a table to be cached in the default Oracle Database 12.2 In-Memory format. You only need to use this clause to undo a previously specified NO CELLMEMORY statement or to change the specified compression level.
|
CELLMEMORY MEMCOMPRESS FOR QUERY |
This option indicates that In-Memory column store data should be compressed less than if MEMCOMPRESS FOR CAPACITY was specified. This option can provide an increase in query performance but requires almost twice as much flash space.
|
LOW and HIGH |
Not implemented at this time. |
Example 3-5 Using CELLMEMORY and INMEMORY Options on the Same Table
You can use both INMEMORY
and CELLMEMORY
on the same table. For example:
CREATE TABLE t (c1 NUMBER) INMEMORY CELLMEMORY MEMCOMPRESS FOR QUERY;
Specifying both options is useful for when you have a low priority table that is unlikely to get loaded in memory. By also specifying CELLMEMORY
you still get columnar performance.
Parent topic: Administering Exadata Smart Flash Cache