割接新装了数据库,客户端登陆无问题,apache/cgi-bin程序有问题,sqlnet.log日志如下:
Fatal NI connect error 12170.
VERSION INFORMATION:
TNS for Linux: Version 10.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.4.0 - Production
Time: 18-8月 -2012 10:53:02
Tracing not turned on.
Tns error struct:
ns main err code: 12535
TNS-12535: TNS:operation timed out
ns secondary err code: 12560
nt main err code: 505
TNS-00505: Operation timed out
nt secondary err code: 110
nt OS err code: 0
Client address:
原因:
tns解析串指定问题。
设置了环境变量TNS_ADMIN=/Oracle/product/app5/network/admin/samples读取新tnsnames.ora位置,使用客户端连接oracle的程序可以正常执行。
但是因为http协议的环境变量传递关系,cgi-bin的程序不能正常执行。
两种解决办法:
1、在apache中执行传递环境变量,重启apache。
2、回复tnsnames.ora到$ORACLE_HOME/network/admin/下。