开启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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pandas DataFrame的基本属性详解

    Pandas DataFrame的基本属性详解PandasDataFrame的一些基本属性基本功能列表importpandasaspd导入库df=pd.DataFrame(data=None,index=None,columns=None,dtype=None,copy=False)创建一个DataFramedf.indexdf.columnsdf.axesdf.Tdf.info()…

    2022年5月5日
    286
  • 《电子信息系统机房设计规范》(GB50174-2008)_电子信息机房设计规范最新

    《电子信息系统机房设计规范》(GB50174-2008)_电子信息机房设计规范最新一、物理安全1.1物理安全主要包括:(1)机房环境安全(2)通信线路安全(3)设备安全(4)电源安全1.1.1机房的安全等级分为三个基本类别:A类:对计算机机房的安全有严格的要求,有完善的计算机机房安全措施。B类:对计算机机房的安全有较严格的要求,有较完善的计算机机房安全措施。C类:对计算机机房的安全有基本的要求,有基本的计算机安全措施。1.2.1机房安全要求和措施:(1)机房的场地,…

    2022年10月2日
    3
  • python爬虫—–Python访问http的几种方式「建议收藏」

    python爬虫—–Python访问http的几种方式「建议收藏」爬取页面数据,我们需要访问页面,发送http请求,以下内容就是Python发送请求的几种简单方式:会使用到的库urllibrequests1.urlopen2.requests用到requ

    2022年7月3日
    58
  • python 保留小数位数不够补0_python怎么赋值

    python 保留小数位数不够补0_python怎么赋值对于python的初学者,通常情况下,只需要输出结果符合预期即可,所以通常情况下,print就能够满足需求。print但是如果对于数据流转的情况下,我一开始没有找到合适的方法:例如,我想把1.2000保留三位有效数字,如果按照其他方法:a=1.2345print(round(a,3))输出的结果是:1.234末尾有0但是如果是要将1.2000保留三位有效数字呢:a=…

    2022年8月12日
    5
  • Java的Scanner输入时,next()和nextLine()的区别[通俗易懂]

    Java的Scanner输入时,next()和nextLine()的区别[通俗易懂]nextLine()不要和其他next方法一起用!!!尤其nextLine()不要放在它们后面!!!这个问题已经坑了我好多次了,但是每次都没有在意,主要是没反应过来出现问题的原因。今天阿里内推测验,又被nextLine()狠狠坑了一下。逻辑思路都是对的,就输入的数据不对。因为限时半小时,所以时间比较紧张,最后还是没弄出来。后来百度查了两者区别,果然问题是出在这里,改完之后问题就解决了。可怜我的…

    2022年6月10日
    43
  • dao层和service层和control代码(Java简述抽象类和接口的区别)

    DAO层:DAO层叫数据访问层,全称为dataaccessobject,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。Service层:Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不…

    2022年4月18日
    61

发表回复

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

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