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
$1.00
For live demo about Oracle Read-Only tables across 11gR2, 12c , 18c,& 19c, please see my video:
Thanks
Ahmed