日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle12.2啟用數(shù)據(jù)庫對象的In-Memory轉(zhuǎn)換填充

所謂數(shù)據(jù)庫的列式轉(zhuǎn)換填充,就是數(shù)據(jù)庫從磁盤讀取現(xiàn)有的行格式數(shù)據(jù),將其轉(zhuǎn)換為列格式,然后再存儲到IM列存儲中的過程。將數(shù)據(jù)庫對象填充到列式存儲會(huì)極大地提高訪問效率。只有具有In-Memory屬性的對象才能夠做轉(zhuǎn)換填充。

創(chuàng)新互聯(lián)建站專注于南芬企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都做商城網(wǎng)站。南芬網(wǎng)站建設(shè)公司,為南芬等地區(qū)提供建站服務(wù)。全流程按需定制,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

啟用對象的列式填充的目的

IM列存儲不會(huì)自動(dòng)將數(shù)據(jù)庫中的所有對象加載到IM列存儲中。如果不使用DDL將任何對象指定為INMEMORY,則IM列存儲將保持為空。 將用戶指定的In-Memory對象的行轉(zhuǎn)換為列格式是必需的,以便它們可用于分析查詢。

將磁盤上現(xiàn)有數(shù)據(jù)轉(zhuǎn)換為列格式的填充與通常所說的列式填充不同,后者只是將新數(shù)據(jù)加載到IM列存儲中。 因?yàn)镮MCU是只讀結(jié)構(gòu),所以當(dāng)行更改時(shí),Oracle數(shù)據(jù)庫不會(huì)自動(dòng)填充它們。而前者,則是數(shù)據(jù)庫記錄事務(wù)日志中的行修改記錄,然后創(chuàng)建新的IMCU作為IM的一部分。

列式轉(zhuǎn)換填充的原理

可以指定數(shù)據(jù)庫在實(shí)例啟動(dòng)時(shí)或訪問INMEMORY對象時(shí)填充IM列存儲中的對象。 列式轉(zhuǎn)換填充算法在單實(shí)例數(shù)據(jù)庫和RAC中有所區(qū)別

DDL語句包括一個(gè)INMEMORY PRIORITY子句,為子句隊(duì)列提供更多的控制。

優(yōu)先級設(shè)置適用于整個(gè)表,分區(qū)或子分區(qū),而不適用于不同的列子集。 在對象上設(shè)置INMEMORY屬性意味著此對象是IM列存儲中的填充的候選項(xiàng)。 這并不意味著數(shù)據(jù)庫會(huì)立即填充該對象。 Oracle數(shù)據(jù)庫管理優(yōu)先級如下:

1、按需填充

默認(rèn)情況下,INMEMORY PRIORITY參數(shù)設(shè)置為NONE。 在這種情況下,數(shù)據(jù)庫僅在通過全表掃描訪問對象時(shí)填充該對象。 如果對象永遠(yuǎn)不被訪問,或者只有通過索引掃描訪問或者通過rowid進(jìn)行訪問,則不會(huì)發(fā)生轉(zhuǎn)換。

2、基于優(yōu)先級的填充

當(dāng)PRIORITY設(shè)置為非NONE值時(shí),Oracle數(shù)據(jù)庫將使用內(nèi)部管理的優(yōu)先級隊(duì)列自動(dòng)填充對象。 在這種情況下,全掃描不是填充的必要條件。

基于優(yōu)先級的填充過程如下:

a、在數(shù)據(jù)庫實(shí)例重新啟動(dòng)后,自動(dòng)填充IM列中的柱狀數(shù)據(jù)

b、基于指定優(yōu)先級的INMEMORY對象的隊(duì)列人口

例如,使用INMEMORY PRIORITY CRITICAL更改的表優(yōu)先于使用INMEMORY PRIORITY HIGH更改的表,該表依次優(yōu)先于使用INMEMORY PRIORITY LOW更改的表。 如果IM列存儲空間不足,則Oracle數(shù)據(jù)庫在空間可用之前不會(huì)填充其他對象。

c、等待從ALTER TABLE或ALTER MATERIALIZED VIEW語句返回,直到對象的更改記錄在IM列存儲中

在IM列存儲中填充一個(gè)段后,數(shù)據(jù)庫僅在段被刪除或移動(dòng)時(shí)才將其推離,或者使用NO INMEMORY屬性更新段。 可以手動(dòng)或通過ADO策略驅(qū)逐細(xì)分。

在完成此示例之前,必須為數(shù)據(jù)庫啟用IM列存儲。

1、以管理員身份登錄數(shù)據(jù)庫,然后查詢客戶表,如下所示:

2、顯示查詢的執(zhí)行計(jì)劃:

3、在IM列存儲中啟用sh.customers表的填充:

4、要確定sh.customers表中的數(shù)據(jù)是否已在IM列存儲中填充,請執(zhí)行以下查詢(包括樣本輸出):

在這種情況下,由于sh.customers表尚未被掃描,因此在IM列存儲中不會(huì)填充任何片段。

