0

我的团队继承了一个基于 Oracle 的 Web 应用程序,他们对 Oracle 数据库服务器相当缺乏经验。

Oracle 10g 服务器在具有大量磁盘空间的 Windows 2003 Server 上运行,并且有时会丢失所有连接,应用程序停止工作,甚至 SQL Plus 都无法连接到数据库服务器。

但是当我们检查 Windows 服务管理器时,它说服务已启动并正在运行。重新启动通常可以解决问题,但我们需要对其进行适当的故障排除,以便我们知道是什么原因造成的,这样我们就可以避免它再次发生。

我们应该从哪里开始寻找线索?我们应该调查哪些关键日志文件?

4

5 回答 5

4

在服务器上,您应该有一个名为 ORACLE_HOME 的环境变量,它指示 Oracle 安装的根目录。Oracle 跟踪/转储文件夹很可能在此处。搜索名为“bdump”(背景转储)的文件夹。这就是主日志文件(称为警报日志)以及后台进程生成的跟踪文件所在的位置。将有一个名为“udump”的相邻文件,其中包含用户进程生成的任何跟踪文件。

但是,我真正的建议是,您应该聘请了解 Oracle 的人或让 Oracle Support 参与其中。

于 2009-02-12T17:13:48.620 回答
1

警报日志将是第一个要检查的文件。

它可能位于 $ORACLE_HOME/admin/bdump 并(可能)称为 alert_DATABASE-SID.log

它包含数据库执行的大部分重要操作,以及发生的任何重要错误。

于 2009-02-12T17:11:45.363 回答
1

我不得不同意 cagcowboy。检查警报日志是否有错误。如果没有错误,则维护一个 sysdba 登录到数据库,当它挂起时,尝试进行挂起分析。参见关于hanganalyze 的metalink note 215858.1。

于 2009-03-09T19:23:11.460 回答
0

你试过tnsping吗?我们偶尔会遇到需要 DBA 协助的侦听器问题。 tnsping是我们用来进行分类的诊断工具。

如果可能的话,我会建议聘用一位经验丰富的 Oracle DBA。

于 2009-02-12T17:13:28.260 回答
0

检查警报日志以了解 Db 的结构。有时错误设置的参数会导致挂起或性能下降。或者您可以关闭并以挂载模式启动,然后检查 v$parameter 值是否存在问题。设置总内存非常重要。

于 2010-05-28T07:22:38.213 回答