Oracle ORA-12541:TNS:无监听程序

标签: Oracle DataBase


今天使用Oracle数据库,使用可视化连接工具连接测试环境的数据库时提示无监听程序,最后在老师帮助下终于搞定了!︿( ̄︶ ̄)︿

问题:

ORA-12541:TNS:无监听程序

解决方法:

  1. 检查监听程序是否能够正常启动,使用『windows+R』输入cmd,
    在命令行中输入lsnrctl start来检查监听是否正常运行,如果正常则会提示:
    TNS-01106: 使用名称LISTENER的监听程序已经启动

    如果没有运行,可以使用
    lsnrctl status 命令来查看服务状态,
    lsnrctl reload 来重启监听服务
    lsnrctl stop 来关闭监听服务
    lsnrctl start 来开启监听服务

    如果监听服务还是没有重启,并且提示:
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 64-bit Windows Error: 2: No such file or directory 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))) TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 64-bit Windows Error: 61: Unknown error
    那么以 管理员身份 运行cmd (CMD位置:C:\Windows\system32)
    在cmd里输入 以下命令来重启 监听服务;

    net start "OracleOraDb11g_home1TNSListener"
  2. 在命令行下使用命令 tnsping IP地址 来查看IP的监听服务是否正常(eg:tnsping 192.168.20.181)
    来检查tnsnames.ora服务配置是否正确

  3. 检查防火墙问题。
  4. 根源所在:listener.ora文件。(修改之前记得备份!!!)
# listener.ora Network Configuration File: D:\Oracle11g\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\Oracle11g\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle11g\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = D:\Oracle11g

Oracle相关服务设置

最后,由于Oracle的数据库服务太占用系统资源(电脑配置不行....)于是自己写了一个批处理来设置Oracle相关服务的启动方式(设置为手动)以及开启或者关闭Oracle的相关服务。
将以下代码保存为Oracle相关服务设置.bat 每次在用可视化工具连接Oracle时双击开启相关服务,使用完毕之后双击关闭相关服务。

@echo off
title Oracle 服务设置工具By Ryanjie
mode con lines=38 cols=88
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

:main
color 2f
echo.---------------------------------------------------------------------------------------+
echo %date%   %time:~0,8%
::echo %date年~0,4%:%date月~5,2%:%date日~8,2%
::echo %time%
echo.
echo   TODO:        Oracle 服务设置工具
echo.
echo   Author:      Ryanjie
echo.
echo   Function:    此批处理会自动设置、启动和停止Oracle服务
echo.
echo   WARNING:    如有360、电脑管家等安全软件提醒,请勾选信任允许和不再提醒!
echo.
pause
echo.
echo   Oracle相关服务(可根据自己电脑的服务名称进行更改,注意是『服务名称』不是『显示名称』)
echo                          『OracleOraDb11g_home1ClrAgent』
echo                          『OracleOraDb11g_home1TNSListener』
echo                          『OracleServiceORCL』
echo                          『Oracle ORCL VSS Writer Service』
echo                          『OracleDBConsoleorcl』
echo                          『OracleJobSchedulerORCL』
echo                          『OracleMTSRecoveryService』
echo
echo
echo.---------------------------------------------------------------------------------------+
echo.
echo 请选择使用:
echo.
echo     1. 设置Oracle相关服务为手动启动(即在下面输入1)
echo.
echo     2. 启动Oracle相关服务(即在下面输入2)
echo.
echo     3. 停止Oracle相关服务(即在下面输入3)
echo.
echo.---------------------------------------------------------------------------------------+
if exist "%SystemRoot%\System32\choice.exe" goto Win7Choice
set /p choice=请输入数字并按回车键确认:
echo.
if %choice%==1 goto sc
if %choice%==2 goto start
if %choice%==3 goto stop
"set choice="
echo 您输入有误,请重新选择。
ping 127.0.1 -n "2">nul
cls
goto main

:Win7Choice
choice /c 123 /n /m "请输入相应数字:"
if errorlevel 3 goto stop
if errorlevel 2 goto start
if errorlevel 1 goto sc
cls
goto main

