Check your database server's TNS set up.
On your client talking to the db server, you need to be able to ping the
db server using the same hostname as that is in the TNS set up.
For example, the server TNS set up has -
RACDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = RAC1)(PORT = 6015))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(INSTANCE_NAME = RACDB1)
)
)
RACDB2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = RAC2)(PORT = 6015))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(INSTANCE_NAME = RACDB2)
)
)
RACDB=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = RAC1)(PORT = 6015))
(ADDRESS = (PROTOCOL = TCP)(HOST = RAC2)(PORT = 6015))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
Then on your client side, you need to be able to ping RAC1 and RAC2.
If you can't ping and your client is linux or unix, you may get intermittent
connection from your JDBC Java application.
Hope it helps.
Kang
http://www.all-review.com