Oracle Read Only Tables

Starting from Oracle 11gR1, oracle allows us to change a table to be a read-only table.

Let us have a quick demo:

I’m connecting as user HR ( to a 19c pluggable database). I have a small table “DEPT”:

So, now I’m going to change the table to be read only table:

Now let us try to do some DML operations against this table:

Also,let us try to do some DDL operations against this table:

In Oracle 11gR1, 11gR2,12c you cannot add new column to the read only table or drop it:

But, starting from Oracle 18c (also in 19c) you can add new column to a read-only table, but you cannot drop it !:

To bring the table back to the read write mode:

You can check of a table is read-only or not by querying the  READ_ONLY column of the DBA_TABLES or USER_TABLES views:

Donate to support our blogging work


For live demo about Oracle Read-Only tables across 11gR2, 12c , 18c,& 19c, please see my video:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s