如何驗證/啟用記憶體資料庫配置? (文件 ID 2178918.1)
適用於:
Oracle Database - Enterprise Edition - 版本 12.1.0.2 和更高版本本文件所含資訊適用於所有平臺
目標
如何驗證/啟用記憶體資料庫配置?
解決方案
檢查資料庫的版本是 12.1.0.2:
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 0
PL/SQL Release 12.1.0.2.0 - Production 0
CORE 12.1.0.2.0 Production 0
TNS for Linux: Version 12.1.0.2.0 - Production 0
NLSRTL Version 12.1.0.2.0 - Production 0
inmemory_size 的設定應大於0
在設定 inmemory_size 引數之前先檢查:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 0
inmemory_query string ENABLE
inmemory_size big integer 0
inmemory_trickle_repopulate_servers_ integer 1
percent
optimizer_inmemory_aware boolean TRUE
SQL> select name, value from v$sga;
NAME VALUE
-------------------- ----------
Fixed Size 2927336
Variable Size 201327896
Database Buffers 402653184
Redo Buffers 5459968
配置資料庫引數:
System altered.
設定 inmemory_size 引數後(需要重新啟動資料庫讓引數生效)
SQL> show parameter inmemory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
inmemory_clause_default string
inmemory_force string DEFAULT
inmemory_max_populate_servers integer 2
inmemory_query string ENABLE
inmemory_size big integer 200M
inmemory_trickle_repopulate_servers_ integer 1
percent
optimizer_inmemory_aware boolean TRUE
SQL> select name, value from v$sga;
NAME VALUE
-------------------- ----------
Fixed Size 2927336
Variable Size 264242456
Database Buffers 130023424
Redo Buffers 5459968
In-Memory Area 209715200
5 rows selected.
使用 SH 使用者進行測試
SQL> conn sh/oracle
Connected.
放置表到記憶體之前先檢查:
SQL> SELECT table_name,
inmemory,
inmemory_priority,
inmemory_distribute,
inmemory_compression,
inmemory_duplicate
FROM user_tables
WHERE table_name='CUSTOMERS';
TABLE_NAME INMEMORY INMEMORY INMEMORY_DISTRI INMEMORY_COMPRESS INMEMORY_DUPL
------------------------------ -------- -------- --------------- ----------------- -------------
CUSTOMERS DISABLED
1 row selected.
SQL> select pool, alloc_bytes, used_bytes, populate_status from v$inmemory_area;
POOL ALLOC_BYTES USED_BYTES POPULATE_STATUS
-------------------------- ----------- ---------- --------------------------
1MB POOL 0 0 OUT OF MEMORY
64KB POOL 0 0 OUT OF MEMORY
SQL> select owner, segment_name, populate_status from v$im_segments;
no rows selected
放置表到記憶體的命令:
SQL> alter table CUSTOMERS inmemory;
Table altered.
放置表到記憶體以後,檢查:
SQL> SELECT cust_valid, Count(*)
FROM customers
GROUP BY cust_valid; 2 3
C COUNT(*)
- ----------
I 44879
A 10621
2 rows selected.
SQL> SELECT table_name,
inmemory,
inmemory_priority,
inmemory_distribute,
inmemory_compression,
inmemory_duplicate
FROM user_tables
WHERE table_name='CUSTOMERS';
TABLE_NAME INMEMORY INMEMORY INMEMORY_DISTRI INMEMORY_COMPRESS INMEMORY_DUPL
------------------------------ -------- -------- --------------- ----------------- -------------
CUSTOMERS ENABLED NONE AUTO FOR QUERY LOW NO DUPLICATE
1 row selected.
SQL> select owner, segment_name, populate_status from v$im_segments;
OWNER SEGMENT_NAME POPULATE_
------------------------- ------------------------- ---------
SH CUSTOMERS COMPLETED
1 row selected.
SQL> select pool, alloc_bytes, used_bytes, populate_status from v$inmemory_area;
POOL ALLOC_BYTES USED_BYTES POPULATE_STATUS
-------------------------- ----------- ---------- --------------------------
1MB POOL 166723584 4194304 DONE
64KB POOL 25165824 131072 DONE
2 rows selected.
驗證使用的執行計劃:
SQL> set autotrace traceonly;
SQL> SELECT cust_valid, Count(*)
FROM customers
GROUP BY cust_valid;
2 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 1577413243
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 2 | 4 | 28 (11)| 00:00:01 |
| 1 | HASH GROUP BY | | 2 | 4 | 28 (11)| 00:00:01 |
| 2 | TABLE ACCESS INMEMORY FULL| CUSTOMERS | 55500 | 108K| 26 (4)| 00:00:01 |
-----------------------------------------------------------------------------------------
Statistics
----------------------------------------------------------
249 recursive calls
0 db block gets
273 consistent gets
5 physical reads
0 redo size
676 bytes sent via SQL*Net to client
552 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
17 sorts (memory)
0 sorts (disk)
2 rows processed
功能使用情況的統計資料將在資料庫建立的7天后生成,否則將只返回2行。雖然解釋計劃可能會顯示’IN MEMORY FULL’,最終的執行可能會也可能不會使用 IN-Memory。如果表沒有被生成到列儲存裡(沒有足夠的空間,第一次訪問等),此時將會使用 Buffer Cache。可以使用 SQL Monitor 或日誌跟蹤來實際確認它的使用情況。
from dba_feature_usage_statistics u1
where version=(select max(version)
from dba_feature_usage_statistics u2
where u2.name=u1.name and u1.name like 'In-%')
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31393455/viewspace-2129698/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- 記憶體資料庫如何發揮記憶體優勢?記憶體資料庫
- 如何檢視MySQL資料庫佔多大記憶體,佔用太多記憶體怎麼辦?MySql資料庫記憶體
- 【記憶體資料庫】TimesTen記憶體資料庫
- Oracle - 資料庫的記憶體結構Oracle資料庫記憶體
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- 瀚高資料庫記憶體結構資料庫記憶體
- 資料庫新兵:分散式實時分析記憶體資料庫eSight資料庫分散式記憶體
- 磁碟資料庫與記憶體資料庫的特點比較資料庫記憶體
- 資料庫實現原理#6(共享記憶體)資料庫記憶體
- 分析師解讀記憶體資料庫MemSQLSP記憶體資料庫SQL
- 南大通用極速記憶體資料庫記憶體資料庫
- PG資料庫記憶體告警了怎麼分析資料庫記憶體
- 從Oracle資料庫故障到AIX記憶體管理Oracle資料庫AI記憶體
- SpringBoot SpringSecurity 介紹(基於記憶體的驗證)Spring BootGse記憶體
- 資源記憶體佔用記憶體
- HANA資料庫查詢大表佔用記憶體空間 for hana 2.0資料庫記憶體
- python定時爬蟲啟用時如何減少記憶體?Python爬蟲記憶體
- Linux記憶體不夠了?看看如何開啟虛擬記憶體增加記憶體使用量Linux記憶體
- 傲騰持久記憶體如何為資料賦能,加速應用落地?記憶體
- 忘記Apple ID密碼,如何移除iCloud啟用鎖APP密碼Cloud
- DBeaverEE for Mac免啟用企業版:卓越的資料庫開發體驗Mac資料庫
- 適用於大型記憶體資料庫的 Amazon EC2 大記憶體 U7i 例項簡介記憶體資料庫
- 記憶體資料庫適合多大規模的資料集?UY記憶體資料庫
- 雲原生背景下如何配置 JVM 記憶體JVM記憶體
- iOS開發筆記— 資料庫、Crash、記憶體問題分析iOS筆記資料庫記憶體
- 非易失性記憶體技術及資料庫記憶體資料庫
- 解讀記憶體資料庫的儲存需求RC記憶體資料庫
- 記憶體洩漏引起的 資料庫效能問題記憶體資料庫
- Postgresql資料庫體系結構-程式和記憶體結構SQL資料庫記憶體
- 如何儲存/恢復Java應用程式核心記憶體資料現場?Java記憶體
- Tomcat修改記憶體配置Tomcat記憶體
- MySQL InnoDB記憶體配置MySql記憶體
- 達夢資料庫基礎知識(三)達夢資料庫記憶體結構資料庫記憶體
- jsonlint:python的json資料驗證庫JSONPython
- win10系統快速啟動佔用記憶體如何解決_win10快速啟動佔用記憶體高的解決教程Win10記憶體
- Spring Security OAuth2之resource_id配置與驗證SpringOAuth
- CAS配置資料庫,實現資料庫使用者認證資料庫
- 【虹科分享】Redis 不僅僅是記憶體資料庫Redis記憶體資料庫