首页 > 编程知识 正文

oracle连接测试失败,plsql连接oracle监听程序无法识别

时间:2023-05-03 08:33:42 阅读:160670 作者:4572

连接到数据库时可能会出现错误“ORA12514 :监听程序当前无法识别连接描述符中请求的服务”。 此错误实际上是无效的数据库动态注册(下面将介绍动态注册),因为监听程序无法识别客户端连接符提供的服务名,并且拒绝创建数据库连接报时,所以必须更改监听程序的配置

在这里,有必要将问题细化。 您可能会在启动监听程序后立即遇到此错误,但如果稍后再连接,则不会出现此错误。 这是因为动态注册实际上需要很长时间,而且在启动监听程序后,数据库没有立即注册到监听程序中,从而导致错误。 我不会在本文中讨论这个。

listener.ora文件存储在$ORACLE_HOME/network/admin中。 此文件包含监听程序的配置,监听程序将在启动时读取此文件。 让我们先看一下这个文件。

该文件的大致结构如下。

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME=PLSExtProc )

(Oracle _ home=/home/Oracle/Oracle/product/10201 )

(PROGRAM=extproc )

监听器=

(DESCRIPTION_LIST=

(DESCRIPTION=

(address=(protocol=TCP ) (HOST=IP ) (PORT=1521 ) )

(address=(protocol=IPC ) (KEY=EXTPROC0) )

ADR_BASE_LISTENER=/home/oracle

SID_LIST_LISTENER参数是数据库注册、动态注册或静态注册。 注册是将数据库作为服务注册到监听程序。 客户端不需要知道数据库名称和实例名称,只需知道数据库提供的服务名称就可以申请连接到数据库。 动态注册是在数据库启动时从数据库自动注册到监听程序,而不是在监听程序配置文件中显式声明数据库实例和服务名。 静态注册是在侦听器配置文件中显式声明数据库实例和服务名。 监听器参数是监听器的构成。 其中PROTOCOL参数是协议名称,而TCP、HOST参数通常是地址,可以写入IP地址、服务器名称、localhost、127.0.0.1。 端口参数是端口号,默认值为1521。

由于是动态注册引起的问题,最简单的解决方案是将动态注册更改为静态注册,如下所示:

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME=PLSExtProc )

(Oracle _ home=/home/Oracle/Oracle/product/10201 )

(PROGRAM=extproc )

    (SID_DESC =

      (SID_NAME = trade)

      (ORACLE_HOME = /home/oracle/oracle/product/10201)

      (GLOBAL_DBNAME = trade)

    )

监听器=

(DESCRIPTION_LIST=

(DESCRIPTION=

(address=(protocol=TCP ) (HOST=IP ) (PORT=1521 ) )

(address=(protocol=IPC ) (KEY=EXTPROC0) )

ADR_BASE_LISTENER=/home/oracle

用红线包围的是静态注册。 SID_NAME参数是数据库实例名称,GLOBAL_DBNAME参数是全局数据库名称。 设置客户机的本地服务名称时,“服务名称”必须与全局数据库名称匹配。 设置后,重新启动监听程序即可正常连接。

更改为静态注册看起来很简单,但有不足之处。 首先,要更改为静态注册,必须熟悉配置文件和参数。 否则,很可能配置错误。 接下来,如果参数值发生更改,则必须重新更改配置。

另一种方法是更改host参数的值。 host参数有四个值: IP地址、服务器名称、localhost和127.0.0.1。 由于可取的值变多了,根据问题的原因,解决方案也变得多样化了。 每种情况下都可能有不同的解决方案。 注意:使用localhost和127.0.0.1时,无法使用IP地址和服务器名称配置客户端本地服务名,因为可以尝试在这四个值之间进行修改。 否则,将报告错误“ORA12541 :无监听程序”,更改后必须重新启动监听程序。

转载于:https://www.cn blogs.com/jiahm/p/10608604.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。