The Read-Only Oracle Home feature was introduced in Oracle 18c. This feature moves log files and configuration files located in the ORACLE_HOME directory-such as listener.ora, sqlnet.ora, spfile.ora, and others-to subdirectories under ORACLE_BASE.
In Oracle versions 18c and 19c, this feature is not enabled by default. However, it became enabled by default starting with version 21c:

[oracle@RAC3 ~]$ /oracle21c/home/bin/orabasehome
/oracle21c/base/homes/OraDB21Home1

Image description
In version 23ai, however, this feature was disabled again:

[oracle@OEL9 ~]$ /oracle23.6/home/bin/orabasehome
/oracle23.6/home

Image description
As you can see, the homes folder under ORACLE_BASE is no longer present by default in version 23ai. However, you can enable this feature manually:

[oracle@OEL9 ~]$ cd /oracle23.6/home/bin/
[oracle@OEL9 bin]$ ./roohctl -enable
Enabling Read-Only Oracle home.
Update orabasetab file to enable Read-Only Oracle home.
Orabasetab file has been updated successfully.
Create bootstrap directories for Read-Only Oracle home.
Bootstrap directories have been created successfully.
Bootstrap files have been processed successfully.
Bootstrap files have been processed successfully.
Read-Only Oracle home has been enabled successfully.
Check the log file /oracle23.6/base/cfgtoollogs/roohctl/roohctl-241112AM110738.log for more details.
[oracle@OEL9 bin]$ ./orabasehome
/oracle23.6/base/homes/OraDB23Home1

To disable the Read-Only Oracle Home, you can run the following command:

[oracle@OEL9 bin]$ ./roohctl -disable
Disabling Read-Only Oracle home.
Update orabasetab file to disable Read-Only Oracle home.
Orabasetab file has been updated successfully.
Read-Only Oracle home has been disabled successfully.
Check the log file /oracle23.6/base/cfgtoollogs/roohctl/roohctl-241112AM110944.log for more details.
[oracle@OEL9 bin]$ ./orabasehome
/oracle23.6/home

Vahid Yousefzadeh
Oracle Database Administrator
[email protected]
Telegram channel :https://t.me/oracledb