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. CMS垃圾收集器与G1收集器

    1.CMS收集器 CMS收集器是一种以获取最短回收停顿时间为目标的收集器.基于“标记-清除”算法实现,它的运作过程如下: 1)初始标记 2)并发标记 3)重新标记 4)并发清除 初始标记.从新标记这两 ...

  2. ES6学习笔记(一):变量赋值和基本数据类型

    let和const let和const不存在变量提升 变量一定要在声明后使用,否则报错. var a = []; for (var i = 0; i < 10; i++) { a[i] = fu ...

  3. 一本通1630SuperGCD

    1630:SuperGCD 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 来源:SDOI 2009 Sheng Bill 有着惊人的心算能力,甚至能用大脑计 ...

  4. JavaFile类和递归

    八.File类和递归 8.1 概述 java.io.File 类时文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和产出等操作. 8.2 构造方法 public File(String pa ...

  5. Django时间时区问题(received a naive datetime while time zone support is active)

    在django1.4以后,存在两个概念 naive time 与 active time. 简单点讲,naive time就是不带时区的时间,Active time就是带时区的时间. 举例来说,使用d ...

  6. 【BZOJ4883】棋盘上的守卫(最小生成树)

    [BZOJ4883]棋盘上的守卫(最小生成树) 题面 BZOJ 题解 首先\(n\)行\(m\)列的棋盘显然把行列拆开考虑,即构成了一个\(n+m\)个点的图.我们把格子看成边,那么点\((x,y)\ ...

  7. Mysql(四)正则表达式

    一.正则表达式 1.使用like可以进行不确定的查询(模糊查询),然而,模糊 查询的功能有限,当需要进行更加复杂的模式匹配时,可以 使用正则表达式来完成. 2.正则表达式可以对指定的字符串与模式之间执 ...

  8. 弹指之间 -- Prerequisites

    CHAPTER 1 吉他的分类 Electric Guitar Classic Guitar Folk Guitar CHAPTER 2 吉他各部名称 CHAPTER 3 选购吉他 琴颈弯曲程度 木头 ...

  9. OpenStack 云主机深入了解(十四)

    云主机深入了解 1.云主机在计算节点以进程方式运行 2.监听vnc的端口,vnc默认端口从5900开始, 多台云主机,端口递增 3.云主机桥接网卡,与宿主机联通网络 提示:在openstack环境下, ...

  10. Redis记录-Redis高级应用

    Redis数据库可以使用安全的方案,使得进行连接的任何客户端在执行命令之前都需要进行身份验证.要保护Redis安全,需要在配置文件中设置密码. 示例 下面的示例显示了保护Redis实例的步骤. 127 ...