Database In-Memory is an option to Enterprise Edition. Database In-Memory now has a new “Base Level” feature. This allows the use of In-Memory with up to a 16GB column store without triggering any license tracking.
The feature allows you to use Database In-Memory without having to license the option. The column store is limited to 16GB when using the Base Level. This helps to show the value of Database In-Memory without having to worry about licensing issues.
How to enable the IM Column Store for a CDB or PDB
Before tables or materialized views can be populated into the IM column store, you must enable the IM column store.
In a CDB, the
INMEMORY_SIZE setting in the CDB root determines the overall size of the IM column store. By default, all PDBs have access to the IM column store.
For the Database In-Memory Base Level, the
INMEMORY_SIZE size at the CDB level must be less than or equal to
Within an individual PDB, you can limit access to the shared In-Memory Area by setting
INMEMORY_SIZE to a different value. For example, in a CDB with 100 PDBs, you could set
16G at the CDB level, and then set
10G in one PDB, to
6G in a second PDB, and to
0 in the remaining PDBs.
This task assumes that the following:
- The CDB is open.
COMPATIBLEinitialization parameter is set to
INMEMORY_SIZEinitialization parameter is set to
- You want to use the Database In-Memory Base Level.
To enable the IM column store:
- In SQL*Plus or SQL Developer, log in to the CDB root as a user with administrator privileges.
- Set the
INMEMORY_SIZEinitialization parameter to a nonzero value.The minimum setting is
100M. When you set this initialization parameter in a server parameter file (SPFILE) using the
ALTER SYSTEMstatement, you must specify
SCOPE=SPFILE. For example, the following statement sets the In-Memory Area size to 16 GB:
ALTER SYSTEM SET INMEMORY_SIZE = 16G SCOPE=SPFILE;
- For the Database In-Memory Base Level, set the
INMEMORY_FORCEinitialization parameter to
BASE_LEVEL.For example, the following statement specifies the Base Level:
ALTER SYSTEM SET INMEMORY_FORCE=BASE_LEVEL SCOPE=SPFILE;You cannot set
INMEMORY_FORCE=BASE_LEVELat the PDB level. Also, you cannot set this parameter dynamically.
- Shut down the CDB, and then reopen it.You must reopen the CDB to initialize the IM column store in the SGA.
- Optionally, check the amount of memory currently allocated for the IM column store:
SHOW PARAMETER INMEMORY_SIZE
After the IM column store is enabled, you can increase its size dynamically without shutting down and reopening the CDB.