【Oracle】ORACLE 12c DB In-Memory相关参数

本篇文章对DB In-Memory涉及到的参数进行介绍:

首先看一下DB In-Memory相关的所有参数:

SQL> show parameter INMEMORY 

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

inmemory_clause_default              string

inmemory_force                       string      DEFAULT

inmemory_max_populate_servers        integer     1

inmemory_query                       string      ENABLE

inmemory_size                        big integer 1G

inmemory_trickle_repopulate_servers_ integer     1

percent

optimizer_inmemory_aware             boolean     TRUE

1.INMEMORY_SIZE参数:

这个参数控制了SGAIn-Memory Area的大小。默认值为0,代表DB In-Memory功能不启用。如果要启用DB In-Memory功能需要将这个值置为非0且必须大于100M的值。

在多租户环境中,如果在CDB级别下对于该参数的设置代表了整个CDBIn-Memory Area的大小。同时这个参数也可以在每个PDB下进行设置,对于所有PDB设置的值的和可以小于、等于或大于整个CDB的设置,但是CDBINMEMORY_SIZE的值是包括CDB$ROOT和所有PDB可以使用的值的上限。在默认情况下PDBINMEMORY_SIZE的值和CDB下参数值大小相同,代表改PDB可以使用所有CDB下的In-Memory Area

2.INMEMORY_FORCE参数:

这个参数用来控制是否允许表和物化视图使用In-Memory store

默认值为DEFAULT,代表可以实现在对象级别设置INMEMORYNO INMEMORY

如果设置为OFF,代表表和物化视图无法使用In-Memory

3.INMEMORY_QUERY参数:

这个参数用来控制是否允许In-Memory查询,默认为ENABLE。默认值代表查询可以访问存储在In-Memory中的数据库对象,该参数还可以设置为DISABLE来禁止访问In-Memory中存储的数据库对象。

4.INMEMORY_CLAUSE_DEFAULT参数:

这个参数用来对新表和新物化视图指定一个默认的In-Memory设置。

该参数默认设置为空,代表对于新表和新的物化视图默认不启用In-Memory,效果等同于设置该值为NO INMEMORY

如果指定了改参数为INMEMORY,则新创建的表和物化视图在创建时如果没有指定INMEMORY条件,则默认对该表或物化视图启用In-Memory。只对该参数设置后创建的表和物化视图生效。

5.INMEMORY_MAX_POPULATE_SERVERS

该参数控制了后台负责将数据库对象放入到In-Memory column storeserver数量,默认为系统的core的数量。该参数根据系统负载情况进行调整,防止系统过载。

6.INMEMORY_OPTIMIZER_AWARE

该参数控制了数据库优化器在计算cost时是否考虑In-Memory。默认为TRUE,即考虑。在设置为FALSE时,优化器在对SQL语句进行优化时将忽略In-Memory的性能。

7.INMEMORY_TRICKLE_POPULATE_SERVERS_PERCENT

该参数控制了对于In-Memory column store中的数据进行重新载入时最多允许的载入进程占总载入进程的比例,比如INMEMORY_MAX_POPULATE_SERVERS设置为10INMEMORY_TRICKLE_POPULATE_SERVERS_PERCENT设置为10,则最多用于重新载入的servers数量为10*10%=1

你可能感兴趣的:(In-Memory)