Tnsnames.ora is a SQL*Net/Oracle Network Manager configuration file that describes databases and how to connect to them. The file contains the connection name, protocol, address, network port, and instance name. The tnsnames.ora file translates the Oracle Net service alias in the connection string to a network address, protocol, service, and instance name.
The tnsnames.ora plain text file is located on both the client and the server. Typically, this file is located under the oracle_home\network\admin directory.
You can make changes to the file using any text editor. On Windows, you can use notepad.exe, on *NIX systems — vi. Let’s look at an example of a simple tnsnames.ora file that describes one Oracle service alias.
(ADDRESS = (PROTOCOL = TCP)(Host = de-mun-sap12.theitbros.com])(Port = 1522))
(SERVICE_NAME = de_mun_sap12)
This file describes one alias de_mun_sap12 that a user can use to connect to an Oracle database.
Hint. The tnsnames.ora file is syntax sensitive. Always check the correctness of new settings when making changes to this file.
In some cases, when you specified the correct settings in the tnsnames.ora file and checked the correctness of the connection using tnsping, SQL Developer does not list available db connections.
Note. If you have installed the Oracle client software and configured connections in tnsnames.ora, Oracle SQL Developer automatically populates the Connections navigator pane. The alias list contains net service names defined in tnsnames.ora.
By default, Oracle SQL Developer looks for the tnsnames.ora file in the oracle_home /network/admin/tnsnames.ora folder, as well in the following registry keys:
HKLM\SOFTWARE\ORACLE\ORACLE_HOME_KEY HKLM \SOFTWARE\ORACLE\ORACLE_HOME
Hint. On Windows, you can use the system and local versions of the tnsnames.ora file. The system version is located in the oracle_home/network/admin/tnsnames.ora. The local version of the tnsnames.ora file may be located in the current working directory from which the application is running. Those, you can have multiple local tnsnames.ora files in different directories from which you run your application (although this is not recommended).
If the list of connections is empty, then SQL Developer didn’t find the tnsnames.ora file in the specified directories. You can specify the path to the tnsnames.ora file manually.
- Start SQL Developer and go to Tools > Preferences;
- In the Preferences option, expand the Database component, click on Advanced, and under the “Tnsnames Directory”, browse to the folder where your tnsnames.ora file is located;
- Restart SQL Developer;
- Now in SQL Developer select Connections and click New Connection;
- Select the TNS connection type from the drop-down list;
- And you are done! Now all network aliases from tnsnames.ora will appear in the list of available connections.