我在 Windows 2003 服务器上有一个 Oracle 数据库(我相信是 10.2.0.1.0),我相信它已经成功地使操作系统本身崩溃了两次。撇开平台和稳定性的争论不谈,有证据表明服务器对任何远程访问都没有响应(端口打开但服务不响应),我只能猜测是 Oracle 进程中的错误状态。IT 人员指出,当他们重新启动它时,该过程似乎阻止了它成功重启。
我没有对服务器的物理访问权限。但是,由于它再次启动并运行,是否有任何日志/转储/等。我可以检查哪个可以指向正确的方向?如果你是我,你会从哪里开始?谷歌在这个问题上并不友善。
首先要看的是数据库的 alert.log 文件。如果数据库在确定的时间出现问题,您将在 alert.log 中收到错误消息,并且很可能会获得指向详细跟踪文件的指针。
您是否获得使用 AWR 的许可?是否安装了统计包?如果没有任何数据库进程崩溃,则服务器可能没有响应,因为应用程序正在发出失控的 SQL,而 Oracle 正在压垮服务器。来自相关时间的 AWR/statspack 报告将显示 Oracle 当时是否真的在做任何事情。如果您有相关时间的任何 Windows 监控信息,那也会很有用。例如,如果 Windows 性能监视器显示一堆活动而 Oracle 没有显示任何活动,那将非常有趣。
如果您认为 Oracle 进程给操作系统带来了麻烦,那么也许您还应该查看该服务器的事件查看器。系统和应用程序配置单元应该是检查任何错误消息的配置单元。