In an Oracle RAC two node cluster, out of the box the listeners are configured on the virtual IP of each RAC node. It seems that when creating a SMO profile, it will only work if the listeners are configured on the local host IPs. I don't see this in the doc but am wondering if it's a true requirement to have listeners configured on the local IPs. This would be with database authentication and not OS authentication.
The consistent error message I get is below. But when it's a listener on a local IP it works.
Operation Id [ff80808135ee99760135ee998073000a] failed. Error: Cannot connect to database instance oracdb1 using JDBC connect string dbc:oracle:thin:smooper/XXXXXXXX@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = bpic-na-rac1)(PORT = 1521)))(CONNECT_DATA = (SID = oracdb1))). Error: Io exception: The Network Adapter could not establish the connection.
My guess is that SMO is resolving the host name (bpic-na-rac1) the IP and the listener is not configured on that IP, it's on the virtual IP. See where I'm coming from? 10.89.38.214 is the local IP and is in DNS as "bpic-na-rac1" and 10.89.38.218 is in DNS as "bpic-na-rac1-vip".
[oracle@bpic-na-rac1 ~]$ lsnrctl status
LSNRCTL for Linux: Version 18.104.22.168.0 - Production on 07-MAR-2012 13:50:38
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
Version TNSLSNR for Linux: Version 22.214.171.124.0 - Production
I actually had a misconfiguration that caused this unneeded an additional step with the listener to be taken. In my /etc/hosts file the host name was specified under the loop back address (127.0.0.1). I removed it and the listener started up with both the local IP and the VIP. Problem solved.