In the last weeks, it was officially launched the latest version of the Database 12c (126.96.36.199.0), and the peculiarity of this version is the inclusion of a new database technology that implements in memory a new format of columnar data , to deliver extremely fast processing SQL.
Among the first questions that come with this feature of the RDBMS 12c, is if I need to have my entire database in memory, and the answer is no, it is not necessary, this option is designed to keep in memory the data that impact the most system performance due to I/O.
Another question that arises is, I need to double my memory to have this option, and the answer is the same, no, it is not necessary.
- Materialized Views
- External tables
- Temporary tables
- IOT tables
- Hash Clusters
To see which segments are in our “In-Memory”store , use the V $ IM_SEGMENTS, which for the moment we will not see anything because we have not used a table, or allocated a table so that it is in our “In-Memory” Store.
Now, what we will do is modify our tables to be added to our “In-Memory” store.
What we see now are the attributes of the table in the “In-Memory” store.
But as we have not used any of the tables, these are not loaded to the store.
Now what we will do is use them, and also see that part was left out or if all segments are inside the “In-Memory” store.
In the same way we can see the compression ratio of our segments in memory.
DBs and In-Memory Data is not a new concept, but in the new version of Oracle RDBMS is to work in a row and columnar in shape, and response times are impacted in a positive way that will help them for all DBs that are a mix between DW and OLTP.
I will write another post later and with more time, so you can see the advantage of using this option in your RDBMS.