:sc
cls
color 2f
echo.---------------------------------------------------------------------------------------+
echo.
sc config "OracleOraDb11g_home1ClrAgent" start= demand
sc config "OracleOraDb11g_home1TNSListener" start= demand
sc config "OracleServiceORCL" start= demand
sc config "Oracle ORCL VSS Writer Service" start= demand
sc config "OracleDBConsoleorcl" start= demand
sc config "OracleJobSchedulerORCL" start= demand
sc config "OracleMTSRecoveryService" start= demand
echo.---------------------------------------------------------------------------------------+
echo.
echo %date%   %time:~0,8%
::echo %date年~0,4%:%date月~5,2%:%date日~8,2%
::echo %time%
echo.
echo 恭喜您,Oracle相关服务
echo.                          『OracleOraDb11g_home1ClrAgent』
echo.                          『OracleOraDb11g_home1TNSListener』
echo.                          『OracleServiceORCL』
echo.                          『Oracle ORCL VSS Writer Service』
echo.                          『OracleDBConsoleorcl』
echo.                          『OracleJobSchedulerORCL』
echo.                          『OracleMTSRecoveryService』
echo.
echo.    已成功设置为手动启动!
echo.
echo.---------------------------------------------------------------------------------------+
goto end

:start
cls
color 2f
echo.---------------------------------------------------------------------------------------+
echo.
::下面四个服务按照个人需求进行开启
net start "OracleOraDb11g_home1ClrAgent"
net start "OracleOraDb11g_home1TNSListener"
net start "OracleServiceORCL"
::net start "Oracle ORCL VSS Writer Service"
::net start "OracleDBConsoleorcl"
::net start "OracleJobSchedulerORCL"
::net start "OracleMTSRecoveryService"
echo.---------------------------------------------------------------------------------------+
echo.
echo %date%   %time:~0,8%
::echo %date年~0,4%:%date月~5,2%:%date日~8,2%
::echo %time%
echo.
echo 恭喜您,Oracle相关服务
echo.                          『OracleOraDb11g_home1ClrAgent』
echo.                          『OracleOraDb11g_home1TNSListener』
echo.                          『OracleServiceORCL』
echo.
echo.
echo.    已成功启动!
echo.
echo.---------------------------------------------------------------------------------------+
goto end

:stop
cls
color 2f
echo.---------------------------------------------------------------------------------------+
echo.
net stop "OracleOraDb11g_home1ClrAgent"
net stop "OracleOraDb11g_home1TNSListener"
net stop "OracleServiceORCL"
::下面四个服务如果在上面已经打开,则删除前面的"rem"即可
net stop "Oracle ORCL VSS Writer Service"
net stop "OracleDBConsoleorcl"
net stop "OracleJobSchedulerORCL"
net stop "OracleMTSRecoveryService"
echo.---------------------------------------------------------------------------------------+
echo.
echo %date%   %time:~0,8%
::echo %date年~0,4%:%date月~5,2%:%date日~8,2%
::echo %time%
echo.
echo 恭喜您,Oracle相关服务
echo.                          『OracleOraDb11g_home1ClrAgent』
echo.                          『OracleOraDb11g_home1TNSListener』
echo.                          『OracleServiceORCL』
echo.
echo.    已成功关闭!
echo.
echo.---------------------------------------------------------------------------------------+
goto end

:end
echo 请按任意键退出。
@Pause>nul

