We are using WLS 10.3.6.0 with WebCenter Content (WCC) as the application.
For the production back end, RAC will be be the production DB and we need to support failover to Data Guard.
We set up a Multi Data Source (MDS) with the first simple Data Source pointing to RAC and the second simple Data Source pointing to Data Guard.
The MDS is setup with the failover algorithm.
Starting with the MDS using the RAC connection, everything was good. The DBA performed the "Switch over",
effectively bringing down the RAC and enabling the DATA GUARD instance. MDS appeared to function correctly and our WLS app had functioning Read access to the data guard instance.
However, no WRITE operations to the DB worked. These operations resulted in: "ORA-16000: database open for read-only access"
Never the less, accessing the Data Guard schema through SQL Developer, using the same connection credentials as the WLS Data Source, allowed me to update table data
(which was also subsequently readable in the WLS app.)
Is this a bug in the WLS jdbc/data source or could something possibly be incorrectly configured?
There is nothing in WebLogic that is going to be able to control or know whether a DBMS is read-only.
I would suggest making a simple JDBC program that gets a connection to the dataguard DBMS just
like WLS would do, and try updating a table from it.