加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 数据库 > MySql > 正文

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

发布时间:2020-09-06 06:39:56 所属栏目:MySql 来源:互联网
导读:我使用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-

我使用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地址而不是主机名,但对我来说,它可以解决问题.

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读