使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
非常多时候为了优化我们的启动项把oracle的服务禁止了。但是重新启动启动之后使用PLSQL登陆oracle时会出现无监听程序,这说明我们有一些服务没有启动。我们先查看一下oracle的服务是否启动,查看方法是计算机-->>管理-->>服务和应用程序-->>服务,进行查找oracle的启动服务,
进入之后详细情况例如以下图:
在这里能够看到oracle的启动服务OracleServiceORCL和OracleOraDb11g_home1TNSLister,OracleDBCConsoleorcl等启动项都是没有启动,在这里把我上图中红色矩形框内的服务启动就能够了。
在oracle11成功安装之后,用PLSQL 登陆的时候提示ORA-12541: TNS:无监听程序。无法进行登陆。在这里总结了一下解决此类的办法,希望能够帮到大家。
第一种方法:因为地址分配不正确。我们这里须要又一次配置一下本机的环境。
从oracle的安装环境中找到network,如图:
我的oracle安装到了D盘。所以你依据自己安装路径进行寻找,比如:D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK
LISTENER_ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
ORACLR_CONNECTION_DATA=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
改动后的代码{
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
把里面的localhost改动成电脑随机生成的IP。
机名输入localhost或127.0.0.1都会提示无监听程序。
因为自己主动分配的IP地址会有变动,所以将oracle值中的host改成本机的计算机名。保存改动后的tnsnames.ora。再次连接(10.1.10.183/orcl)数据库。出错问题解决。
另外一种方法是详细查看oracle的系统。
详细流程例如以下:
第一步:查看oracle的log日志。
发现以下错误:
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:25:26
Copyright (c) 1991,2005, Oracle. All rights reserved.
系统參数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
写入D:\oracle\product\10.2.0\db_1\network\trace\listener.trc的跟踪信息
跟踪级别当前为0
监听:
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
监听该对象时出错:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))
TNS-12545: 因目标主机或对象不存在,连接失败
TNS-12560: TNS: 协议适配器错误
TNS-00515: 因目标主机或对象不存在,连接失败
32-bit Windows Error: 49: Unknown error
不再监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
第二步:查看oracle的监听程序是否启动
进入dos窗体。快捷键是 菜单键+R。输入cmd。在dos窗体中输入lsnrctlstatus 查看你的执行状态。假设结果例如以下:
LSNRCTL for 32-bitWindows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:5
0:44
Copyright (c) 1991,2005, Oracle. All rights reserved.
正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 2: No such file or directory
正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.5.0.5)(PORT=1521)))
TNS-12535: TNS: 操作超时
TNS-12560: TNS: 协议适配器错误
TNS-00505: 操作超时
32-bit Windows Error: 60: Unknown error
第三种:重置监听程序,以及配置本地网络名称
我的电脑是window
7,所以从開始菜单中找到oracle的安装文件夹,找到Net
Configuration Assistant打开之后,进行配置。主要配置是都过oracle自带的管理工具实现的,详细例如以下图:
这里的图片用的是网上搜寻的,只是方法我都使用了。由于那时候问题真的非常多,换了好几种方法。很多其它的知识朋友们能够搜寻一下我的公众平台:牧笛助手,账号:MuDi_Assistant,近期刚開始筹建。打算分享学习中的案例已经各种问题bug的解决方法。扫一扫二维码:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2015-03-25 coco2d-x 基于视口的地图设计
2015-03-25 HDU 3954 Level up(线段树)
2015-03-25 三十、Java图形化界面设计——布局管理器之BorderLayout(边界布局)
2015-03-25 2-07. 素因子分解(20) (ZJUPAT 数学)
2015-03-25 C++0x新特性
2015-03-25 Java正則表達式入门
2015-03-25 Android分屏显示LogCat