1、问题描述:
打开sqlplus后用system角色登陆
C:\Users\Administrator>sqlplus sys/admin@ICU as sysdba
首先最重要的一点:确保侦听服务和用户名对应服务(OracleServiceICU)已启动,如果没有启动,请启动
相应的服务,启动方法:右键点击 计算器->管理->找到 服务
服务启动后,再去进行连接测试一下(C:\Users\Administrator>sqlplus sys/admin@ICU as sysdba),如果
打开CMD.exe
C:\Users\Administrator>lsnrctl service
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 3-10月 -2012 20:11:19
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已被拒绝:0
LOCAL SERVER
服务 "ICU" 包含 1 个例程。
例程 "ICU", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:33 已拒绝:0 状态:ready
LOCAL SERVER
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 3 个处理程序...
处理程序:
"DEDICATED" 已建立:33 已拒绝:0 状态:ready
LOCAL SERVER
命令执行成功
如下的原因:客户连接到监听器后,监听器可能把客户重定向到调度程序端口(很可能不是1521端口),由于操作系统问题,这些连接会被拒绝。
要解决这个问题,只需要在LISTENER。ORA的头部加入这一行DIRECT_HANDOFF_TTC_LISTENER = OFF 即可。
解法方法:
在电脑里面搜索listener.ora,打开该文件。
# Generated by Oracle configuration tools.
DIRECT_HANDOFF_TTC_LISTENER = OFF
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
然后在命令行执行以下命令重启监听器和EM,如果还有问题就再重新启动下oracle服务
lsnrctl stop
lsnrctl start
emctl stop dbconsole
emctl start dbconsole
最后还有其他的方法,网上有详细的介绍,不在一一说明,请参考
[color=#FF0000]http://blog.csdn.net/zexin1000/article/details/6988491[/color]
打开sqlplus后用system角色登陆
C:\Users\Administrator>sqlplus sys/admin@ICU as sysdba
然后接下去操作出现 “TNS: 监听程序无法分发客户机连接”
首先最重要的一点:确保侦听服务和用户名对应服务(OracleServiceICU)已启动,如果没有启动,请启动
相应的服务,启动方法:右键点击 计算器->管理->找到 服务
服务启动后,再去进行连接测试一下(C:\Users\Administrator>sqlplus sys/admin@ICU as sysdba),如果
还是失败的话,请用下面的方法(百度来的)
打开CMD.exe
C:\Users\Administrator>lsnrctl service
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 3-10月 -2012 20:11:19
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已被拒绝:0
LOCAL SERVER
服务 "ICU" 包含 1 个例程。
例程 "ICU", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:33 已拒绝:0 状态:ready
LOCAL SERVER
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 3 个处理程序...
处理程序:
"DEDICATED" 已建立:33 已拒绝:0 状态:ready
LOCAL SERVER
命令执行成功
如下的原因:客户连接到监听器后,监听器可能把客户重定向到调度程序端口(很可能不是1521端口),由于操作系统问题,这些连接会被拒绝。
要解决这个问题,只需要在LISTENER。ORA的头部加入这一行DIRECT_HANDOFF_TTC_LISTENER = OFF 即可。
解法方法:
在电脑里面搜索listener.ora,打开该文件。
在listener.ora加入下面的“加入内容”
# listener.ora Network Configuration File: E:\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora# Generated by Oracle configuration tools.
DIRECT_HANDOFF_TTC_LISTENER = OFF
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
然后在命令行执行以下命令重启监听器和EM,如果还有问题就再重新启动下oracle服务
lsnrctl stop
lsnrctl start
emctl stop dbconsole
emctl start dbconsole
最后还有其他的方法,网上有详细的介绍,不在一一说明,请参考
[color=#FF0000]http://blog.csdn.net/zexin1000/article/details/6988491[/color]