oracle重启监听12541,Oracle ORA-12541:TNS:无监听程序

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

标签: Oracle DataBase

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

问题:

ORA-12541:TNS:无监听程序

解决方法:

检查监听程序是否能够正常启动,使用『windows+R』输入cmd,

在命令行中输入lsnrctl start来检查监听是否正常运行,如果正常则会提示:

TNS-01106: 使用名称LISTENER的监听程序已经启动

7faadac363e5b7d64a92e303847db9de.png

如果没有运行,可以使用

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:Windowssystem32)

在cmd里输入 以下命令来重启 监听服务; net start "OracleOraDb11g_home1TNSListener"

在命令行下使用命令 tnsping IP地址 来查看IP的监听服务是否正常(eg:tnsping 192.168.20.181)

来检查tnsnames.ora服务配置是否正确

0848761873777539cfcc5d64cface7f3.png

检查防火墙问题。

根源所在:listener.ora文件。(修改之前记得备份!!!)

# listener.ora Network Configuration File: D:Oracle11gproduct11.2.0dbhome_1

etworkadminlistener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = CLRExtProc)

(ORACLE_HOME = D:Oracle11gproduct11.2.0dbhome_1)

(PROGRAM = extproc)

(ENVS = "EXTPROC_DLLS=ONLY:D:Oracle11gproduct11.2.0dbhome_1inoraclr11.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时双击开启相关服务,使用完毕之后双击关闭相关服务。

e9ca59c9f6775127376f571704271dab.png

973d48409fdce027b0684376ba6b5245.png

@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%System32choice.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

『』『』

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值