Oracle 12c In-Memory Option - 3

tolywang發表於2014-02-14

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章