首页 > 数据库 > Oracle > asynch descriptor resize
今天在做数据库巡检时发现等待事件asynch descriptor resize出现在TOP 5里,而且次数很高。

对于这个等待事件很陌生,百度了一下,有种说法是Bug。呵呵,既然说是Bug,那在MOS里应该有更详细的说明。
首先,来看看什么是asynch descriptor resize,在什么情况下会发生:
Wait event 'asynch descriptor
resize' is waited for when the number of asynchronous descriptors reserved
inside the OS kernel is being re-adjusted.
When the number of asynchronous
I/O's submitted by a process has to be dynamically increased, the unix kernel
is signalled to make the changes and the process will wait on 'asynch
descriptor resize' . Many Unix Kernels (for example: Linux kernel) do not allow
the limit to be increased when there are outstanding I/O's; all outstanding
I/O's must be resolved before the limit is increased. This means that all
sessions doing asynchronous I/O will wait at this time. The event is shown when
the kernel wants to increase the limit and is waiting for all the outstanding
I/O's to be resolved so that the increase can be implemented.
If you see this wait event often,
it might be a good idea to install the fix for (unpublished) Bug: 9829397 ASYNC
DESCRIPTOR RESIZE which adjusts the frequency of resize calls.
The fix for (unpublished) Bug 9829397 is included in 11.2.0.2.5, 11.2.0.3 and
Oracle 12g
再看看相关bug影响的平台和数据库版本:
Affects:
|
Product (Component) |
Oracle Server (Rdbms) |
|
Range of versions believed to be affected |
Versions >= 11.2 but BELOW 12.1 |
|
Versions confirmed as being affected |
|
|
Platforms affected |
Generic (all / most platforms affected) |
It is believed to be a regression in default behaviour
thus:
Regression introduced in 11.2.0.2
Fixed:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
这里数据库的版本是11.2.0.1,处在受影响的范围之内。
此bug相关描述和解决方法:
Bug 9829397 - Excessive CPU and many "asynch
descriptor resize" waits for SQL using Async IO (文档 ID 9829397.8)
Description
Some queries in 11.2 may exhibit higher CPU usage than earlier
releases with many "asynch descriptor resize" waits occurring
compared to the same SQL in earlier releases.
Rediscovery Notes:
Async IO is in use.
The total time waiting for "asynch descriptor resize" is
typically very small but with very high counts. The high
wait count indicates many resizes of the number of AIO
descriptors unnecessarily wasting CPU. Workaround Disable async IO.
eg: Set DISK_ASYNCH_IO = false
References:
For more information about "asynch descriptor resize" see the following: Note:1273748.1 High Numbers of 'asynch descriptor resize' waits Note:1081977.1 Details of the "asynch descriptor resize" wait event.
Getting a Fix Use one of the "Fixed" versions listed above (for Patch Sets / bundles use the latest version available as
contents are cumulative - the "Fixed" version listed above is
the first version where the fix is included)
或者可以到bug fixes(文档 ID 1373411.1)进行搜索
该文章纯属工作记录,没有广告嫌疑,管理不要再删除,谢谢。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29843794/viewspace-1292494/ ,如需转载,请注明出处,否则将追究法律责任。