Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Michal.

Asked: September 05, 2023 - 9:09 am UTC

Last updated: April 08, 2024 - 7:58 am UTC

Version: 23C

Viewed 10K+ times! This question is

You Asked

Hello,
I wanted to ask about new 23C feature - Schema-level Privileges: is it possible to combine it with "WITH GRANT OPTION"?
According to documentation
https://docs.oracle.com/en/database/oracle/oracle-database/23/dbseg/configuring-privilege-and-role-authorization.html#GUID-EEE53C39-D610-4792-82EA-6F49B880B036
"WITH ADMIN OPTION" is only extension.

In other terms - would it be possible for user who got schema privileges to create view on top of tables from another schema or will we have to stick to object level privileges WITH GRANT OPTION included?

Thanks in advance,
kind regards

and Chris said...

Yes, WITH ADMIN OPTION is the only valid extension for schema-level privileges.

If you want to give WITH GRANT OPTION you'll have to stick with object level privileges.

Rating

  (4 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

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!


Connor McDonald
March 12, 2024 - 8:04 am UTC

Think of it like "in-memory Active DataGuard"

TRUE_CACHE

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
Connor McDonald
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.


Connor McDonald
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 !
Connor McDonald
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.

More to Explore

Design

New to good database design? Check out Chris Saxon's full fundamentals class.