← Back to list

Hybrid Read Only in Oracle 23 ai

“Hybrid Read only mode” one of the nicest improvements in Oracle 23ai.

Zahir Mohideen · 2026-06-14 13:24 · 0 claps · 2.1 min read
#oracle-database #database-administration #tablespace #data-security #oracle-database-23ai
Open on Medium ↗
Wiki topics: 🔭 · Astronomy & Space

Hybrid Read Only in Oracle 23 ai

Hybrid Read only mode” one of the nicest improvements in Oracle 23ai.

With this , we can have the pluggable databases ( PDB) either as “read/write” / “read only” .

In this “read only” mode , the common users will able to update the tables , as if PDB is “open” and “read write” mode the local (PDB) users will not be able to update / insert any tables; they can “select only” from the pdb objects.

This features enables the DBAs to patch , update the database objects in a pluggable database.

Here is an example.

There is a new column name ‘IS_HYBRID_READ_ONLY’ to the v$view ( v$container_topology )

Log on to CDB and review the PDB status.

Session 1

SQL> show con_name;

CON_NAME 
------------------------------
CDB$ROOT

SQL> select con_name , open_mode , is_hybrid_read_only from v$container_topology;

CON_NAME    OPEN_MODE     IS_HYBRID_READ_ONLY    
___________ _____________ ______________________ 
CDB$ROOT    READ WRITE    NO                     
PDB$SEED    READ ONLY     NO                     
FREEPDB1    READ WRITE    NO 

Session 2

In this PDB , let us create a user in PDB and give him access to create a table , quota unlimited on “USERS” tablespace. Note that , the user need not created with “LOCAL” as the prefix.

SQL> show user
USER is "LOCAL_MOHIDEEN"

SQL> create table emp as select object_name as emp_name , object_type as dept from all_objects ;
Table created.

SQL> insert into emp values ( 'Zahir' , 'IT') ;
1 row created.

SQL> commit;
Commit complete.

As the PDB is open for “READ WRITE” , the local user was able to create a table and insert a record in to the table.

Now , let us go to the session 1 and make the PDB as hybrid read only.

Session 1

In this session , we made the PDB as “hybrid read only” and created a common user ( C##MOHIDEEN) and give him access

to the table owned by the local user ( LOCAL_MOHIDEEN). Note that common user has to be created with C## as prefix.

SQL> show con_name;

CON_NAME 
------------------------------
CDB$ROOT

SQL> alter pluggable database freepdb1 close immediate;

Pluggable database FREEPDB1 altered.

SQL> alter pluggable database freepdb1 open hybrid read only;

Pluggable database FREEPDB1 altered.

SQL> select con_name , open_mode , is_hybrid_read_only from v$container_topology;

CON_NAME    OPEN_MODE     IS_HYBRID_READ_ONLY    
___________ _____________ ______________________ 
CDB$ROOT    READ WRITE    NO                     
PDB$SEED    READ ONLY     NO                     
FREEPDB1    READ WRITE    YES 

Session 2

Now , let us go to the other session and try to insert a record in to the table (EMP).

SQL> show user;
USER is "LOCAL_MOHIDEEN"

SQL> insert into emp values ('John Doe','HR');
insert into emp values ('John Doe','HR')
            *
ERROR at line 1:
ORA-16000: Attempting to modify database or pluggable database that is open for
read-only access.
Help: https://docs.oracle.com/error-help/db/ora-16000/

SQL> exit
Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.7.0.25.01

This time , let us log on to the PDB as the common user ( c##mohideen).

SQL> show user
USER is "C##MOHIDEEN"

SQL> insert into local_mohideen.emp values ( 'John Doe','HR'); 
1 row created.

SQL> commit;
Commit complete.

There we have it .

With the cdb user , I can do read/write operations, where with the local user the database is read only.

Hybrid Rocks! :-)

Comments Welcome!

Originally published at https://zahirmohideen.blogspot.com/2025/07/hybrid-read-only-in-oracle-23ai.html


메타데이터
post_id
bf8b25c256d6
slug
hybrid-read-only-in-oracle-23-ai-bf8b25c256d6
url
https://medium.com/@zahirmohideen/hybrid-read-only-in-oracle-23-ai-bf8b25c256d6
canonical_url
https://medium.com/@zahirmohideen/hybrid-read-only-in-oracle-23-ai-bf8b25c256d6
author_url
https://medium.com/@zahirmohideen
status
ok
fetched_at
2026-07-11 07:33:00