cha*_*nya 7 sql linux oracle bash
我使用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
Run Code Online (Sandbox Code Playgroud)
我在互联网上尝试了很多不同的解决方案,最后在提到post- https: //dba.stackexchange.com/questions/23308/linux-error-29-illegal-seek-in-lsnrctl-for后问题得到解决-linux版本-11-2
我案例的解决方案是:
export LD_BIND_NOW=1
Run Code Online (Sandbox Code Playgroud)
我已经在多个Linux机器中安装了Oracle XE DB,但我只用了一个盒子就遇到了这个问题.这个变量是什么以及它如何解决非法寻求问题?
我的Linux机箱详细信息如下:
bash-4.1$ uname -a
Linux <hostname> 2.6.39-100.5.1.el6uek.x86_64 #1 SMP Tue Mar 6 20:26:00 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
控制动态加载器的操作
动态加载器将响应一系列环境变量。其中大多数对于 ldd 来说比对于普通用户来说更有用,并且可以通过使用各种开关运行 ldd 来最方便地进行设置。他们包括
LD_BIND_NOW --- 通常,函数在被调用之前不会在库中“查找”。设置此标志会导致在加载库时发生所有查找,从而导致启动时间变慢。当您想要测试程序以确保所有内容都已链接时,它非常有用。
简单来说 - 如果 LD_BIND_NOW 变量设置为 1,在 C、C++ 中,它会导致库的延迟加载(即在需要时加载库)或在使用时加载 - 而不是在启动期间加载
如果软件在混合模式下运行,则也应进行设置。
可能在你的情况下,它是一个启动问题,并且这个库从未使用过......!