Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25881507
  • 博文数量: 271
  • 博客积分: 10025
  • 博客等级: 上将
  • 技术积分: 3358
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-12 15:28
文章分类

全部博文(271)

文章存档

2010年(71)

2009年(164)

2008年(36)

我的朋友

分类: Oracle

2009-02-10 21:16:37

今天在启动本机的oracle时,提示错误:

"在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径"

在cmd下启动提示:

 

C:\Documents and Settings\Administrator>lsnrctl start

LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 13-9月 -2007 15:27
:12

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

启动tnslsnr:请稍候...

Failed to start service, error 3.
TNS-12536: TNS: 操作可能阻塞
 TNS-12560: TNS: 协议适配器错误
  TNS-00506: 操作可能阻塞
   32-bit Windows Error: 997: Unknown error

C:\Documents and Settings\Administrator>


系统平台:

os: win2000+sp4
oracle: 9.2


想想自己对电脑做了什么会这样的呢?原来可不是这个样子的,哦,想起了啊,原来我前几天用360整理下电脑,可能
把监听服务弄坏了.

现象:
  不能启动监听器,但可以在sql*plus本地登陆;我用pl/sql就不能登陆,提示"ora-12535:TNS:操作超时"

有一个问题出现了,在本地登陆不需要用监听吗?
  1. 在本地登陆可以不需要监听器,直接登陆,登陆方式:
    单个实例:
      sql> conn / as sysdba
    多个实例
       A.  set oracle_sid=orcl  (系统默认登陆oracle_sid指定的实例)
       B.  sql> conn / as sysdba


   2.在本地登陆需要监听器的登陆方式:
      sql> conn as sysdba    //只要用@orcl的样式就需要监听服务

通过上面的分析,大家就明白了,为什么监听器没有起来,但可以本地sql*plus登陆,但用pl/sql不能登陆
提示错误"ora-12535:TNS:操作超时"

经过仔细分析

出错原因:360把注册表里的ImagePath关键字清除,此关键值指出了监听服务的启动命令(TNSLSNR.EXE)位置

修改方法:进入注册表,

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener,查看是否存在ImagePa

th关键值,如果没有,新建它.类型是可扩充字符串值,他的值(我机器)为: "D:\oracle\ora92\bin\TNSLSNR.EXE"


退出保存注册表,在启动监听服务

 

C:\Documents and Settings\Administrator>lsnrctl start

LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 13-9月 -2007 15:29
:27

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

启动tnslsnr:请稍候...

TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
系统参数文件为D:\oracle\ora92\network\admin\listener.ora
写入D:\oracle\ora92\network\log\listener.log的日志信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hjh-skate)(PORT=1521)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
tion
启动日期                  13-9月 -2007 15:29:27
正常运行时间              0 天 0 小时 0 分 1 秒
跟踪级别                  off
安全性                    OFF
SNMP                      OFF
监听器参数文件          D:\oracle\ora92\network\admin\listener.ora
监听器日志文件          D:\oracle\ora92\network\log\listener.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hjh-skate)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
  例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

C:\Documents and Settings\Administrator>


到现在一切ok了 

阅读(4790) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~