【发布时间】:2013-09-01 11:22:07
【问题描述】:
我在使用 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 侦听器当前不知道 SID”。一分钟后一切稳定,我的应用程序开始正常工作。系统启动时没有 db 的 1 分钟在性能方面对我来说是不可接受的,因此我正在尝试解决这个问题。
令人惊讶的是,我在这里拥有的其他 linux 盒子中没有发生这种情况,我不太确定那个盒子有什么不同。我对比了ora文件,没发现有什么区别,好像是白打了……
如果有人以前经历过并解决过这个问题并与我分享这个有价值的解决方案,我将不胜感激。
【问题讨论】: