ORA-27300: ORA-04030: 等錯誤,這是要命的Oracle bug

mengzhaoliang發表於2009-04-21

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) 時程式記憶體不足


檢視:
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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章