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.
Note:
For the Database In-Memory Base Level, the INMEMORY_SIZE
size at the CDB level must be less than or equal to 16G
.
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 INMEMORY_SIZE
to 16G
at the CDB level, and then set INMEMORY_SIZE
to 10G
in one PDB, to 6G
in a second PDB, and to 0
in the remaining PDBs.
Prerequisites
This task assumes that the following:
- The CDB is open.
- The
COMPATIBLE
initialization parameter is set to12.1.0
or higher. - The
INMEMORY_SIZE
initialization parameter is set to0
(default). - 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_SIZE
initialization parameter to a nonzero value.The minimum setting is100M
. When you set this initialization parameter in a server parameter file (SPFILE) using theALTER SYSTEM
statement, you must specifySCOPE=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_FORCE
initialization parameter toBASE_LEVEL
.For example, the following statement specifies the Base Level: ALTER SYSTEM SET INMEMORY_FORCE=BASE_LEVEL SCOPE=SPFILE;
You cannot setINMEMORY_FORCE=BASE_LEVEL
at 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
Note:
After the IM column store is enabled, you can increase its size dynamically without shutting down and reopening the CDB.