接到开发人员的报告,用sqlplus连接一台开发机连不上。
下面的命令
sqlplus aaaa/bbbb@cccc:1521/palm
C:\WINDOWS\system32>sqlplus zhengpeng/zhengpeng@10.168.200.74:1521/palm
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 1月 20 09:32:37 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12545: 因目标主机或对象不存在, 连接失败
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
看了listener.ora没有发现什么问题。
在listener的log里有下面的记录:
20-JAN-2009 09:25:34 * (CONNECT_DATA=(SERVICE_NAME=palm)(CID=(PROGRAM=c:\oracle\product\10.2.0\db_1\bin\sqlplus.exe)(HOST=LENOVO-D5BA4CC1)(USER=lch1335))) * (ADDRESS=(PROTOCOL=tcp)(HOST=11.11.11.11)(PORT=1686)) * establish * palm * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
IBM/AIX RISC System/6000 Error: 32: Broken pipe
20-JAN-2009 09:26:49 * (CONNECT_DATA=(SERVICE_NAME=palm)(CID=(PROGRAM=c:\oracle\product\10.2.0\db_1\bin\sqlplus.exe)(HOST=LENOVO-D5BA4CC1)(USER=lch1335))) * (ADDRESS=(PROTOCOL=tcp)(HOST=11.11.11.11)(PORT=1686)) * establish * palm * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
IBM/AIX RISC System/6000 Error: 32: Broken pipe
20-JAN-2009 09:26:49 * (CONNECT_DATA=(SERVICE_NAME=palm)(CID=(PROGRAM=c:\oracle\product\10.2.0\db_1\bin\sqlplus.exe)(HOST=LENOVO-D5BA4CC1)(USER=lch1335))) * (ADDRESS=(PROTOCOL=tcp)(HOST=11.11.11.11)(PORT=1686)) * establish * palm * 0
20-JAN-2009 09:27:50 * service_update * palm * 0
20-JAN-2009 09:27:57 * service_died * palm * 12537
20-JAN-2009 09:28:44 * service_register * palm * 0
20-JAN-2009 09:28:49 * service_update * palm * 0
20-JAN-2009 09:28:52 * service_update * palm * 0
20-JAN-2009 09:28:52 * (CONNECT_DATA=(SERVICE_NAME=palm)(CID=(PROGRAM=c:\oracle\product\10.2.0\db_1\bin\sqlplus.exe)(HOST=LENOVO-D5BA4CC1)(USER=lch1335))) * (ADDRESS=(PROTOCOL=tcp)(HOST=11.11.11.11)(PORT=1688)) * establish * palm * 0
20-JAN-2009 09:28:55 * service_update * palm * 0
看来listener没有收到instance成功产生子进程和报告,应该是instance的问题。
生产一个pfile看看
SQL> create pfile from spfile;
发现pfile里有几个参数非常可疑:
#*.dispatchers='(protocol=TCP)'
#*.shared_servers=3
封住后用新的pfile启动。
SQL> startup pfile='/app/oracle/product/10.2.0/db_1/dbs/initaaaaaa.ora'
问题解决。
Jan.20