This post lays out the situation I am trying to solve.
PROBLEM: After years of problem-free operations, today, our connections from oracle clients to oracle databases are not working.
First Cause: Initial cause: everybody lost access to a folder on our network that has credentials stored. I have never seen that folder before and I don't know it contains
Second Cause: A fix for the broken directory was sent to us (described below), but the fix is not working for me. I suspect the reason the fix is not working is due to file and user permissions in Windows. I don't know how to to control or test permissions in windows.
TODAY'S SEQUENCE OF EVENTS
Windows 10 laptop has SQL Tools and SQL Developer. Both were running great for two years, until today.
Today, everyone on my team lost their connections to oracle db, because a folder on our network containing something I did not now about went offline.
To fix the problem, we all were sent a file called tnsnames.ora. It contains data that looks like 20 entries, each like this
somekindofname =
(DESCRIPTION =
(ADDRESS_LIST =
(FAILOVER = ON)
(LOAD_BALANCE = OFF)
(ADDRESS = (PROTOCOL = TCP)(HOST = netpath-more.net.path)(PORT = 1599))
(ADDRESS = (PROTOCOL = TCP)(HOST = othernetpath-more.net.path)(PORT = 1599))
)
(CONNECT_DATA =
(SERVICE_NAME = UNDISCLOSED_NAME)
)
)
Instructions with the file:
- Save this file to your computer
- Set the Windows environment variable named TNS_ADMIN to point to that file
- Now your connections to oracle will work.
I tried following those instructions, but I still get this result when trying to connect to Oracle:
I posted this picture to my team's message board, showing the attempt to apply the fix. The feedback was: “do not put the file name, just the folder.”
.
.
So I made a change to the TNS_ADMIN environment variable, shown by this picture
added a note saying I am investigating permissions for reading the file from the oracle client…
.
.
And this is why I am here starting this thread.
My grasp of Windows permissions is they are a pain, because they have the same degrees of control as I am accustomed to handling in Linux, but Windows has translated everything into MicroSoftSpeak which never is definitive without unpublished details. Microsoft established that standard in its early days, because all the employees were prohibited from saying they did not know something, giving them a company rooted in garbled language, backed by undeserved arrogance. That is why using their products always are difficult and support is poor.
I am hoping you can help me understand Windows permissioms relevant to my team's problem connecting to Oracle.
For What It is Worth: I know a lot about permissions, users, groups, etc in Linux. Windows seems to work more or less the same way, but with confusing explanations I never have absorbed.
QUESTIONS
When an oracle client on Windows 10 tries connecting to Oracle using a screen that looks like this, and CONNECT is clicked, what user account is seen by the folder/file holding the tns credentials that make this connection work?
Is there a way to test whether the file containing the tns name data is being read by the oracle client?