5、使用與步驟1中相同的語句查詢sh.customers:

6、查詢游標(biāo)顯示數(shù)據(jù)庫執(zhí)行完整掃描并訪問IM列存儲:

7、再次查詢V$IM_SEGMENTS(包括樣本輸出):

8、DBA_FEATURE_USAGE_STATISTICS視圖確認(rèn)數(shù)據(jù)庫使用IM列存儲來檢索結(jié)果:

后臺進(jìn)程如何填充IMCU

在填充期間,數(shù)據(jù)庫以其行格式從磁盤讀取數(shù)據(jù),樞轉(zhuǎn)行以創(chuàng)建列,然后將數(shù)據(jù)壓縮為內(nèi)存中壓縮單元(IMCU)。

工作進(jìn)程(Wnnn)填充IM列存儲中的數(shù)據(jù)。 每個(gè)工作進(jìn)程在對象的數(shù)據(jù)庫塊的子集上運(yùn)行。 人口是一種流式傳輸機(jī)制,同時(shí)壓縮數(shù)據(jù)并將其轉(zhuǎn)換為柱狀格式。

INMEMORY_MAX_POPULATE_SERVERS初始化參數(shù)指定要用于IM列存儲群體的***工作進(jìn)程數(shù)。 默認(rèn)情況下,該設(shè)置是CPU_COUNT的一半。 將此參數(shù)設(shè)置為適合您的環(huán)境的值。 更多的工作進(jìn)程導(dǎo)致填充增長,但會(huì)占用更多的CPU資源。 更少的工作進(jìn)程導(dǎo)致人口減少,這降低了CPU開銷。

列式填充控制

使用數(shù)據(jù)定義語言(DDL)語句中的INMEMORY子句來指定哪些對象有資格進(jìn)入IM列存儲。 可以啟用表空間,表,分區(qū)和物化視圖。

INMEMORY子句

INMEMORY是一個(gè)段級屬性,而不是列級屬性。 但是可以將INMEMORY屬性應(yīng)用于特定對象中的列的子集。

要啟用或禁用IM列存儲的對象,請?jiān)谝韵氯魏握Z句中指定INMEMORY子句:

1、CREATE TABLESPACE or ALTER TABLESPACE

默認(rèn)情況下,表空間中的所有表和實(shí)例化視圖都對IM列存儲啟用。 表空間中的單個(gè)表和實(shí)例化視圖可能具有不同的INMEMORY屬性。 單個(gè)數(shù)據(jù)庫對象的屬性將覆蓋表空間的屬性。

2、CREATE TABLE or ALTER TABLE

默認(rèn)情況下,IM列存儲填充表中的所有非虛擬列。 您可以指定表的全部或一部分列。 例如,您可以將oe.product_information中的weight_class和catalog_url列從資格中排除。 對于分區(qū)表,您可以填充IM列存儲中的全部或一部分分區(qū)。 默認(rèn)情況下,對于分區(qū)表,所有表分區(qū)都將繼承INMEMORY屬性。

3、CREATE MATERIALIZED VIEW or ALTER MATERIALIZED VIEW

對于分區(qū)實(shí)體化視圖,可以填充IM列存儲中的所有或一部分分區(qū)。

DBA_TABLES視圖中的INMEMORY列指示哪些表具有INMEMORY屬性設(shè)置(ENABLED)或未設(shè)置(DISABLED)。

以下對象不符合IM列存儲中的填充資格:

索引;索引組織表;哈希集群;由SYS用戶擁有并存儲在SYSTEM或SYSAUX表空間中的對象。

如果為IM列存儲啟用了表,并且它包含以下任何類型的列,則這些列將不會(huì)在IM列存儲中填充:

行列(varrays,嵌套表列和行外LOB)

使用LONG或LONG RAW數(shù)據(jù)類型的列

擴(kuò)展數(shù)據(jù)類型列

對表進(jìn)行列式填充

假設(shè)以用戶sh連接到數(shù)據(jù)庫。 可以使用默認(rèn)壓縮級別FOR QUERY LOW(參見“內(nèi)存中壓縮”),為IM列存儲中的用戶表啟用客戶表:

列式填充的優(yōu)先級選項(xiàng)

為IM列存儲啟用數(shù)據(jù)庫對象時(shí),可以啟用Oracle數(shù)據(jù)庫來控制對象在IM列存儲中的填充(默認(rèn)),也可以指定確定對象的優(yōu)先級。

Oracle SQL包括一個(gè)INMEMORY PRIORITY子句,為群體提供了對隊(duì)列的更多控制。 例如,在填充其他數(shù)據(jù)庫對象的數(shù)據(jù)之前,填充數(shù)據(jù)庫對象的數(shù)據(jù)可能更重要或更不重要。

下表說明了支持的優(yōu)先級。


本文題目:Oracle12.2啟用數(shù)據(jù)庫對象的In-Memory轉(zhuǎn)換填充
文章轉(zhuǎn)載:http://www.5511xx.com/article/cohocch.html