Subscribe to Posts by Email

Subscriber Count

    701

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

Pages

18c Database : MEMOPTIMIZE_POOL_SIZE in SGA

Starting 18c, A new pool is introduced in SGA called MemOptimize pool to store the frequently access tables (in other words pin your tables in buffer cache) via primary key values. The Memoptimized Rowstore (pool) uses a memory area in the system global area (SGA) called the memoptimize pool that stores the hash indexes of the tables when enabled for fast lookup.

For Fast look up of the tables you must,

  • Have a primary key on the table
  • No compression is used on the table

When you set Memoptimize_pool_size to a non zero value that much size is allocated to memoptimize store from SGA. So you must be careful while setting this as it takes away the memory from SGA.

You can use alter system set memoptimize_pool_size=n scope=spfile to set the parameter. Note this parameter is not dynamic and required database restart.

To enable memoptimize on tables , you can use create/alter table statement with optimize for read option.

  • create table test (id number primary key, name varchar2(10)) mem optimize for read segment creation immediate;
  • Alter table test mem optimize for read

-Thanks

Comments are closed.