True cache - 23c new feature
John, March 08, 2024 - 4:27 am UTC
Can you please provide links and pointers to 23c new feature - True cache. I was told that it uses Data Guard technologies under the covers to replicate data. Wondering how does it take care of data latencies/lag and all.
We are currently using DBRedis cache and wanted to explore Oracle
'true cache' feature .
Thanks!
March 12, 2024 - 8:04 am UTC
Think of it like "in-memory Active DataGuard"

Rather than using redo to roll forward a physical copy of the database, we do the same thing to roll forward an in-memory subset of the database on an app server.
You can then direct read-only transactions at the cache and read-write transactions at the primary.
True cache - 23c new feature
John, March 12, 2024 - 5:52 pm UTC
Hi Connor,
Thanks for the true cache - architecture diagram. its really helpful
Just wondering, Oracle True cache user Guide yet available on MOS. yet.
Thanks
March 13, 2024 - 1:38 am UTC
Not yet to my knowledge. Expect it with the 23c GA release.
True cache 23c
John, March 25, 2024 - 3:01 am UTC
Hi Connor
I have question about true cache architecture
1. Since true cache is disk less architecture, when we restart the True cache instance every time, Does Oracle need to fetch all the blocks from the subset of the database from the primary ?
Let’s say the tables cached with Truecache are multi terabyte tables (upto 6TB or so). Wouldn’t take time to pull all those data blocks and warm up the true cache.
2. Does True cache architecture in 23c supports RAC like cluster or it’s all independent single node instances like sharding ?
Thanks in advance for clarifying the True cache architecture questions.
March 25, 2024 - 5:16 am UTC
1) It goes through a warmup process.
1a) You have an app server with 6TB RAM ?
2) My understanding you will options of duplicated (all true cache nodes have the same data) or sharded (each true cache node has a subset of data).
But all that falls under standard Oracle safe harbor
True cache -23c
John, April 05, 2024 - 3:05 am UTC
Hi Connor,
>> It goes through a warmup process.
Could you please briefly explain how warmup process works in true cache architecture
>> 1a) You have an app server with 6TB RAM ?
The true cache server has 2TB memory and we have SGA set to 1.5 TB and DB_KEEP_CACHE_SIZE set to 1TB. The table to be kept in true cache is about 6TB. In this scenarios, How does oracle determine on what blocks to be kept in true cache and/or what will spill to disks. ? It would be great if you could clarify this as well.
Thanks !
April 08, 2024 - 7:58 am UTC
Could you please briefly explain how warmup process
We'll get blocks from the primary when the true cache instance starts.
How does oracle determine on what blocks to be kept in true cache
In the same vein as an Active Data Guard. you will be accessing the buffer cache as per normal. As changes occur on the primary, we send the redo over. If the redo maps to a block in memory, we update it in memory. If it maps to a block not in the case, we'll ignore it because anyone accessing this true cache instance has yet to (recently) ask for this block.