【问题标题】:How to troubleshoot Oracle database server errors?如何解决 Oracle 数据库服务器错误?
【发布时间】:2009-02-12 17:08:28
【问题描述】:

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

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

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

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

【问题讨论】:

  • 尝试连接 SQL*Plus 时遇到什么错误?

标签: oracle oracle10g connectivity


【解决方案1】:

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

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

【讨论】:

  • Dave 的最后一条评论同上。 Oracle 人员的一天(甚至半天)可以节省几天的挖掘时间。此外,他们还可以检查哪些数据库备份/恢复已到位(或未到位)
【解决方案2】:

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

它可能在 $ORACLE_HOME/admin/bdump 中并且(可能)称为 alert_DATABASE-SID.log

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2020-03-19
          • 2020-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-10-08
          • 2023-01-09
          • 1970-01-01
          相关资源
          最近更新 更多