Oracle ORA-12541:TNS:无监听程序的更多相关文章

  1. oracle client ORA-12541: TNS: 无监听程序

    1. Question description: if you are setting the oracle client to add a local network service,  you m ...

  2. oracle 11g ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)

    From :http://www.cnblogs.com/wangyt223/archive/2012/12/11/2812931.html em无法浏览,同时监听起不来.同时他的监听服务还是正常的, ...

  3. Windows Oracle连接ORA-12541:TNS:无监听程序

    上面两篇是安装和连接,这里写一下碰到的问题,安装后使用SQL Developer连接出现ORA-12541:TNS:无监听程序.网上搜了一下是安装的Oracle中自带的JDK是32位,而程序中使用的S ...

  4. 连接Oracle时ORA-12541 TNS 无监听程序

    http://www.cnblogs.com/Qian123/archive/2016/08/24/5803085.html

  5. 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序

    非常多时候为了优化我们的启动项把oracle的服务禁止了.但是重新启动启动之后使用PLSQL登陆oracle时会出现无监听程序,这说明我们有一些服务没有启动.我们先查看一下oracle的服务是否启动, ...

  6. Oracle不能连接故障排除[TNS-12541: TNS: 无监听程序]

    1. 情况:Oracle安装后使用的好好的,放假关机后重新开机居然发现不能正常连线,客户报错:TNS-12541: TNS: 无监听程序 2. 检查:         1. 服务器上Oracle启动正 ...

  7. Oracle ORA-12541:TNS:无监听程序

    背景:自己机子做oracle服务器,其他机子可以ping得通我的机子,但是jdbc就是连不上,后来用plsql连出现无监听程序.... 我昨天重新安装Oracle后,用PL/SQL Developer ...

  8. Oracle数据库相关问题之ORA-12541:TNS:无监听程序

    在用PL/SQL Developer等客户端工具连接oracle服务器时出现ORA-12541:TNS:无监听程序的错误,如下图: 发现原来是oracle的监听没有启动,重启监听后就连接成功了,下面跟 ...

  9. 【oracle常见错误】oracle监听程序配置/“ORA-12541: TNS: 无监听程序”

    问题描述 在用PL/SQL Developer连接Oracle 11g时报错“ORA-12541: TNS: 无监听程序”,如下图所示.可以按照如下的步骤进行解决. 解决方案 监听程序配置 从开始菜单 ...

  10. ORA-12541:TNS:无监听程序 配置Oracle Myeclipse无法连接上 花费一天时间解决掉的

    背景:自己机子做oracle服务器,其他机子可以ping得通我的机子,但是jdbc就是连不上,后来用plsql连出现无监听程序.... 我昨天重新安装Oracle后,用PL/SQL Developer ...

随机推荐

  1. iOS程序执行顺序 AppDelegate及 UIViewController 的生命周期

    iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 iOS应用程序的状态切换很重要,而UIViewControler对于iOS这种MVC模式来说尤为重要 ...

  2. Several ports (8005, 8080, 8009) required by Tomcat

    转载:http://blog.csdn.net/tomoto_zh/article/details/51931945 先找到Java项目中  Servers找到Server.xml然后 把8005, ...

  3. 详细理解servlet实现的三种方式和生命周期

    阅读目录 开发servlet的三种方式 理解实现servlet接口的方式,理解servlet生命周期 Servlet接口有五个方法 继承GenericServlet 继承HttpServlet 现在很 ...

  4. Eclipse启动项目正常,放到tomcat下单独启动就报错的 一例

    一个老的ssh的项目,进行二次开发(增加一些新功能)后, 首先用Eclipse中集成的Tomcat启动没有任何问题,但是把启动后的webapps下得目录放到 windows的普通tomcat下单独启动 ...

  5. HDU 6085 bitset

    Rikka with Candies Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  6. C++委托模式

    希望想理解C++委托的同学,能够从代码中悟出其中的原理.有什么不太清楚的地方,欢迎留言交流. #include <bits/stdc++.h> using namespace std; # ...

  7. 配置使用 NTP

    1. 安装chrony(时间同步客户端) ubuntu/debian: apt-get install chrony Centos/redhat/alios: yum install chrony 2 ...

  8. SQL Server优化的方法

    SQL Server优化的方法<一>   查询速度慢的原因很多,常见如下几种:   1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)   2.I/O吞吐量小,形成了 ...

  9. RabbitMQ的安装部署

    RabbitMQ安装部署 一.软件准备 wget http://erlang.org/download/otp_src_19.3.tar.gz wget http://www.rabbitmq.com ...

  10. python爬虫 scrapy2_初窥Scrapy

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...