Oracle In-Memory Database
Version 12.1.0.2

General Information
Library Note Morgan's Library Page Header
The Library is currently in the process of being upgraded from Oracle Database Version 12.1.0.2 to 12.2.0.1. Demos are being upgraded to reflect the new Container paradigm as well as EBR (Edition Based Redefinition) and may contain references to CDBs, PDBs, and other objects you may not be familiar with such as CDB_OBJECTS_AE: Welcome to 12c.

Have you viewed the Library's main Table of Contents? If not ... [Click Here] ... scroll down the page and you will find links to the largest collection of Oracle Database demos on the net.
Purpose The licensable "In-Memory Database" option allows a portion of the SGA to be set aside to support an in-memory columnar store and in-memory database caching.
Dependencies
V$IM_COLUMN_LEVEL V$IM_SEGMENTS_DETAIL V$IM_TBS_EXT_MAP
V$IM_COL_CU V$IM_SEG_EXT_MAP V$IM_USER_SEGMENTS
V$IM_HEADER V$IM_SMU_CHUNK V$PARAMETER
V$IM_SEGMENTS V$IM_SMU_HEAD V$SGA
 
Enable In-Memory Column Store
Create Columnn Store at root level ALTER SYSTEM SET inmemory_size = <integer> <M | G | T> SCOPE = spfile;
SQL> ALTER SYSTEM SET inmemory_size = 500M SCOPE = spfile;

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.

Total System Global Area 2097152000 bytes
Fixed Size 3047568 bytes
Variable Size 1140854640 bytes
Database Buffers 402653184 bytes
Redo Buffers 13725696 bytes
In-Memory Area 536870912 bytes
Database mounted.
Database opened.
Set the maximum value of the column store at PDB level ALTER SYSTEM SET inmemory_size=<integer> <M | G | T>
SQL> ALTER SESSION SET CONTAINER = pdbdev;
SQL> ALTER PLUGGABLE DATABASE pdbdev OPEN;
SQL> ALTER SYSTEM SET inmemory_size=400M;

SQL> col value format 9999999999
SQL> SELECT * FROM v$sga;

NAME             VALUE       CON_ID
---------------- ----------- ----------
Fixed Size           3047568 0
Variable Size     1086328688 0
Database Buffers   469762048 0
Redo Buffers        13725696 0
In-Memory Area     536870912 0
Specify a segment for in-memory population ALTER TABLE <table_name> INMEMORY [PRIORITY <high | low>];
conn uwclass/uwclass@pdbdev

ALTER TABLE servers INMEMORY PRIORITY high;

SELECT table_name,  inmemory_priority, inmemory_distribute, inmemory_compression
FROM user_tables
ORDER BY 1;

-- if servers were a partitioned table
SELECT partition_name, inmemory_priority, inmemory_distribute, inmemory_compression
FROM user_tab_partitions
WHERE table_name = 'SERVERS'
ORDER BY partition_position;

Related Topics
DBMS_INMEMORY
DBMS_INMEMORY_ADMIN
Processes
Startup Parameters
What's New In 12cR1
What's New In 12cR2

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2017 Daniel A. Morgan All Rights Reserved