Oracle 12C新特性In-Memory
Oracle 12C 新特性 In-Memory
In-Memory 是12C 開始,在 SGA 中新增加的記憶體區域,可以實現表資料按列儲存;
In-Memory 並沒有取代傳統的Buffer Cache ,二者並存在 SGA 中。
SGA是動態區域,In-Memory大小是靜態的,需要DBA手動維護。
列式儲存資料和行式儲存資料各有優缺點,適用場景不同。
列式儲存在訪問多行、少列情況下效能更優。
下面啟用 inmemory , 進行效能測試。
一 資料庫版本為19C( 相當於 12.2.0.3 版本 )
SQL> select banner_full from v$version;
BANNER_FULL
---------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
二 檢視 inmemory 是否啟用
SQL> show parameter inmemory_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_size big integer 0
三 建立測試資料
SQL> conn cjc/cjc@cjcpdb
SQL> create table t1 as select * from dba_objects;
SQL> select count(*) from t1;
COUNT(*)
----------
72482
四 啟用 in - memory ( 例項級別 )
SQL> show parameter inmemory_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_size big integer 0
SQL> alter system set inmemory_size=300M scope=spfile;
SQL> shutdown immediate
SQL> startup
ORACLE instance started.
Total System Global Area 1287650440 bytes
Fixed Size 9145480 bytes
Variable Size 759169024 bytes
Database Buffers 201326592 bytes
Redo Buffers 3436544 bytes
In-Memory Area 314572800 bytes
Database mounted.
Database opened.
SQL> show parameter inmemory_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_size big integer 300M
五 效能對比
5.1 收集 T1 表統計資訊
SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS('CJC','T1',estimate_percent=>100,CASCADE=> TRUE);
PL/SQL procedure successfully completed.
檢視執行計劃
SQL> set autotrace on
5.2 對錶 t1 啟用 inmemory
SQL> conn sys/oracle@cjcpdb as sysdba
Connected.
SQL> alter table cjc.t1 inmemory;
--- 禁用 alter table cjc.t1 no inmemory;
5.3 收集統計資訊
SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS('CJC','T1',estimate_percent=>100,CASCADE=> TRUE);
5.4 檢視執行計劃
SQL> set autotrace on
SQL> select count(object_id) from t1;
COUNT(OBJECT_ID)
----------------
72481
T1 表啟用 inmemory 後 ,consistent gets 由 1412 降到 2 , Cost 由 392 降到 16 ,效能提升比較明顯。
六 查詢相關資訊
--- V$INMEMORY_AREA 、 V$IM_SEGMENTS 、V$IM_COLUMN_LEVEL
SELECT NAME, VALUE / (1024 * 1024 * 1024) "SIZE_IN_GB"
FROM V$SGA
WHERE NAME LIKE '%Mem%';
SELECT POOL ,
TRUNC ( ALLOC_BYTES / ( 1024 * 1024 * 1024 ), 2 ) "ALLOC_GB" ,
TRUNC ( USED_BYTES / ( 1024 * 1024 * 1024 ), 2 ) "USED_GB" ,
POPULATE_STATUS
FROM V$INMEMORY_AREA ;
SELECT OWNER ,
SEGMENT_NAME ,
bytes ,
INMEMORY_SIZE ,
POPULATE_STATUS ,
BYTES_NOT_POPULATED
FROM V$IM_SEGMENTS ;
SELECT table_name,
segment_column_id,
column_name,
inmemory_compression
FROM v$im_column_level;
七 注意事項
1 inmemory_size 不能小於 100M
SQL> startup
ORA-64353: in-memory area size cannot be less than 100MB
2 指定表在啟用或禁用 inmemory 時,要及時收集統計資訊
否則執行計劃裡的資訊是不準確的。
詳細資訊可以參考官方文件
Database In-Memory Guide
Introduction to Oracle Database In-Memory
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2674845/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12C新特性___In-Memory列式儲存的總結
- Oracle 18c新特性詳解:In-Memory 專題Oracle
- Oracle 12C新特性-History命令Oracle
- Oracle 12c 兩個新特性Oracle
- Oracle 20c 的 In-Memory 新特性 Spatial 和 Text 支援Oracle
- Oracle 12c新特性--ASMFD(ASM Filter Driver)特性OracleASMFilter
- Oracle 20c 新特性:自主的 In-Memory 管理 - Self-ManagingOracle
- Oracle 12C新特性-RMAN恢復表Oracle
- Oracle 12c新特性---Rapid Home Provisioning (RHP)OracleAPI
- Oracle 12C新特性-資料泵新引數(LOGTIME)Oracle
- Oracle 12C新特性-資料泵新引數(VIEWS_AS_TABLES)OracleView
- Oracle 12c 新特性之臨時Undo--temp_undo_enabledOracle
- Oracle 12C R2新特性-本地UNDO模式(LOCAL_UNDO_ENABLED)Oracle模式
- ORACLE 12C 優化器的一些新特性總結(二)Oracle優化
- ORACLE 12C 優化器的一些新特性總結(一)Oracle優化
- 12c RMAN新特性之Recover Table
- Oracle 12c新特性--LREG程式專門負責註冊例項服務Oracle
- Oracle 12C新特性-線上把非分割槽錶轉為分割槽表Oracle
- 【12.2】Oracle 12C R2新特性-外部表支援分割槽了(Partitioning External Tables)Oracle
- [20190718]12c rman新特性 表恢復.txt
- 【12c】12c RMAN新特性之recover table(表級別恢復)
- 12c新特性,線上move資料檔案
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- Oracle merge 與 PG新特性 UPSERTOracle
- 嚐鮮Oracle Database 12c的十二大新特性VKOracleDatabase
- 1 Oracle Database 19c 新特性OracleDatabase
- 12c DG新特性 - Active Data Guard Far Sync (Doc ID 2179719.1)
- lockdown profile 12c之後的許可權控制新特性
- 【DATAGUARD】Data Guard 12C 新特性:Far Sync Standby (Doc ID 2179719.1)
- Oracle12C新特性_DDL日誌Oracle
- Oracle 20C 多租戶_新特性Oracle
- LightDB 23.1相容Oracle新特性支援Oracle
- Oracle 18c新特性詳解 - 表和表空間相關的新特性Oracle
- Oracle 21c新特性預覽與日常管理相關的幾個新特性Oracle
- Oracle 12c Automatic ReoptimizationOracle
- Oracle 12C安裝Oracle
- Oracle 12.2 新特性: Online PDB relocate (PDB hot move)Oracle
- oracle 19C新特性——混合分割槽表Oracle