Re: Question on IO consideration

  • From: Ghassan Salem <salem.ghassan@xxxxxxxxx>
  • To: Lok P <loknath.73@xxxxxxxxx>
  • Date: Wed, 22 Sep 2021 10:42:32 +0200

Lok,
You'll see columnar flashcache if you have tables that use HCC. And HCC is
not automatic, you have to tell the DB to do it.

As for the in-memory flashcache, it requires that you have the in-memory
option, and that you just set inmemory_size to an acceptable value
(depending on your sga...). This will let the storage software use the
inmemory format and libraries but using the flashcache instead of the db
node ram. There's no need for you to modify the tables to tell it to do
that. The first versions of this required HCC tables, but the latest ones
do not.

So these features depend on the db version, as well as storage software
version.


On Wed, Sep 22, 2021 at 10:19 AM Lok P <loknath.73@xxxxxxxxx> wrote:

Thank You All. I was trying to query a few databases. And the below query
gives Zero for most. But I checked all of them having the cell server
version is 19.2+. Few of the databases are in 11.2 though. We do have big
partition tables with compressed historical partitions as 'query high'. So
I wanted to understand, as we are talking mainly three separate things

1)Database in memory option which needs additional license and also it
will need inmemory_size parameter to be set as nonzero (which we don't have
set currently). And required a minimum 12.1+ Db version and is independent
of the cell server version. And I think it will also need specific changes
to the table/column definition to make it in memory. Correct me if I'm
wrong.

2)Columnar flash cache store format, which I believe is default for all
12.1+ cell server versions irrespective of database version. And oracle
will do it automatically based on OLTP vs warehousing type load. So why am
I seeing the results out of the below query as zero in some of our
databases? And also 'cell physical IO bytes saved by columnar cache' as
zero. Is there any other parameter that needs to be tweaked to use this
feature?

3)And @Ghassan , as you mentioned just now, is 'in memory flash cache' .
Is it different from the above two and is dependent on specific DB and cell
server version or parameter change?

Apology if I am mixing up multiple things and interpreting them wrong.


select
xmlcast(xmlquery('/cell_stats/stats/stats/stat[@name="columnar_cache_size"]'
passing xmltype(STATISTICS_VALUE) returning content) as varchar2(200) )
"COLUMNAR CACHE SIZE"
from v$cell_state
where xmlexists('/cell_stats/stats/stats[@type="columnarcache"]' passing
xmltype(STATISTICS_VALUE));

On Wed, Sep 22, 2021 at 1:22 PM Ghassan Salem <salem.ghassan@xxxxxxxxx>
wrote:

Mladen,
The feature Tanel is mentioning is free, not to be confused with
in-memory flashcache, which requires the inmemory option.

Regards

On Wed, Sep 22, 2021 at 1:59 AM Mladen Gogala <gogala.mladen@xxxxxxxxx>
wrote:


On 9/21/21 17:41, Tanel Poder wrote:
Exadata storage cells (starting from cellsrv v12.1.2.1.0 / Jan 2015)
can use fully columnar flash cache for greatly speeding up reads (the
cache is fully columnar, not hybrid like the datafile storage).


And all they want in exchange for that capability is your first-born.
Bargain price, indeed. BTW, MariaDB can also do that, a bit cheaper.

--
Mladen Gogala
Database Consultant
Tel: (347) 321-1217
https://dbwhisperer.wordpress.com

--
//www.freelists.org/webpage/oracle-l



Other related posts: