ORA-27300: ORA-04030: 等错误,这是要命的Oracle bug

ORA-27300: OS 系统相关操作: spcdr:9261:4200 失败, 状态为: 997
要命的Oracle bug ,耗尽内存,导致数据库挂掉
这个问题用Oracle10.2.0.1.0版本安装在32位的Windows系统上,非常常见。随便在google就找到很多。
通常会导致系统耗尽内存,导致Oracle数据库挂掉。
把Oracle数据库重启可以临时解决,但过几天还会发生ORA-04030内存耗尽的情况。最好还是打上补丁。

 

连接数据库时出现,
ORA-12518: TNS: 监听程序无法分发客户机连接


1、用sysdba连接不是数据库,数据库已经挂了

2、alert_sid.log
Sun Apr 19 10:05:56 2009
Process startup failed, error stack:
Sun Apr 19 10:05:56 2009
Errors in file e:\oracle\product\10.2.0\admin\xboms\bdump\xboms_psp0_3124.trc:
ORA-27300: OS 系统相关操作: spcdr:9261:4200 失败, 状态为: 997
ORA-27301: OS 故障消息: 重叠 I/O 操作在进行中。
ORA-27302: 错误发生在: skgpspawn

 

由此导致频繁的报下面的错误:
Sun Apr 19 10:24:08 2009
Errors in file e:\oracle\product\10.2.0\admin\xboms\bdump\xboms_arc0_3032.trc:
ORA-04030: 在尝试分配 82444 字节 (pga heap,control file i/o buffer) 时进程内存不足


查看:http://**/viewthread.php?tid=129216
and   http://www.itpub.net/thread-1146317-1-1.html


this is a bug !
oracle承认这是一个bug(10.2.0.2.0之前10g版本),BUG 5607984 - ORACLE DOES NOT CLOSE TCP CONNECTIONS. REMAINS IN CLOSE_WAIT STATE. [On Windows 32-bit].
可打补丁patch number 5639232 ,该补丁有100多MB大。

 

在操作系统的boot.ini文件中增加'/3G',然后降低SGA。metalink上的解释如下:
ChangesThe '/3GB'  switch was added to the  'boot.ini'  file at the OS level but the errors are eventually encountered when the database is under heavy load. CauseOS resource issue.
The maximum amount of addressable memory by a process ('oracle.exe' for example) running in a
32-Bit Windows environment has been reached.

In a 32-Bit Windows environment, the total addressable memory by a single process is a 4GB. On Windows, the OS reserves half of this memory by default for kernel memory, leaving 2GB of addressable memory for a user process. By placing the '/3GB' switch in the 'boot.ini'  file, this changes the ratio of kernel memory and user memory. When he  '/3GB'  switch is in place, processes (such as 'oracle.exe’) can address 3GB of virtual memory out of the total 4GB of addressable memory. However, once the 3GB of virtual memory is depleted, the process will fail. SolutionTo implement the solution, please execute the following steps:

Tune the application running on the 32-bit environment so that it will not consume greater than 2.7GB of virtual memory when the  '/3GB'  switch is set in the  'boot.ini'  file. In the case of Oracle encountering the OS resource issue, the options are:

1) Reduce the amount of SGA needed to be allocated for the database.
2) Limit the number of dedicated connections to the database and the amount of memory each user process will consume.
3) Change from dedicated connections to multi-threaded server (MTS) connections as MTS only uses a fraction of the amount of memory allocated to each user process when initial connection to the database is established.

See Metalink Note 225349.1 for an in depth discussion regarding memory usage in a 32-bit Windows environment

===========================

ORA-27300 ORA-27301 ORA-27302 in alert log. Cannot connect to database.
  文档 ID:  注释:371074.1 类型:  PROBLEM
  上次修订日期:  30-JAN-2008 状态:  MODERATED

In this Document
  Symptoms
  Changes
  Cause
  Solution
  References

 

--------------------------------------------------------------------------------


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.

 

Applies to: Oracle Server - Enterprise Edition - Version: 8.1.7.4 to 10.2.0.3
Oracle Server - Personal Edition - Version: 8.1.7.4 to 10.2.0.3
Oracle Server - Standard Edition - Version: 8.1.7.4 to 10.2.0.3
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows Server 2003


