یکی دیگر از پارامترهای جدید اوراکل در نسخه 23c، پارامتر read_only است:
SQL> show parameter READ_ONLY NAME TYPE VALUE ----- ----------- -------- read_only boolean FALSE
این پارامتر صرفا در سطح session قابل تنظیم است و با تنظیم این پارامتر به مقدار true، امکان اجرای دستورات DML و DDL در سطح session از بین خواهد رفت:
SQL> alter system set read_only=true scope=spfile; ORA-32017: failure in updating SPFILE ORA-02065: illegal option for ALTER SYSTEM
SQL> alter session set read_only=true; Session altered. SQL> delete tbl1; ORA-28193: Can perform read operations only SQL> drop table tbl1; ORA-28193: Can perform read operations only
اگر تراکنشی در session در حال اجرا باشد، امکان فعال کردن این پارامتر وجود ندارد:
SQL> delete tbl1; 1 row deleted. SQL> alter session set read_only=true; ORA-02097: parameter cannot be modified because specified value is invalid ORA-65023: active transaction exists in container
این پارامتر برای هر دو نوع از userها یعنی local user و common user قابل استفاده است.