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博客 ” ,链接:https://blog.itpub.net/35489/viewspace-1081454/ ,如需转载,请注明出处,否则将追究法律责任。