先决条件
此任务假定以下内容:
COMPATIBLE
初始化参数设置为 12.1.0
或更高。INMEMORY_SIZE
初始化参数设置为 0
(默认值)。要启用IM列存储:
1. 在SQL * Plus或SQL Developer中,使用管理员权限登录数据库。
2. 将 INMEMORY_SIZE
初始化参数设置为非零值。最小设置为100M。
使用 ALTER SYSTEM
语句在服务器参数文件(SPFILE)中设置此初始化参数时,必须指定 SCOPE=SPFILE
。
例如,使用以下语句将In-Memory Area大小设置为10 GB:
ALTER SYSTEM SET INMEMORY_SIZE = 10G SCOPE=SPFILE;
3. 关闭数据库,然后重新打开它。
必须重新打开数据库才能初始化SGA中的IM列存储。
4.(可选)检查当前为IM列存储分配的内存量:
SHOW PARAMETER INMEMORY_SIZE
注:
启用IM列存储后,您可以动态增加其大小,而无需重新打开数据库。
示例3-1启用IM列存储
假设 INMEMORY_SIZE
初始化参数设置为0 。
以下示例将 INMEMORY_SIZE
设置为10 GB,关闭数据库实例,然后重新打开数据库以使更改生效:
SQL> SHOW PARAMETER INMEMORY_SIZE
NAME TYPE VALUE
------------------------------------ ----------- -----
inmemory_size big integer 0
SQL> ALTER SYSTEM SET INMEMORY_SIZE=10G SCOPE=SPFILE;
System altered.
SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORACLE instance started.
Total System Global Area 11525947392 bytes
Fixed Size 8213456 bytes
Variable Size 754977840 bytes
Database Buffers 16777216 bytes
Redo Buffers 8560640 bytes
In-Memory Area 10737418240 bytes
Database mounted.
Database opened.
SQL> SHOW PARAMETER INMEMORY_SIZE
NAME TYPE VALUE
------------------------------------ ----------- -----
inmemory_size big integer 10G