Home >Database >Mysql Tutorial > Oracle中“无监听程序”和“协议适配器错误”的解决方法

Oracle中“无监听程序”和“协议适配器错误”的解决方法

WBOY
WBOYOriginal
2016-06-07 17:36:551368browse

一、发现问题有些杀毒程序会清掉一些oracle注册表信息或删除oracle的bin目录下的一些.exe文件,导致数据库无法启动,下面来分析一下最常见的问题。二、无监听程

一、发现问题
有些杀毒程序会清掉一些oracle注册表信息或删除oracle的bin目录下的一些.exe文件,导致数据库无法启动,下面来分析一下最常见的问题。


二、无监听程序
1、什么是监听器(LISTENER)
监听器是建立在服务端的,用于监听客户端向数据库服务器端提出的连接请求。
配置文件在\db_1\NETWORK\ADMIN\listener.ora。

2、本地服务名(Tnsname)
本地服务名是建立在客户端的,需要连哪些服务器数据库,就将该数据库服务端的信息配置。
配置文件在\db_1\NETWORK\ADMIN\tnsnames.ora。

3、解决方法
通过Net Manager重新建立监听器和本地服务名。
可参见:?url=Z5BNd9D2KYGDHnROo1fn5XjXgCeDbAU6Xtk2Yrdg-Txb7gVkyVVAopLfHYOHcthYjqCP0FssulU_OZpA41-IDdCF3pgUNveOVeTU7vfPxDG


三、协议适配器错误
上述情况配置好后可能会出现“协议适配器错误”:
C:\Documents and Settings\Admin>lsnrctl
LSNRCTL> start
启动tnslsnr: 请稍候...
Failed to start service, error 3.
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误

①注册表有问题
C:\Documents and Settings\Admin>regedit
进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome81TNSListener
ImagePath被清掉了,增加可扩充字符串值,取名为ImagePath,编辑字符串的数值数据为E:\oracle\product\10.2.0\db_1\BIN\TNSLSNR,退出注册表。

②TNSLSNR.EXE被删掉了
E:\oracle\product\10.2.0\db_1\BIN的TNSLSNR.EXE被删掉了,,从别处拷过来一个放到该目录就行了。

本文出自 “IT徐胖子的专栏” 博客,请务必保留此出处

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn