{"id":40899,"date":"2025-10-10T16:10:18","date_gmt":"2025-10-10T14:10:18","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=40899"},"modified":"2025-10-10T16:10:20","modified_gmt":"2025-10-10T14:10:20","slug":"how-to-check-if-my-oracle-dbhome-is-ro-or-rw","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/","title":{"rendered":"How to check if my Oracle dbhome is RO or RW?"},"content":{"rendered":"\n<p>As you might know, RO (Read Only) dbhome was introduced in Oracle 18c and became default configuration in Oracle 21c. Oracle came back with RW (Read Write) dbhome as default configuration in 23ai. It might be interesting to know how we can check if the oracle dbhome is RO (Read Only) or RW (Read Write). I had to recently look for it and just wanted to share it through this blog.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3>Environment<\/h3>\n\n\n\n<p>For my test I used a FREE Oracle 23ai version. Here are my ORACLE_HOME and my ORACLE_BASE environment:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4]\">\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] echo $ORACLE_HOME\n\/opt\/oracle\/product\/23ai\/dbhomeFree\n\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] echo $ORACLE_BASE\n\/opt\/oracle\n<\/pre>\n<\/br>\n\n\n\n<p>We know that for RW dbhome the dbs folder will be used in $ORACLE_HOME and for RO in $ORACLE_BASE.<\/p>\n\n\n\n<p>ORACLE_BASE_HOME will be $ORACLE_HOME for RW and $ORACLE_BASE\/homes\/&lt;HOME_NAME&gt; for RO.<\/p>\n\n\n\n<p>I did not activate RO on my dbhome, so I should not have so far any dbs or homes directory in my $ORACLE_BASE:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:~\/ [rdbms2300] ls $ORACLE_BASE\nadmin  audit  cfgtoollogs  diag  oraInventory  product\n<\/pre>\n<\/br>\n\n\n\n\n<p>ROOH stands for Read Only Oracle HOME.<\/p>\n\n\n\n<h3>Activate ROOH<\/h3>\n\n\n\n<p>I will active ROOH for my dbhome.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:~\/ [rdbms2300] roohctl -enable\nEnabling Read-Only Oracle home.\nCannot enable Read-Only Oracle home in a configured Oracle home.\nThe Oracle Home is configured with databases 'FREE'.\n<\/pre>\n<\/br>\n\n\n\n<p>I still have my FREE instance database using the dbhome. I have just updated oratab file to comment the database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:~\/ [rdbms2300] vi \/etc\/oratab\n<\/pre>\n<\/br>\n\n\n\n<p>And ran roohctl command again, which this time will be successful.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:~\/ [rdbms2300] roohctl -enable\nEnabling Read-Only Oracle home.\nUpdate orabasetab file to enable Read-Only Oracle home.\nOrabasetab file has been updated successfully.\nCreate bootstrap directories for Read-Only Oracle home.\nBootstrap directories have been created successfully.\nBootstrap files have been processed successfully.\nBootstrap files have been processed successfully.\nRead-Only Oracle home has been enabled successfully.\nCheck the log file \/opt\/oracle\/cfgtoollogs\/roohctl\/roohctl-251003PM023449.log for more details.\n<\/pre>\n<\/br>\n\n\n\n\n<p>Now I have got a homes folder in $ORACLE_BASE as well as a dbs one.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:~\/ [rdbms2300] ls $ORACLE_BASE\nadmin  audit  cfgtoollogs  dbs  diag  homes  oraInventory  product\n<\/pre>\n<\/br>\n\n\n\n<p>Contents of homes folder:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,5]\">\noracle@vmdmkdev:~\/ [rdbms2300] ls $ORACLE_BASE\/homes\nOraDBHome23aiFree\noracle@vmdmkdev:~\/ [rdbms2300] ls $ORACLE_BASE\/homes\/OraDBHome23aiFree\/\nassistants  dbs  drdaas  hs  install  mgw  network  rdbms\noracle@vmdmkdev:~\/ [rdbms2300] ls $ORACLE_BASE\/homes\/OraDBHome23aiFree\/dbs\noracle@vmdmkdev:~\/ [rdbms2300]\n<\/pre>\n<\/br>\n\n\n\n<p>My dbs folder in $ORACLE_HOME remains, of course, unchanged:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,3]\">\noracle@vmdmkdev:~\/ [rdbms2300] cdh\noracle@vmdmkdev:\/opt\/oracle\/product\/23ai\/dbhomeFree\/ [rdbms2300] cd dbs\noracle@vmdmkdev:\/opt\/oracle\/product\/23ai\/dbhomeFree\/dbs\/ [rdbms2300] ls\nhc_FREE.dat  init.ora  lkFREE_SITE1  orapwFREE  spfileFREE.ora\n<\/pre>\n<\/br>\n\n\n\n<h3>Deactivate ROOH again<\/h3>\n\n\n\n<p>Let&#8217;s deactivate ROOH again and make the Oracle Home RW again to start all the tests.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:\/opt\/oracle\/product\/23ai\/dbhomeFree\/dbs\/ [rdbms2300] roohctl -disable\nDisabling Read-Only Oracle home.\nUpdate orabasetab file to disable Read-Only Oracle home.\nOrabasetab file has been updated successfully.\nRead-Only Oracle home has been disabled successfully.\nCheck the log file \/opt\/oracle\/cfgtoollogs\/roohctl\/roohctl-251003PM024030.log for more details.\n<\/pre>\n<\/br>\n\n\n\n<p>dbs folder in $ORACLE_BASE will remain unchanged.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:\/opt\/oracle\/product\/23ai\/dbhomeFree\/dbs\/ [rdbms2300] cd $ORACLE_BASE\noracle@vmdmkdev:\/opt\/oracle\/ [rdbms2300] ls\nadmin  audit  cfgtoollogs  dbs  diag  homes  oraInventory  product\n<\/pre>\n<\/br>\n\n\n\n\n<h3>Check dbhome status with orabasehome binary<\/h3>\n\n\n\n<p>There is a binary file, orabasehome, stored in $ORACLE_HOME\/bin which will tell me if my Oracle Home is RO or RW. It will just provide the value of ORACLE_BASE_HOME. So either $ORACLE_HOME folder if it is a RW dbhome or $ORACLE_BASE\/homes\/&lt;HOME_NAME&gt; folder if it is a RO dbhome.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [rdbms2300] $ORACLE_HOME\/bin\/orabasehome\n\/opt\/oracle\/product\/23ai\/dbhomeFree\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [rdbms2300]\n<\/pre>\n<\/br>\n\n\n\n<p>The binary file will display in my case $ORACLE_HOME, which is correct.<\/p>\n\n\n\n<h3>Start the database<\/h3>\n\n\n\n<p>I tested instance startup with file either in $ORACLE_HOME\/dbs or $ORACLE_BASE\/dbs folder.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,10,22]\">\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [FREE (CDB$ROOT)] sqh\n\nSQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Fri Oct 3 14:49:46 2025\nVersion 23.5.0.24.07\n\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\n\nConnected to an idle instance.\n\nSQL&gt; startup\nORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance\nORACLE instance started.\n\nTotal System Global Area 1070721856 bytes\nFixed Size\t\t    5368640 bytes\nVariable Size\t\t  335544320 bytes\nDatabase Buffers\t  725614592 bytes\nRedo Buffers\t\t    4194304 bytes\nDatabase mounted.\nDatabase opened.\n\nSQL&gt; shutdown immediate\nDatabase closed.\nDatabase dismounted.\nORACLE instance shut down.\n<\/pre>\n<\/br>\n\n\n\n\n<p>Database is starting correctly.<\/p>\n\n\n\n<p>I moved the instance file from $ORACLE_HOME\/dbs to $ORACLE_BASE\/dbs:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,10,12,14,16]\">\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [FREE (CDB$ROOT)] ls -ltrh $ORACLE_HOME\/dbs\ntotal 18M\n-rw-r-----. 1 oracle oinstall 3.1K May 14  2015 init.ora\nlrwxrwxrwx. 1 oracle oinstall   38 Sep 26  2024 orapwFREE -&gt; \/opt\/oracle\/admin\/FREE\/pfile\/orapwFREE\n-rw-r-----. 1 oracle oinstall   24 Sep 26  2024 lkFREE_SITE1\n-rw-r-----. 1 oracle oinstall 4.5K Oct  3 14:49 spfileFREE.ora\n-rw-r-----. 1 oracle oinstall  18M Oct  3 14:59 snapcf_FREE.f\n-rw-rw----. 1 oracle oinstall 1.6K Oct  3 15:06 hc_FREE.dat\n\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [FREE (CDB$ROOT)] ls -ltrh $ORACLE_BASE\/dbs\ntotal 0\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [FREE (CDB$ROOT)] mv $ORACLE_HOME\/dbs\/* $ORACLE_BASE\/dbs\n\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [FREE (CDB$ROOT)] ls -ltrh $ORACLE_HOME\/dbs\ntotal 0\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [FREE (CDB$ROOT)] ls -ltrh $ORACLE_BASE\/dbs\ntotal 18M\n-rw-r-----. 1 oracle oinstall 3.1K May 14  2015 init.ora\nlrwxrwxrwx. 1 oracle oinstall   38 Sep 26  2024 orapwFREE -&gt; \/opt\/oracle\/admin\/FREE\/pfile\/orapwFREE\n-rw-r-----. 1 oracle oinstall   24 Sep 26  2024 lkFREE_SITE1\n-rw-r-----. 1 oracle oinstall 4.5K Oct  3 14:49 spfileFREE.ora\n-rw-r-----. 1 oracle oinstall  18M Oct  3 14:59 snapcf_FREE.f\n-rw-rw----. 1 oracle oinstall 1.6K Oct  3 15:06 hc_FREE.dat\n<\/pre>\n<\/br>\n\n\n\n<p>Starting the database would fail:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,10]\">\noracle@vmdmkdev:\/opt\/oracle\/dbs\/ [FREE (CDB$ROOT)] sqh\n\nSQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Fri Oct 3 15:18:36 2025\nVersion 23.5.0.24.07\n\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\n\nConnected to an idle instance.\n\nSQL&gt; startup\nORA-01078: failure in processing system parameters\nLRM-00109: could not open parameter file '\/opt\/oracle\/product\/23ai\/dbhomeFree\/dbs\/initFREE.ora'\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n\n<p>So Oracle is looking only for instance file in $ORACLE_HOME\/dbs when configured in RW mode, which makes sense.<\/p>\n\n\n\n<p>I moved database&#8217;s instance files again to $ORACLE_HOME\/dbs, and delete $ORACLE_BASE\/dbs and $ORACLE_BASE\/homes.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,3,5]\">\noracle@vmdmkdev:\/opt\/oracle\/ [FREE (CDB$ROOT)] mv $ORACLE_BASE\/dbs\/* $ORACLE_HOME\/dbs\/\noracle@vmdmkdev:\/opt\/oracle\/ [FREE (CDB$ROOT)] ls $ORACLE_BASE\/dbs\/\noracle@vmdmkdev:\/opt\/oracle\/ [FREE (CDB$ROOT)] ls $ORACLE_HOME\/dbs\/\nhc_FREE.dat  init.ora  lkFREE_SITE1  orapwFREE  snapcf_FREE.f  spfileFREE.ora\noracle@vmdmkdev:\/opt\/oracle\/ [FREE (CDB$ROOT)] rmdir $ORACLE_BASE\/dbs\/\noracle@vmdmkdev:\/opt\/oracle\/ [FREE (CDB$ROOT)] rm -rf $ORACLE_BASE\/homes\n<\/pre>\n<\/br>\n\n\n\n\n<h3>Activate ROOH again<\/h3>\n\n\n\n<p>I activated ROOH for the dbhome and checked dbs and homes folders to be created again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,12]\">\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] roohctl -enable\nEnabling Read-Only Oracle home.\nUpdate orabasetab file to enable Read-Only Oracle home.\nOrabasetab file has been updated successfully.\nCreate bootstrap directories for Read-Only Oracle home.\nBootstrap directories have been created successfully.\nBootstrap files have been processed successfully.\nBootstrap files have been processed successfully.\nRead-Only Oracle home has been enabled successfully.\nCheck the log file \/opt\/oracle\/cfgtoollogs\/roohctl\/roohctl-251003PM032952.log for more details.\n\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] ls -l $ORACLE_BASE | grep -iE 'dbs|homes'\ndrwxr-x---.  2 oracle oinstall    6 Oct 10 15:39 dbs\ndrwxr-x---.  3 oracle oinstall   31 Oct 10 15:39 homes\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)]\n<\/pre>\n<\/br>\n\n\n\n<h3>Check dbhome status with orabasehome binary<\/h3>\n\n\n\n<p>Binary file is now showing $ORACLE_BASE\/homes\/HOME_NAME, so RO is really activated on my dbhome.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] $ORACLE_HOME\/bin\/orabasehome\n\/opt\/oracle\/homes\/OraDBHome23aiFree\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)]\n<\/pre>\n<\/br>\n\n\n\n<h3>Start the database<\/h3>\n\n\n\n<p>Starting the database would fail, as there is no instance file in $ORACLE_BASE\/dbs folder.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,10]\">\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] sqh\n\nSQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Fri Oct 3 15:30:55 2025\nVersion 23.5.0.24.07\n\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\n\nConnected to an idle instance.\n\nSQL&gt; startup\nORA-01078: failure in processing system parameters\nLRM-00109: could not open parameter file '\/opt\/oracle\/dbs\/initFREE.ora'\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>As expected&#8230;<\/p>\n\n\n\n<p>By the way, the inventory.xml file is not displaying anything about RW or RO.<\/p>\n\n\n\n<p>Let&#8217;s move the instance files from $ORACLE_HOME\/dbs to $ORACLE_BASE\/dbs:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,12,14,22]\">\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] ls -l $ORACLE_BASE\/dbs\ntotal 0\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] ls -l $ORACLE_HOME\/dbs\ntotal 18340\n-rw-rw----. 1 oracle oinstall     1544 Oct  3 15:06 hc_FREE.dat\n-rw-r-----. 1 oracle oinstall     3079 May 14  2015 init.ora\n-rw-r-----. 1 oracle oinstall       24 Sep 26  2024 lkFREE_SITE1\nlrwxrwxrwx. 1 oracle oinstall       38 Sep 26  2024 orapwFREE -&gt; \/opt\/oracle\/admin\/FREE\/pfile\/orapwFREE\n-rw-r-----. 1 oracle oinstall 18759680 Oct  3 14:59 snapcf_FREE.f\n-rw-r-----. 1 oracle oinstall     4608 Oct  3 14:49 spfileFREE.ora\n\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] mv $ORACLE_HOME\/dbs\/* $ORACLE_BASE\/dbs\n\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] ls -l $ORACLE_BASE\/dbs\ntotal 18340\n-rw-rw----. 1 oracle oinstall     1544 Oct  3 15:06 hc_FREE.dat\n-rw-r-----. 1 oracle oinstall     3079 May 14  2015 init.ora\n-rw-r-----. 1 oracle oinstall       24 Sep 26  2024 lkFREE_SITE1\nlrwxrwxrwx. 1 oracle oinstall       38 Sep 26  2024 orapwFREE -&gt; \/opt\/oracle\/admin\/FREE\/pfile\/orapwFREE\n-rw-r-----. 1 oracle oinstall 18759680 Oct  3 14:59 snapcf_FREE.f\n-rw-r-----. 1 oracle oinstall     4608 Oct  3 14:49 spfileFREE.ora\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] ls -l $ORACLE_HOME\/dbs\ntotal 0\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)]\n<\/pre>\n<\/br>\n\n\n\n<p>And database can be started:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,10]\">\noracle@vmdmkdev:~\/ [FREE (CDB$ROOT)] sqh\n\nSQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Fri Oct 3 15:48:23 2025\nVersion 23.5.0.24.07\n\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\n\nConnected to an idle instance.\n\nSQL&gt; startup\nORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance\nORACLE instance started.\n\nTotal System Global Area 1070721856 bytes\nFixed Size\t\t    5368640 bytes\nVariable Size\t\t  335544320 bytes\nDatabase Buffers\t  725614592 bytes\nRedo Buffers\t\t    4194304 bytes\nDatabase mounted.\nDatabase opened.\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n\n<h3>To wrap up&#8230;<\/h3>\n\n\n\n<p>If dbhome in RW or RO it looks in appropriate dbs directory, $ORACLE_HOME for RW and $ORACLE_BASE for RO.<br>Oracle inventory will not give us more details about if the Oracle dbhome is RW or RO.<br>orabasehome binary is the solution to know if the Oracle dbhome is in RW or RO.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As you might know, RO (Read Only) dbhome was introduced in Oracle 18c and became default configuration in Oracle 21c. Oracle came back with RW (Read Write) dbhome as default configuration in 23ai. It might be interesting to know how we can check if the oracle dbhome is RO (Read Only) or RW (Read Write). [&hellip;]<\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[59],"tags":[3691,96],"type_dbi":[],"class_list":["post-40899","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-dbhome","tag-oracle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to check if my Oracle dbhome is RO or RW? - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to check if my Oracle dbhome is RO or RW?\" \/>\n<meta property=\"og:description\" content=\"As you might know, RO (Read Only) dbhome was introduced in Oracle 18c and became default configuration in Oracle 21c. Oracle came back with RW (Read Write) dbhome as default configuration in 23ai. It might be interesting to know how we can check if the oracle dbhome is RO (Read Only) or RW (Read Write). [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-10T14:10:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-10T14:10:20+00:00\" \/>\n<meta name=\"author\" content=\"Marc Wagner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marc Wagner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/\"},\"author\":{\"name\":\"Marc Wagner\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"headline\":\"How to check if my Oracle dbhome is RO or RW?\",\"datePublished\":\"2025-10-10T14:10:18+00:00\",\"dateModified\":\"2025-10-10T14:10:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/\"},\"wordCount\":586,\"commentCount\":0,\"keywords\":[\"dbhome\",\"Oracle\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/\",\"name\":\"How to check if my Oracle dbhome is RO or RW? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2025-10-10T14:10:18+00:00\",\"dateModified\":\"2025-10-10T14:10:20+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to check if my Oracle dbhome is RO or RW?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\",\"name\":\"Marc Wagner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"caption\":\"Marc Wagner\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to check if my Oracle dbhome is RO or RW? - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/","og_locale":"en_US","og_type":"article","og_title":"How to check if my Oracle dbhome is RO or RW?","og_description":"As you might know, RO (Read Only) dbhome was introduced in Oracle 18c and became default configuration in Oracle 21c. Oracle came back with RW (Read Write) dbhome as default configuration in 23ai. It might be interesting to know how we can check if the oracle dbhome is RO (Read Only) or RW (Read Write). [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/","og_site_name":"dbi Blog","article_published_time":"2025-10-10T14:10:18+00:00","article_modified_time":"2025-10-10T14:10:20+00:00","author":"Marc Wagner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marc Wagner","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/"},"author":{"name":"Marc Wagner","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"headline":"How to check if my Oracle dbhome is RO or RW?","datePublished":"2025-10-10T14:10:18+00:00","dateModified":"2025-10-10T14:10:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/"},"wordCount":586,"commentCount":0,"keywords":["dbhome","Oracle"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/","url":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/","name":"How to check if my Oracle dbhome is RO or RW? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2025-10-10T14:10:18+00:00","dateModified":"2025-10-10T14:10:20+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/how-to-check-if-my-oracle-dbhome-is-ro-or-rw\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to check if my Oracle dbhome is RO or RW?"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628","name":"Marc Wagner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","caption":"Marc Wagner"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=40899"}],"version-history":[{"count":19,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40899\/revisions"}],"predecessor-version":[{"id":40938,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40899\/revisions\/40938"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=40899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=40899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=40899"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=40899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}