我在使用 oracle 时遇到了一个非常奇怪的行为,也许有人可以帮助我,让我快速总结一下:
我选择的操作系统是 debian linux,我使用的是 Oracle XE 11.0.2.0。在 linux 启动时,我运行一个位于 /etc/init.d/ 下的脚本文件。我添加了以下行以使 oracle 在系统启动时启动:
/etc/init.d/oracle-xe start
在这一行之后,我从脚本运行我的应用程序,我的应用程序严重依赖于 oracle 数据库,因此一旦 oracle 启动,我肯定我的应用程序将运行正常。不幸的是我的假设似乎是错误的。原因如下:我在 3 台机器上设置了类似的设置,其中 2 台我看到奇怪的行为,系统启动后 oracle db 没有响应连接请求,即使 oracle-xe start 命令完成执行。
我的观察如下,如果我在执行 oracle-xe start 后立即运行我的应用程序,我至少会收到 oracle-12505 错误一分钟: "TNS listener does not current know of SID" 。一分钟后,一切都稳定下来,我的应用程序开始正常工作。在系统启动时没有 db 的 1 分钟在性能方面对我来说是不可接受的,因此我正在尝试解决这个问题。
令人惊讶的是,它并没有发生在我在这里拥有的其他 linux 盒子中,我不太确定那个盒子有什么不同。我比较了ora文件,但没有发现任何区别,这似乎是一场大雁追逐......
如果有人以前经历过并解决过这个问题并与我分享这个有价值的解决方案,我将不胜感激。