MIM: Strange issue with Oracle DB when chaning connection parameter and create new MA


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 12.1.0.2.
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:

oracleissue1

In Text:

---------------------------
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 😉

 

Advertisements

About Peter Stapf
Senior Consultant Infrastructure Services (Main focus: Identity Management) MVP Directory Services

7 Responses to MIM: Strange issue with Oracle DB when chaning connection parameter and create new MA

  1. Al says:

    I have a same problem, but tnsping is working fine. Any ideas?
    I have only 1 entry in tnsnsmes, checked, there is no spaces before and after oracle systems entry.

  2. Francois Legare says:

    Running into the same issue… I am synching 2 different Oracle systems, 1 working fine, the other one doesn’t. When attempting to import the MA, I get the above error message when providing an invalid password. If I provide the right password, MIM just goes into a loop and does nothing.

    tsnping and sqldeveloper both connect successfully… any idea?

    • Peter Stapf says:

      Hi,
      no not really an Idea, if nothing helps you could try “Generic SQL” Connector, you can download that as a seperate MA from Microsoft.
      It supports all SQL-Server with OLE Support.

  3. Francois Legare says:

    Looks like Generic SQL is the way to go. I was able to run FISO and DS against that connector…

    Thanks again!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: