2010-07-27 37 views
0

我在oracle上运行大型查询时出现此错误。有什么建议? 我正在使用pl sql版本10.2ORA-07445访问冲突

我注意到,错误是由于创建一个基于很多表的视图,并且当我从这个视图选择一个具有where条件的特定参数时我得到了那个错误。当我检查了日志,我发现这个

ORA 07445访问冲突

所以这是由于对某种看法。我对从中创建视图的表格拥有完全的权利。而且我没有使用任何网络,数据库在我的机器上。

谢谢。

+0

我正在使用oracle plsql并在Vista上遇到问题。 – Luci 2010-07-27 20:38:05

回答

2

从有用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. 

所以最有可能的原因:

  1. 您连接到崩溃的服务器进程。
  2. 网络问题破坏了您的连接。
  3. 有人手动杀死了您连接的服务器上的进程。

当你连接的服务器进程崩溃时,它抛出了一个ORA-07445。这个错误与ORA-00600一起,是比较着名的Oracle错误。它们在功能上是未处理的异常,ORA-00600在Oracle代码中是未处理的异常,而ORA-07445是来自操作系统的致命信号,通常是因为Oracle做了一些操作系统不认可的操作,所以操作系统杀死了Oracle进程。

Oracle的支持站点(http://metalink.oracle.com)具有这些错误的联机疑难解答 - 在metalink中搜索文档600.1,并从日志文件中输入相应的信息,您可能会收到一些有用的疑难解答信息。

+0

请检查我的描述,我更新了它。 – Luci 2010-07-28 08:17:53

2

这通常是在数据库服务器操作系统级别杀死某些东西的时候。但这是一个相当普遍的错误。但在我的特定世界中,如果计算机B上的数据库服务器已关闭,我将在计算机A上的应用程序服务器日志中看到此情况。在你的情况下,你的桌面正在失去与你的DBMS的通信。如果某个管理员或自动化流程将您的查询标识为资源管理员(即您拥有笛卡尔产品),那么您的“大型查询”可能会在流程级别中丧生。

要清楚这很可能是你做错了客户端,而不是你的服务器或Oracle本身的错误。

UPDATE因为您提供了更多详细信息。由于数据库在您的机器上运行,我敢打赌,您的查询遇到缺少内存以支持客户端和服务器操作。