解决Oracle服务端1521端口无法telnet,服务名未开启监听问题

本文主要是介绍解决Oracle服务端1521端口无法telnet,服务名未开启监听问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

场景:oracle服务安装在windows本地,oracle客户端在虚拟机中,使用虚拟机连接windows的oracle数据库。

问题1:使用虚拟机telnet我本地oracle1521端口,不通

解决思路:

  • 关闭虚拟机linux防火墙(这个方法有点粗暴,建议在只需要修改防火墙的端口允许通过即可)

    # 1:查看防火状态
    systemctl status firewalld
    service  iptables status
    # 2:暂时关闭防火墙
    systemctl stop firewalld
    service  iptables stop
    # 3:永久关闭防火墙
    systemctl disable firewalld
    chkconfig iptables off
    # 4:重启防火墙
    systemctl enable firewalld
    service iptables restart  
    # 5:永久关闭后重启
    chkconfig iptables on
  • 防火墙配置规则 端口 允许得端口

    # 查看已打开的端口
    netstat -anp
    # 添加允许的端口
    firewall-cmd --add-port=1521/tcp --permanent
    # 若移除端口
    firewall-cmd --permanent --remove-port=1521/tcp
    # 策略修改完成,请重启: 
    systemctl restart firewalld
  • 添加windows防火墙对1521的入站允许规则

    1579253672708

问题2:使用sqlplus登录报错,ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

解决思路:关键字监听程序

  • 查看监听服务状态

    # 关闭监听服务
    lsnrctl stop
    # 启动监听服务
    lsnrctl start
    # 查看监听服务状态
    lsnrctl stat

    查看监听服务如果出现下列问题

    1579254533200

    说明监听服务没有启动

    去启动oracle监听服务,监听服务有两个,这里只做单监听讲,随便启动一个即可。

    1579254625812

    再通过lsnrctl stat查看监听服务,如果出现下图情况

    1579254724154

    只看到一个服务名"CLRExtProc"启动了,而我们想要的是ORCL服务名

    这是需要修改listener.ora 文件

  • 修改listener.ora 文件

    文件路径,我本地的路径是:D:\app\niaobulashi\product\11.2.0\dbhome_1\NETWORK\ADMIN

    需要添加以下红色部分代码,将服务名为ORCL添加到监听配置文件中

    1579254216172

    贴出来如下:

    SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = D:\app\niaobulashi\product\11.2.0\dbhome_1)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:D:\app\niaobulashi\product\11.2.0\dbhome_1\bin\oraclr11.dll"))(SID_DESC=(SID_NAME = ORCL)(ORACLE_HOME = D:\app\niaobulashi\product\11.2.0\dbhome_1)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:D:\app\niaobulashi\product\11.2.0\dbhome_1\bin\oraclr11.dll")))LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-NNDNCEI)(PORT = 1521)))
    ADR_BASE_LISTENER = D:\app\niaobulashi

    再查看监听服务状态,可以看到ORCL有了

    1579254808269

  • 修改tnsname.oraHOST为本地主机名

    ORACLR_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)))(CONNECT_DATA =(SID = CLRExtProc)(PRESENTATION = RO)))LISTENER_ORCL =(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-NNDNCEI)(PORT = 1521))ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-NNDNCEI)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = ORCL)))

最后使用虚拟机就可以正常连接本地oracle服务了

1579254894242

这篇关于解决Oracle服务端1521端口无法telnet,服务名未开启监听问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133839

相关文章

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到