Oracle connectivity error may have multiple causes. The logical steps to take when you encounter ORA-12541 is to start with basic networking connectivity test.
1. Ping the host from the client machine.
2. Run tnsping ORACLE_SID from the client machine. Many times an extra parentheses in your tnsnames.ora file can mess up the connection. If you ever copied and pasted tnsname.ora entry from email or other program, it may contain some hidden characters that can cause heartburn to you.
3. Check listener on the Oracle server. Make sure that listener is listening for the SID/Service on TCP/IP protocol.
4. Make sure firewalls allow connectivity between client and host network over Oracle port 1521 (or the one you have set). It is common to separate application and database servers in different DMZ and you need to punch holes in firewall to allow that traffic. One easy way to test firewall rule is using telnet
telnet ORACLE_HOST 1521
If the port is open you will see a blank screen, if it is not open you will get a message saying "Connection Refused".
5. Make sure firewall is SQL*Net aware. When a Oracle client initiates a connection, first it connects to the listener on port 1521, next dispatcher spawns a Oracle process and sends a new port for client to connect to the process. If the firewall does not understand this, you will run into an error.
1. Ping the host from the client machine.
2. Run tnsping ORACLE_SID from the client machine. Many times an extra parentheses in your tnsnames.ora file can mess up the connection. If you ever copied and pasted tnsname.ora entry from email or other program, it may contain some hidden characters that can cause heartburn to you.
3. Check listener on the Oracle server. Make sure that listener is listening for the SID/Service on TCP/IP protocol.
4. Make sure firewalls allow connectivity between client and host network over Oracle port 1521 (or the one you have set). It is common to separate application and database servers in different DMZ and you need to punch holes in firewall to allow that traffic. One easy way to test firewall rule is using telnet
telnet ORACLE_HOST 1521
If the port is open you will see a blank screen, if it is not open you will get a message saying "Connection Refused".
5. Make sure firewall is SQL*Net aware. When a Oracle client initiates a connection, first it connects to the listener on port 1521, next dispatcher spawns a Oracle process and sends a new port for client to connect to the process. If the firewall does not understand this, you will run into an error.