In-memory in oracle 12c DBACLASS
Oracle in-memory has been introduced in oracle 12c. It stores the data in column format, also know as IM column store. it will occupy some space from SGA...
oracle clusteringintermediate
by OracleDba
15 views
Oracle in-memory has been introduced in oracle 12c. It stores the data in column format, also know as IM column store. it will occupy some space from SGA...
123456789101112131415161718
SQL> show parameter inmemory
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 ---- > 0 Means inmemory not enabled
inmemory_trickle_repopulate_servers_ integer 1
percent
optimizer_inmemory_aware boolean TRUE
SQL> select name,value from v$sga where NAME='In-Memory Area';
No rows selected.1234567891011121314151617181920
SQL> alter system set inmemory_size=5G scope=spfile;
System altered.
shutdown immediate;
startup
SQL> show parameter inmemory_size
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
inmemory_size big integer 3G
SQL> select name,value from v$sga where NAME='In-Memory Area';
NAME VALUE
-------------------- ----------
In-Memory Area 32212254721234567891011121314151617181920212223242526272829303132333435363738394041424344
SELECT table_name,inmemory,inmemory_priority,
inmemory_distribute,inmemory_compression,
inmemory_duplicate
FROM dba_tables
WHERE table_name='TEST2';
no rows selected
SQL>select owner, segment_name, populate_status from v$im_segments
no rows selected
SQL> alter table dbaclass.test2 inmemory;
Table altered.
col owner for a12
col segment_name for a12
select owner, segment_name, populate_status from v$im_segments
no rows selected
select count(*) from dbaclass.test2;
col owner for a12
col segment_name for a12
select owner, segment_name, populate_status from v$im_segments
OWNER SEGMENT_NAME POPULATE_STATUS
------------ ------------ ---------------
DBACLASS TEST2 COMPLETED
set lines 299
col table_name for a12
SELECT table_name,inmemory,inmemory_priority,
inmemory_distribute,inmemory_compression,
inmemory_duplicate
FROM dba_tables
WHERE table_name='TEST2';
TABLE_NAME INMEMORY INMEMORY INMEMORY_DISTRI INMEMORY_COMPRESS INMEMORY_DUPL
------------ -------- -------- --------------- ----------------- -------------
TEST2 ENABLED NONE AUTO FOR QUERY LOW NO DUPLICATE12345678910111213141516171819
SQL> explain plan for select * from dbaclass.test2;
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
Plan hash value: 3778028574
------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 77294 | 8001K| 29 (25)| 00:00:01 |
| 1 | TABLE ACCESS INMEMORY FULL| TEST2 | 77294 | 8001K| 29 (25)| 00:00:01 | ---- >>> THIS ONE SHOWS THAT INMEMORY IS USED
------------------------------------------------------------------------------------
8 rows selected.1
oracle 22665 1 0 13:58:45 ? 0:01 ora_imco_SBDB123456789
ALTER TABLE dbaclass.TEST3 INMEMORY PRIORITY CRITICAL;
SQL> select OWNER,SEGMENT_NAME,populate_status,INMEMORY_PRIORITY from v$im_segments;
OWNER SEGMENT_N POPULATE_ INMEMORY
-------- --------- --------- --------
DBACLASS TEST3 COMPLETED CRITICAL
DBACLASS TEST2 COMPLETED NONE12345678910111213141516
SQL> select tablespace_name,DEF_INMEMORY,DEF_INMEMORY_PRIORITY,DEF_INMEMORY_COMPRESSION,DEF_INMEMORY_DISTRIBUTE,DEF_INMEMORY_DUPLICATE from dba_tablespaces where tablespace_name='USERS';
TABLESPACE_NAME DEF_INME DEF_INME DEF_INMEMORY_COMP DEF_INMEMORY_DI DEF_INMEMORY_
------------------------------ -------- -------- ----------------- --------------- -------------
USERS DISABLED
SQL> ALTER TABLESPACE USERS DEFAULT INMEMORY;
Tablespace altered.
SQL> select tablespace_name,DEF_INMEMORY,DEF_INMEMORY_PRIORITY,DEF_INMEMORY_COMPRESSION,DEF_INMEMORY_DISTRIBUTE,DEF_INMEMORY_DUPLICATE from dba_tablespaces where tablespace_name='USERS';
TABLESPACE_NAME DEF_INME DEF_INME DEF_INMEMORY_COMP DEF_INMEMORY_DI DEF_INMEMORY_
------------------------------ -------- -------- ----------------- --------------- -------------
USERS ENABLED NONE FOR QUERY LOW AUTO NO DUPLICATE1
ALTER TABLE DBACLASS.TEST2 NO INMEMORY;1234567
set pagesize 200
set lines 200
select * from V$INMEMORY_AREA
POOL ALLOC_BYTES USED_BYTES POPULATE_STATUS CON_ID
-------------------------- ----------- ---------- -------------------------- ----------
1MB POOL 2549088256 9437184 DONE 0
64KB POOL 654311424 1638400 DONE 0Please to add comments
No comments yet. Be the first to comment!