Using the network.. with a local instance

So I wanted to have a local database on my Windows XP machine. To make the installation as much as possible server alike, I created the MS loopback adapter to be sure of a certain IP address:

Ethernet adapter loopback (oracle):

Connection-specific DNS Suffix  . :
Description . . . . . . . . . . . : Microsoft Loopback Adapter
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 10.1.2.3
Subnet Mask . . . . . . . . . . . : 255.0.0.0

Well, it seems that the listener daemon binds to the most recent IP address. Typical Windows behaviour, as it seems.  In order to be sure I have the correct IP address I start my listener and instance after I established my last connection (e.g. Dial up networking to a 3G network Ethernet).

One is able to change the binding order when, for example, you do create another new network connection;

Start –> Run –> ncpa.cpl

Choose Advanced, Advanced Settings and choose under Connections your desired order.

Instead of some ugly ISP given network which will make your listener connections ugly:

* (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=orcl)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.4.5.6)(PORT=2019)) * establish * orcl * 0
* service_update * orcl * 0

You get your clean (loopback adapter):

* (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=orcl)) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.2.3)(PORT=2019)) * establish * orcl * 0
* service_update * orcl * 0

NOTE!

To prevent from any (local) connection errors, please be aware that the %SystemRoot%\System32\drivers\etc\hosts file should be something like this:

127.0.0.1 localhost
10.1.2.3 your_host_name

Similar, on RAC environments, when you enter your hostname after the local loopback address, you might get one of the following errors:

ORA-00603: ORACLE server session terminated by fatal error
or
ORA-29702: error occurred in Cluster Group Service operation

(RAC info from http://www.puschitz.com/InstallingOracle10gRAC.shtml)

Leave a Reply