Greetings,
We have a WIN SVR 2012 R2 web server which has a collocated Oracle 12.1.0.2 ENT DBMS that is setup to use TNS. The ASP.NET 4.0.30319.0 web applications use a boilerplate connection string "User Id=/;Data Source=[SID]" to connect simply to test database availability, and uses before it goes on to use database accounts to establish application privileges, log site hits as so on. We also have a database on another similar server, from which the collocated one was cloned and remain on listed TNS names, that the site can connect to just fine. But we're receiving the error on the title when we direct the site to use the cloned, collocated database. The site is setup to use ODP.NET's Oracle.ManagedDataAccess.Client libraries deployed to the GAC that come with the enterprise. Below is the stack trace picked from the error shown on the title:
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword)
at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
It appears that the database is being reached ,else we assume the error would be a different one, but we don't understand why the error even though the two databases are supposed to be identical. The clone was done using SQL*Plus.
1. Does it have anything to do on the location of the databases? We didn't think that matter given that TNS is being used. Both databases are within the same subnet so firewalls are should not be an issue, specially since the one on the same server is the one that cannot be connected to.
2. Does it have anything to do with the TNS file? We've tried different hostnames on the string to no avail.
SID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = [hostname, localhost, 127.0.01, FQDN] )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SID)
)
)
4. Does it have anything to do with the ODP.NET libraries? We've seen were only Oracle.DataAccess.Client libraries are needed on servers that do not host an Oracle ENT DBMS, but it makes no sense to us that Oracle.ManagedDataAccess.Client libraries would work on an database on another server and not its own.
5. How is it possible that the connection string "User Id=/;Data Source=[SID]" can be used to connect to an Oracle database without credentials (usr/pwd)?
NOTE: We have other applications that can connect to the collocated, cloned database using TNS, including SQL developer and SQL*Plus, as well as the original on the other server.
Any help is greatly appreciated.