在oracle上运行大型查询时出现此错误。任何建议? 我正在使用pl sql版本10.2
我注意到错误是由于创建了一个基于许多表的视图,当我从这个视图中选择一个具有where条件的特定参数时,我得到了该错误。当我查看日志时,我发现了这个
ora 07445访问冲突
所以这是由于视图中的某些内容。我对我正在创建视图的表拥有完全的权限。我没有使用任何网络,数据库在我的机器上。
感谢。
答案 0 :(得分:2)
这通常是在数据库服务器操作系统级别杀死某些内容时。但这是一个相当普遍的错误。但是在我的特定世界中,如果机器B上的数据库服务器关闭,我将在应用程序服务器登录机器A上看到这一点。在您的情况下,您的桌面正在失去与DBMS的通信。如果某些管理员或自动化流程将您的查询识别为资源需求(即您拥有笛卡尔积),那么您的“大型查询”可能会在流程级别被杀死。
要明确这很可能是您作为客户端做错了而不是服务器或Oracle本身的错误。
更新,因为您提供了其他详细信息。由于数据库正在您的计算机上运行,我敢打赌您的查询遇到缺少RAM以支持客户端和服务器操作。
答案 1 :(得分: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.
所以最有可能的原因是:
当服务器进程连接到崩溃时,它会抛出一个ORA-07445。该错误以及ORA-00600是相对着名的Oracle错误。它们是功能上未处理的异常,ORA-00600是Oracle代码中未处理的异常,而ORA-07445是来自操作系统的致命信号,通常是因为Oracle做了操作系统不赞同的操作,因此操作系统杀死了Oracle进程。
Oracle的支持网站(http://metalink.oracle.com)针对这些错误提供了在线疑难解答 - 在metalink中搜索文档600.1,并从日志文件中输入相应的信息,您可能会收到一些有用的疑难解答信息。