ORA-07445 访问冲突
Posted
技术标签:
【中文标题】ORA-07445 访问冲突【英文标题】:ORA-07445 access violation 【发布时间】:2010-07-27 19:41:39 【问题描述】:在 oracle 上运行大型查询时出现此错误。有什么建议吗? 我正在使用 pl sql 版本 10.2
我注意到该错误是由于创建了一个基于许多表的视图,当我从该视图中选择具有 where 条件的特定参数时,我得到了该错误。当我检查日志时,我发现了这个
ora 07445 访问冲突
所以这是由于视图上的某些东西。我对从中创建视图的表拥有完全的权利。而且我没有使用任何网络,数据库在我的机器上。
谢谢。
【问题讨论】:
我正在使用 oracle plsql 并在 vista 上遇到问题。 【参考方案1】:来自有用的oerr
命令:
$ oerr ora 3113
03113, 00000, "end-of-file on communication channel"
// *Cause: The connection between Client and Server process was broken.
// *Action: There was a communication error that requires further investigation.
// First, check for network problems and review the SQL*Net setup.
// Also, look in the alert.log file for any errors. Finally, test to
// see whether the server process is dead and whether a trace file
// was generated at failure time.
所以最可能的原因:
-
您连接的服务器进程崩溃了。
网络问题中断了您的连接。
有人手动杀死了您连接的服务器上的进程。
当您连接的服务器进程崩溃时,它会抛出 ORA-07445。该错误以及 ORA-00600 是相对著名的 Oracle 错误。它们是功能上未处理的异常,ORA-00600 是 Oracle 代码中的未处理异常,而 ORA-07445 是来自操作系统的致命信号,通常是因为 Oracle 做了操作系统不同意的事情,所以操作系统杀死了Oracle进程。
Oracle 的支持站点 (http://metalink.oracle.com) 有针对这些错误的在线疑难解答程序 - 在 metalink 中搜索文档 600.1,并从日志文件中输入适当的信息,您可能会收到一些有用的疑难解答信息。
【讨论】:
【参考方案2】:这通常是在数据库服务器操作系统级别被杀死时。但这是一个相当普遍的错误。但是在我的特定世界中,如果机器 B 上的数据库服务器关闭,我将在机器 A 上的应用程序服务器日志中看到这一点。在您的情况下,您的桌面正在失去与 DBMS 的通信。如果某些管理员或自动化进程将您的查询识别为资源占用(即您有笛卡尔积),您的“大型查询”可能会在进程级别被终止。
需要明确的是,这很可能是您作为客户端的错误,而不是您的服务器或 Oracle 本身的错误。
更新,因为您提供了更多详细信息。由于数据库正在您的机器上运行,我敢打赌您的查询遇到了内存不足来支持客户端和服务器操作。
【讨论】:
以上是关于ORA-07445 访问冲突的主要内容,如果未能解决你的问题,请参考以下文章
11.2.0.1bug引发的报错:ORA-07445: exception encountered
11.2.0.1bug引发的报错:ORA-07445: exception encountered
ORA-07445: 出现异常错误: 核心转储 [kupfuDecompress()+2279]