万千期待的ORACLE in-memory选件包含在oracle 12.1.0.2的版本中.现在otn已经提供开始提供下载,当前的主要版本是linux x86和solaris平台的,软件的安装过程跟之前的版本类似,本文以全新安装开始,DBCA建库后,我们看下in memory提供那些参数供配置:
SQL> show parameter inmemory;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 0
inmemory_query string ENABLE
inmemory_size big integer 0
inmemory_trickle_repopulate_servers_ integer 1
percent
optimizer_inmemory_aware boolean TRUE
INMEMORY_SIZE定义了in-memory的大小,default为0MB,INMEMORY_FORCE,定义default的行为,default表示只在ddl定义下才会放到in-memory area中,off表示在关闭in-memory area。INMEMORY_CLAUSE_DEFAULT定义了在新建表的时候,是否自动加入到in-memory area,压缩等属.
optimizer_inmemory_aware表示optimizer是否对inmemory支持. inmemory_size 是一个静态参数,更改需要重启实例生效.
提供给in memory使用的是从SGA空间中分配出来,划分一块单独的内存区域给im-memeory功能使用.称为in-memory area,in-memory 内存区域越大越好,这样有更多数据存放在内存中,in-memory area可以由AMM或是ASMM来管理,实质是在SGA中多出一块内存区域。默认情况下对像只有在ddl定义才会被放到in-memory area区域中.可以通过inmemory_clause_default来修改行为
比如手动把表放到in-memory area中
SQL> create table tbs1(a int,b int);
Table created.
SQL> alter table tbs1 inmemory;
Table altered.
取消表在inmemory中存放
SQL> alter table tbs1 no inmemory;
Table altered.
还可以在栏位级定义哪一栏放到 in-memory area中
SQL> alter table test1 inmemory;
Table altered.
SQL> alter table test1 inmemory (name) no inmemory (mark);
Table altered.
Oracle Database 12c新特性:IN-Memory Option
原文地址:http://365net.blog.51cto.com/9161203/1649617