ITPub博客

首页 > 数据库 > Oracle > Oracle 12c In-Memory Option - 3

Oracle 12c In-Memory Option - 3

原创 Oracle 作者:tolywang 时间:2014-02-14 15:21:35 0 删除 编辑

6. RAC数据库中的in-memory设置

在RAC环境,每个数据库节点有它自己的 In-Memory Column Store, 同样的object可以存在于每个
column stores中, 这被称为"DUPLICATE", 如果一个objects太大而不合适放在一个节点的In-Memory
Column Store中,那么有可能object的各部分分布在每个RAC节点中,这被称为"DISTRIBUTE", 每个
object应该如何populate在column store中, 这个是在*_TABLES 视图中的 INMEMORY_DISTRIBUTE字段
标识的。默认值为 AUTO-DISTRIBUTE, 这个值表示在RAC环境Oracle自动决定objects应该如何分布在
In-Memory Column Store, 在单节点的实例数据库中,这个属性没有意义。


7. 压缩 

每个被放入In-Memory Column Store的object都会被压缩,oracle提供多种压缩方法,这些方法提供了
不同程度的压缩及性能 。默认情况下,数据库使用 FOR QUERY option压缩, 这种方式在压缩和性能
之间提供了最好的平衡。 *_TABLES 视图中的 INMEMORY_COMPRESSION 字段显示了压缩选项值。

SELECT table_name, cache, inmemory_priority,
inmemory_distribute,inmemory_compression FROM user_tables;

TABLE_NAME     CACHE     INMEMORY_COMPRESSION 
-------------   -------   ------------------ 
CUSTOMER         Y        FOR QUERY 

虽然每个table都可以有 in-memory 属性的设置,但是它们不会驻留在
In-Memory Column Store中,记住,默认情况下,只有object被访问时,
才会放到In-Memory Column Store中。 (by default the In-Memory Column
Store is only populated when the object is accessed.)

 

8. 查看population过程 
在LINUX下你可以通过top命令查看ora_w***_orcl进程来确认population过程是否
完成。如果后台进程 ora_w***_orcl 不在process之列了,那么表示population
过程结束。 

你也可以通过 v$im_segments 视图来观察population的进度。

SELECT v.owner, v.segment_name name,
v.populate_status status, v.bytes_not_populated FROM v$im_segments v;

BYTES_NOT_POPULATED 列显示0值,表示整个table已经被完成populate到column
store中了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1081454/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13401089