Microsoft Windows (32-bit)
SymptomsNo new connections are allowed to the database.

Database appears to be in a hang state.
Errors:

Mon May 22 14:00:46 2006
Errors in file d:\ecomdb\bdump\ecomdb_psp0_1192.trc:
ORA-27300: OS system dependent operation:spcdr:9261:4200 failed with status: 997
ORA-27301: OS failure message: Overlapped I/O operation is in progress.
ORA-27302: failure occurred at: skgpspawn

written to alert log.


.
Verified the issue by the RDA output provided, which displays errors:

Mon May 22 14:00:46 2006
Errors in file d:\ecomdb\bdump\ecomdb_psp0_1192.trc:
ORA-27300: OS system dependent operation:spcdr:9261:4200 failed with status: 997
ORA-27301: OS failure message: Overlapped I/O operation is in progress.
ORA-27302: failure occurred at: skgpspawn

in the alert log included in RDA output.

ChangesThe '/3GB'  switch was added to the  'boot.ini'  file at the OS level but the errors are eventually encountered when the database is under heavy load. CauseOS resource issue.
The maximum amount of addressable memory by a process ('oracle.exe' for example) running in a
32-Bit Windows environment has been reached.

In a 32-Bit Windows environment, the total addressable memory by a single process is a 4GB. On
Windows, the OS reserves half of this memory by default for kernel memory, leaving 2GB of
addressable memory for a user process. By placing the '/3GB' switch in the 'boot.ini'  file, this
changes the ratio of kernel memory and user memory. When the  '/3GB'  switch is in place, processes (such as 'oracle.exe’) can address 3GB of virtual memory out of the total 4GB of addressable memory. However, once the 3GB of virtual memory is depleted, the process will fail. SolutionTo implement the solution, please execute the following steps:

Tune the application running on the 32-bit environment so that it will not consume greater than
2.7GB of virtual memory when the  '/3GB'  switch is set in the  'boot.ini'  file.
In the case of Oracle encountering the OS resource issue, the options are:

1) Reduce the amount of SGA needed to be allocated for the database.
2) Limit the number of dedicated connections to the database and the amount of memory each user
process will consume.
3) Change from dedicated connections to multi-threaded server (MTS) connections as MTS only
uses a fraction of the amount of memory allocated to each user process when initial connection to
the database is established.


See Metalink Note 225349.1 for an in depth discussion regarding memory usage in a 32-bit Windows environment.

ReferencesNote 225349.1 - Implementing Address Windowing Extensions (AWE) or VLM on Windows Platforms

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-591155/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12778571/viewspace-591155/

ORA-00600是Oracle数据库的一个内部错误代码,表示数据库遇到了一个未处理的异常。这个错误代码是Oracle数据库自己定义的错误,它的出现通常表示数据库引擎遇到了一些无法处理和解释的异常情况。 ORA-00600错误代码可能由多种原因引起,包括但不限于以下情况: 1. 数据库软件的 bug 或故障。 2. 数据库文件损坏或错误。 3. 数据库中的表结构或数据不一致。 4. 数据库配置错误或参数设置不正确。 5. 操作系统错误或硬件故障。 在遇到ORA-00600错误时,我们可以进行以下几个步骤来解决问题: 1. 记录错误代码、错误时间以及相关的错误信息。这些信息可以帮助我们更好地定位问题。 2. 检查数据库软件版本和补丁情况。有时,Bug 可能已经被厂商修复并发布了相应的补丁。 3. 检查数据库文件是否完整且没有损坏。可以运行相关的数据库维护工具来检查和修复损坏的文件。 4. 检查数据库结构和数据的一致性。可以运行数据库提供的工具来检查和修复表结构或数据不一致的问题。 5. 检查数据库配置和参数设置。可以参考数据库文档来调整相关的配置参数。 6. 如果问题仍然存在,可以联系Oracle的技术支持团队寻求帮助。他们可以通过分析错误日志和数据库状态来提供更具体的解决方案。 总之,ORA-00600是一个内部错误代码,表示Oracle数据库遇到了无法处理的异常。要解决这个问题,我们需要仔细分析错误信息,检查数据库的结构、数据和配置,如果需要可以联系厂商的技术支持团队来寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值