像你还有很多地方没有删除干净
跟你提几点
soft注册表
service注册表
ORACLE安装目录
电脑环境变量
然后重新启动电脑,重新安装客户端,又重启动电脑
怎么卸载 百度中输入卸载ORACLE客户端,排名前3 的都写的很详细了
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务,是设置错误造成的,解决方法如下:
1、首先,先来了解一下这个数据库文件,在电脑上这个文件里存放的就是配置数据,监听器在启动时会读取该文件。
2、接下来,要知道SID_LIST_LISTENER参数就是数据库注册,动态注册或是静态注册。
3、然后,如果因为动态注册引起的问题,那么最简单的解决方法,是由动态注册改为静态注册。
4、最后,SID_NAME参数是数据库实例名,GLOBAL_DBNAME参数是全局数据库名。
5、配置好后,重启监听器,就可正常连接了。
一、现象:Windows环境下,启动Listener时出错:
C:\Documents and Settings\Admin>lsnrctl start
LSNRCTL for 32-bit Windows: Version 9.2.0.6.0 - Production on 20-9月 -2008 13:04:53
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
启动tnslsnr:请稍候...
Failed to start service, error 1058.
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误
32-bit Windows Error: 1058: Unknown error
二、解决过程:
Step 1:
首先想到的就是Listener.ora的配置文件,检查配置文件D:\oracle\ora92\network\admin\listener.ora,检查没有发现问题,删除重新配置一遍。
点击“开始”->“程序”->“Oracle ”->“OraHome92”->“Configuration and Migration Tools”->“Net Manager”启动Oracle网络管理器工具
重新配置了“监听程序”:“一般参数”、“监听位置”、“数据库服务”。注意“数据库服务”的全局数据库名与数据库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器。
“服务命名”,注意:此处配置的“服务名”实际上就是数据库服务器端监听器配置中的全局数据库名,前者与后者必须相同。
启动listener故障依旧。
检查服务
“控制面板”->“管理工具”->“服务”找到类似“OracleOraHome92TNSListener”,结果发现Listener服务未启动 。
启动OracleOraHome92TNSListener服务。
Step 2:
再次启动Listener,错误信息如下:
C:\Documents and Settings\Admin>lsnrctl start
LSNRCTL for 32-bit Windows: Version 9.2.0.6.0 - Production on 20-9月 -2008 14:50:33
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
启动tnslsnr:请稍候...
Service OracleOraHome92TNSListener already running.
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误
32-bit Windows Error: 1056: Unknown error
检查服务
“控制面板”->“管理工具”->“服务”找到“OracleOraHome92TNSListenerXXXX”服务,启动之。
启动Listener
C:\Documents and Settings\Admin>lsnrctl start
LSNRCTL for 32-bit Windows: Version 9.2.0.6.0 - Production on 20-9月 -2008 18:02:18
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
启动tnslsnr:请稍候...
TNSLSNR for 32-bit Windows: Version 9.2.0.6.0 - Production
系统参数文件为D:\oracle\ora92\network\admin\listener.ora
写入D:\oracle\ora92\network\log\listener.log的日志信息
写入D:\oracle\ora92\network\trace\listener.trc的跟踪信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ThinkPadT43)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ThinkPadT43)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.6.0 - Production
启动日期 20-9月 -2008 18:02:20
正常运行时间 0 天 0 小时 0 分 2 秒
跟踪级别 admin
安全性OFF
SNMP OFF
监听器参数文件 D:\oracle\ora92\network\admin\listener.ora
监听器日志文件 D:\oracle\ora92\network\log\listener.log
监听器跟踪文件 D:\oracle\ora92\network\trace\listener.trc
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ThinkPadT43)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "oraserver" 包含 1 个例程。
例程 "xxxx", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
三、总结:
1、 listener.ora(或者tnsnames.ora)配置有问题,检查之;
2、检查oraclehome92TNSlistener服务是否启动,有可能在打补丁后或节约系统资源停掉了服务,未能及时将服务启动;
3、检查database instance服务是否启动,创建数据库实例后,会创建系统的实例服务,即OracleOraHome92TNSListenerXXXX。
4、检查Oracle SID,创建了Instance,相应的数据库应能够查到,通常UNIX下写在oracle用户的.profile中,在Windows中通常写在注册表或系统环境变量中。
Oracle_SID在注册表中位置:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下右键“新建”->“字符串值” 名称为ORACLE_SID,其值为配置数据库服务所填的SID。
系统环境变量添加方法为:
“我的电脑”右键->“属性”->“高级”->“环境变量”->“系统变量”->“新建”ORACLE_SID,其值为配置数据库服务所填的SID。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)