If you do tnsping to DS02, is it work?
tnsping db02
If you don't have tnsping command execute sqlplus with Oracle enviroment with web user. Is it work?
why is ORACLE_SID=GDEV in web server?
I think that tnsnames.ora isn't correctly write. It could be: DS02 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = GCDEV) ) )
That's the strange thing-- tnsping and sqlplus both work fine:
Dev01$ tnsping DS02TNS Ping Utility for Solaris: Version 10.2.0.1.0 - Production on 05-MAY-2008 09:10:23Copyright (c) 1997, 2005, Oracle. All rights reserved.Used parameter files: /opt/app/oracle/product/10.2.0/client_1/network/admin/sqlnet.oraUsed TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = Dev02)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = GCDEV.Dev02))) OK (0 msec)
TNS Ping Utility for Solaris: Version 10.2.0.1.0 - Production on 05-MAY-2008 09:10:23
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files: /opt/app/oracle/product/10.2.0/client_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = Dev02)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = GCDEV.Dev02))) OK (0 msec)
The tnsnames.ora should not refer to localhost:1521 since the Oracle server is not on the local machine (correct?).
Sqlplus also behaves correctly:
Dev01$ sqlplus xxx/yyy@DS02SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 5 09:17:43 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to: Oracle Database 10g Release 10.2.0.1.0 - ProductionSQL>
SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 5 09:17:43 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Release 10.2.0.1.0 - Production
SQL>
It's only nsoracle that is not working. Is nsoracle picky about how any of these parameters are named or formatted?