sql – 设置LD_BIND_NOW变量以解决TNS Linux错误:29:非法搜索错误

前端之家收集整理的这篇文章主要介绍了sql – 设置LD_BIND_NOW变量以解决TNS Linux错误:29:非法搜索错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用bash shell在我的Linux机器上为我的Oracle XE DB启动TNS Listener时遇到了问题:

LSNRCTL> start
Starting /oracle/product/11.2.0/xe/bin/tnslsnr: please wait...

TNS-12537: TNS:connection closed
 TNS-12560: TNS:protocol adapter error
  TNS-00507: Connection closed
   Linux Error: 29: Illegal seek
LSNRCTL> exit

我尝试了很多在互联网上给出的不同解决方案,最后在提到https://dba.stackexchange.com/questions/23308/linux-error-29-illegal-seek-in-lsnrctl-for-linux-version-11-2之后问题得到了解决

我案例的解决方案是:

export LD_BIND_NOW=1

我已经在多个Linux机器中安装了Oracle XE DB,但我只用了一个盒子就遇到了这个问题.这个变量是什么以及它如何解决非法寻求问题?

我的Linux机箱详细信息如下:

bash-4.1$uname -a
Linux 
最佳答案
今天我遇到了同样的问题.问题似乎是二进制tnslsnr可执行文件中的错误.

我的解决方案是将主机名更改为位于/oracle/product/11.2.0/xe/network/admin/listener.ora中的listener.ora中的IP地址.

# listener.ora Network Configuration File:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/product/11.2.0/xe)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

调整文件/ etc / hosts并覆盖localhost语句(如其他答案中所述)不起作用.

我不知道是否建议使用IP地址而不是主机名,但对我来说,它可以解决问题.

原文链接:https://www.f2er.com/mysql/440930.html

猜你在找的MySQL相关文章