WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1
By: Date: 10.02.2012 Categories: !RUS,Errors,ORACLE Метки:
ENG: WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1

Платформа Windows.
©Bobrovsky Dmitry
После обновления на 10.2.0.5 в папке udump стали появляться trace файлы (иногда огромного размера) которые содержать в себе множество вот таких сообщений:
©Bobrovsky Dmitry

*** 2011-12-28 15:52:05.678
*** ACTION NAME:() 2011-12-28 15:52:05.662
*** MODULE NAME:(EGRP_ADM) 2011-12-28 15:52:05.662
*** SERVICE NAME:(shd) 2011-12-28 15:52:05.662
*** SESSION ID:(130.6168) 2011-12-28 15:52:05.662
WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
*** 2011-12-28 15:52:16.647
WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1

Это Bug 9772888: WARNING:COULD NOT LOWER THE ASYNCH I/O LIMIT TO 160 FOR SQL DIRECT I/O.

Подробнее можно почитать в «WARNING:Could not lower the asynch I/O limit to 224 for SQL direct I/O. It is set to -1» After Upgrading To 10.2.0.5 [ID 1155445.1].

Частное решение проблемы:

Обновиться до 11.2 с патчем 11.2.0.2.0 или установить 10.2.0.5 Patch 1.
©Bobrovsky Dmitry
Общее решение проблемы (см. примечание ниже):

Обновится до самого последнего промежуточного патча самого последнего Patch Set-а для этого релиза (например, на момент написания статьи для 10.2 — это 10.2.0.5.0 Patch 14).

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

ПРИМЕЧАНИЕ:

Вообще-то похожие сообщения я встречал и раньше, начиная с 10.2.0.4. Если посмотреть документ — [342443.1]  10.2.0.x Oracle Database and Networking Patches for Microsoft Platforms, то видно что похожие сообщения могут встречались как до 10.2.0.5 Patch 1 так и после.

Вот вырезка из документа:
Dmitry Bobrovsky
10.2.0.5.0 Patch 12
Bug 10208905: WARNING:COULD NOT INCREASE THE ASYNCH I/O LIMIT
BUFFERCACHE: «WARNING: Could not increase the asynch I/O limit …» messages in trace file (The messages are intended for internal diagnostics purposes and should not be externally visible by default).
Dmitry Bobrovsky
10.2.0.5.0 Patch 7
Bug:8412426
RDBMS: «WARNING: Could not lower the asynch I/O limit» messages.

10.2.0.5.0 Patch 1
Bug 9772888: WARNING:COULD NOT LOWER THE ASYNCH I/O LIMIT TO 160 FOR SQL DIRECT I/O. IT IS SE
BUFFERCACHE: Trace files may be seen with a warning of the form: «WARNING: Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1.»

10.2.0.4.0 Patch 41
Bug:8412426
RDBMS: Asynch I/O submission can fail with ENOMEM or ERETRY type errors due to kernel resource limitations. Warnings (Could not lower the asynch I/O limit to 912 for SQL direct I/O) are printed when ever an ERETRY error is seen by Oracle producing excessive trace.
Dmitry Bobrovsky
10.2.0.4.0 Patch 30
Bug 8217795: PATCH 7409110 APPLIED STILL HAVING WARNING:COULD NOT SET THE ASYNCH I/O LIMIT
BUFFERCACHE: Trace messages produced : «WARNING:Could not set the asynch I/O limit» even though Async IO disabled.
Запись WARNING:Could not lower the asynch I/O limit to 192 for SQL direct I/O. It is set to -1 впервые появилась Dmitry Bobrovsky Blog