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

开启1521端口监听_解决Oracle服务端1521端口无法telnet,服务名未开启监听问题场景:oracle服务安装在windows本地,oracle客户端在虚拟机中,使用虚拟机连接windows的oracle数据库。问题1:使用虚拟机telnet我本地oracle1521端口,不通解决思路:关闭虚拟机linux防火墙(这个方法有点粗暴,建议在只需要修改防火墙的端口允许通过即可)#1:查看防火状态systemctlstatusfirewalldserviceiptables…

大家好,又见面了,我是你们的朋友全栈君。

场景: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的入站允许规则

复制代码

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

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

查看监听服务状态

# 关闭监听服务

lsnrctl stop

# 启动监听服务

lsnrctl start

# 查看监听服务状态

lsnrctl stat

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

复制代码

说明监听服务没有启动

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

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

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

这是需要修改listener.ora 文件

修改listener.ora 文件

文件路径,我本地的路径是:D:appniaobulashiproduct11.2.0dbhome_1NETWORKADMIN

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

贴出来如下:

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有了

修改tnsname.ora的HOST为本地主机名

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服务了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133060.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MyBatis面试题总结「建议收藏」

    MyBatis面试题总结「建议收藏」啃下MyBatis源码-MyBatis面试题总结1.概念/使用方法向的问题1.1什么是Mybatis?1.2为什么说Mybatis是半ORM框架?/与Hibernate有哪些不同?1.3Mybaits的优点?1.4MyBatis框架的缺点?1.5#{}和${}的区别?1.6怎么解决实体类中的属性名和表中的字段名不一样的问题?1.7在mapper中如何传递多个参数?…

    2022年6月11日
    24
  • (十一)DSP28335基础教程——EQEP实验(直流电机转速检测)

    (十一)DSP28335基础教程——EQEP实验(直流电机转速检测)0前言这一节我们来学习DSP的EQEP模块的功能。实验目标:通过光电编码器,将采集直流减速电机的转速并显示在LCD1602上。由于28335控制LCD1602的例程并不多,在下面解释的过程会详细贴出代码,并给出一些注意事项。本节将分为硬件部分、软件部分和实验展示三个方面进行介绍,不清楚的欢迎留言。1硬件部分我们需要五个硬件:可调电源、DSP28335核心板、烧写器、自带光电编码器的直流减速电机和LCD1602。其中,电机的额定电压为12V,因此,我们通过可调电源来调整电压,则可以调整电机的转速

    2022年10月7日
    0
  • Dreamweaver8 网站制作软件使用教程

    Dreamweaver8 网站制作软件使用教程Dreamweaver是我喜欢做网站的软件。之所以喜欢Dreamweaver8是因为这个版本有折叠功能。下面说说它的使用方法。1、创建站点文件。注意看截图的顺序,如下图2、选择你喜欢的编辑模

    2022年7月4日
    20
  • sendto & recvfrom 详解

    sendto & recvfrom 详解参考一:sendto和recvfrom一般用于UDP协议中,但是如果在TCP中connect函数调用后也可以用.sendto()和recvfrom()——利用数据报方式进行数据传输 1.在无连接的数据报socket方式下,由于本地socket并没有与远端机器建立连接,所以在发送数据时应指明目的地址,sendto()函数原型为:   intsendto(intsockf

    2022年7月23日
    31
  • Map集合实例练习一

    Map集合实例练习一    java基础是关键,当你掌握一定的知识量的时候,但感觉其实还是基础是关键,很多框架都是固定的,只要掌握框架的配置,再加基础,相信你也就可以入这行了。选择有很多,要么及早的地放弃,不要浪费青春时光与金钱,要么坚持不放弃,一直干下去….失败不可怕,可怕的是不敢面对失败。好了,加油!!!引导语,就简单的说到这里。      Map概念Map集合的特点,如是否可重复,…

    2022年5月30日
    35
  • 断点调试原理

    断点调试原理调试断点原理   调试断点,依赖于父进程和子进程之间的通信,打断点实际是在被调试的程序中,改变断点附近程序的代码,这个断点使得被调试的程序,暂时停止,然后发送信号给父进程(调试器进程),然后父进程能够得到子进程的变量和状态。达到调试的目的。   修改断点附近程序的指令地址为0xcc,这个地址的指令就是int3,含义是,是当前用户态程序发生中断,告诉内核当前程序有断点,那么内核

    2022年5月22日
    85

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号