Skip to main content

JDBC and CMAN and a new location for the database

I had an interesting issue this week.

The setup is as follows:

WLS with Webcenter. The Datasource point to a database for the metadata. This database sits in the database zone. As we are not allowed to connect directly to the database there is a CMAN in between.
After the setup of the CMAN and the database we had a connection using JDBC where the CMAN was our endpoint.

So far so good.

Now the IT department decided (a long time ago) to move a number of databases from one platform to another. As this meant a change in the IP and name of the database we expected that the only configuration that was needed to change was the CMAN.

Database moved, CMAN config adapted and voila: nothing works!

First test was to use the console and test the JDBC connection. Error was a

ORA-12514 TNS:listener does not currently know of service requested in connect descriptor.


This in itself was strange as from the WLS/Webcenter perspective nothing did change. Endpoint was still the CMAN, SID did not change after the move.

Second test was to see if the connection from the WLS machine to the CMAN was still OK. As there was no Oracle client on the system I just used a telnet connection to the assigned CMAN port. Perfect result: the connection was open, so something was listening on the machine on the given port. As I am positive that this machine only harbors a CMAN I was happy.

Third check - going to the CMAN folks and see if the connection from the CMAN to the DB was OK.
Worked like a charm. Config looked perfect to. 

Now this became a kind of a puzzle.

I went back to the WLS Admin console and restarted the JDBC connection. Still the same error.

I tried to change some settings in the JDBC settings but no avail.

Just for the fun of it I created a new JDBC connection pointing to the same CMAN endpoint with absolutely the same settings as before. Assigned the new JDBC datasource to a managed server (actually the cluster) and hit the test button. Now everything was the same as before but the name. It worked. Hooray!!!

As we had a number of datasources with some of them having names that are used inside the applications it seemed like a tedious idea to drop the datasources and recreate them. I did this for one cluster and it worked but I was a little bit too lazy to do this for all of them.

Then I tried something else. I went to a managed server of another domain and restarted it.
When it came back - which surprised me with a "broken" datasource - I went to the datasource and tested it again. Immediately the test can back without an error.

Trying another one - same result.
So obviously I restarted all MS (and the AS as they need db access as well). 

I wanted to let you know this as such a setting can impact your MAA environment when you change the endpoint of a database behind a CMAN.

 

Comments

hitesh said…
And after the restart of the MS in cluster , Datasources worked fine?

Popular posts from this blog

Different silent install files WLS 10.3.2 and 10.3.3

Today I tried to cut some corners and use a silent.xml file for WLS 10.3.3 for a silent installation of 10.3.2. To my amazement on a clean machine I received the following error: oracle@xxx001:/opt/oracle$ java -Djava.io.tmpdir=/opt/oracle/tmp -jar /nfsstage/wls1032_generic.jar -mode=silent -silent_xml=./silent/wls_silent.xml -log=/tmp/wls.log Extracting 0%....................................................................................................100% The local BEA product registry is corrupted. Please select another Middleware Home or contact Oracle Support I checked the wls_silent.xml file and found that it includes Coherence, which was not bundled with the 10.3.2 version. So I modified the 10.3.3 silent_xml file from value="WebLogic Server/Core Application Server|WebLogic Server/Administration Console|WebLogic Server/Configuration Wizard and Upgrade Framework|WebLogic Server/Web 2.0 HTTP Pub-Sub Server|WebLogic Server/WebLogic JDBC Drivers|WebLogic Server/Third ...

Unpacking Oracle cpio for AIX

When extracting a cpio file with Oracle software from OTN on AIX you might encounter the following problem: oracle@mymachine-app:/install/oracle/MRCA>cpio -idmv cpio: 0511-903 Out of phase! cpio attempting to continue... cpio: 0511-904 skipping 642010 bytes to get back in phase! One or more files lost and the previous file is possibly corrupt! Segmentation fault The solution is to use the option -idcmv oracle@mymachine-app:/install/oracle/MRCA>cpio -idcmv c Reads and writes header information in ASCII character form. If a cpio archive was created using the c flag, it must be extracted with c flag.

Add a user to the JavaSSO

In AS 10.1.3.x Oracle came up with the JavaSSO. Seems to be (from a high level perspective) a poor man's version of the SSO from the AS 10.1.2.x. Having said this it strikes me how little documentation is available for this feature. But we're explorers, aren't we? JavaSSO is based on a file based security provider. The two main files are: - jazn.xml - system-jazn-data.xml Both exist in the $OH/j2ee/ directory. This means that if you have more than one OC4J instance you need to edit both. The most basic task is to add a user. You can - of course try to do this by editing the xml files, but luckily Oracle provides the jazn.jar tool. Make sure that you use the correct java executable and start it: java -jar jazn.jar -adduser jazn.com andreas welcome1 You will be asked for the AbstractLoginModule username (oc4jadmin) and its password. Now we have a user but usually this has to be added to a role before it can do something useful: java -jar jazn.jar -grantrole users jazn.com an...