MIM: Strange issue with Oracle DB when chaning connection parameter and create new MA
March 21, 2016 7 Comments
I’m recently in a migration of an IDM solution from FIM 2010 R2 to MIM 2016.
Doing that I setup a new server with 2012 R2 (old server was 2008 R2), and also switched to newest Oracle Client 126.96.36.199.
I also copied over the tnsnames.ora and all seems working so far.
Then one of the Oracle DBs switched to Oracle 12 server by application owner.
So I modified tnsnames.ora to match the new server name.
I just want to check if all is working properly on the MA and entered the PW of the DB user again in MA properties.
But here the trouble starts and it took me around 2 hours to find out whats wrong.
The following error message appears when saying “yes” on the refresh schema dialog after changing MA db user password:
--------------------------- Synchronization Service Manager --------------------------- Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Microsoft.DirectoryServices.MetadirectoryServices.UI.PropertySheetBase.MMSErrorMessages.resources" was correctly embedded or linked into assembly "PropertySheetBase" at compile time, or that all the satellite assemblies required are loadable and fully signed. --------------------------- OK ---------------------------
To check if it is a connection or firewall issue, I tried to connect to DB with SQL Developer using tnsnames.ora and everything is fine, hmmm !
But doing a tnsping on the DB server leads to an error (Illegal ADDRESS-Parameter):
Adapter TNSNAMES zur Aufloesung des Alias benutzt Verbindungsversuch mit (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = SRV860)(PORT = 1521)) (CONNECT_D ATA = (SERVER = DEDICATED) (SID = TEST))) DEMO = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = SRWGP 505)(PORT = 1521)) ) (CONNECT_DATA = (SID = DEMO) ) ) TNS-12533: TNS: Ungueltige ADDRESS-Parameter
When looking deeper on that message you can see that tnsping catches a 2nd entry of the tnsnames.ora, called DEMO, but why.
My tnsnames.ora is working fine on my old FIM Server with Oracle Client 10.0.2 and look like that:
TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = SRV860)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = TEST) ) ) DEMO = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = SRV505)(PORT = 1521)) ) (CONNECT_DATA = (SID = DEMO) ) )
It’s hard to see but there is a “space” right in front of the 2nd entry, called “DEMO“. And it seems to me that the new Oracle Client is more strickly that the old one. Removing the leading space of the entry tnsping gives an OK message and also modifying the MA parameter and doing an schema refresh worked well.
I’ve no idea why this issue leads to the very strage error message in MIM.
And why the hell was the SQL Developer connecting to the DB using this wrong tnsnames.ora.
However Oracle MA works now, and I can proceed with my migration, seeing what comes next 😉