Check the tnsnames.ora file (usually located in $ORACLE_HOME\network\admin) on the workstation residing outside the firewall to see whether the service definition for the database it is attempting to connect to is using an IP address rather than hostname. A physical move (which involved a stop and start) of the server may have caused it to obtain a different IP address than it had previously. If the IP address is used in the tnsnames.ora file, be sure that it is the correct one for the database server or change it to use hostname instead.
Finally, check to see that the port the listener is listening on is accessible through the firewall so that the workstation residing outside the firewall can connect. If you are unsure which port the listener is using, check the listener.ora file on the database server usually located in $ORACLE_HOME/network/admin.
This was first published in April 2007