WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O.

Hoegh發表於2016-08-03
最近在現場維護資料庫(Windows Server 2008 R2+Oracle 10.2.0.5)時,發現資料庫軟體所在分割槽的空間幾乎所剩無幾。
將近100G的空間,除了作業系統和資料庫軟體,其餘什麼都沒有安裝,竟然只有6.15G可用,這是怎麼回事呢?


依次排查C盤下的目錄,發現問題出在了bdmp目錄。
不看不知道,一看嚇一跳,超過2G的trace檔案有9個,其中有一個將近10G;
其餘將近1G的還有不少,怪不得只有6.15G可用空間呢。


那麼,這些trace檔案都記錄了什麼內容呢?選了幾個KB、MB級別的檔案開啟看了一下,發現內容都一樣:
點選(此處)摺疊或開啟
  1. Dump file c:\oracle\product\10.2.0\admin\HOEGH\bdump\HOEGH_s009_6048.trc
  2. Sat Jul 30 01:07:40 2016
  3. ORACLE V10.2.0.5.0 - 64bit Production vsnsta=0
  4. vsnsql=14 vsnxtr=3
  5. Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  7. Windows NT Version V6.1 Service Pack 1
  8. CPU : 40 - type 8664, 20 Physical Cores
  9. Process Affinity : 0x0000000000000000
  10. Memory (Avail/Total): Ph:11348M/32757M, Ph+PgF:43306M/65513M
  11. Instance name: HOEGH

  12. Redo thread mounted by this instance: 1

  13. Oracle process number: 28

  14. Windows thread id: 6048, image: ORACLE.EXE (S009)


  15. *** 2016-07-30 01:07:40.094
  16. *** SESSION ID:(291.400) 2016-07-30 01:07:40.079
  17. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  18. *** SESSION ID:(168.4402) 2016-07-30 01:07:41.295
  19. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  20. *** 2016-07-30 01:07:53.978
  21. *** SESSION ID:(205.686) 2016-07-30 01:07:53.978
  22. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  23. *** SESSION ID:(224.27814) 2016-07-30 01:07:55.195
  24. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  25. *** 2016-07-30 01:09:37.079
  26. *** SESSION ID:(241.21749) 2016-07-30 01:09:37.079
  27. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  28. *** 2016-07-30 01:13:37.179
  29. *** SESSION ID:(298.53285) 2016-07-30 01:13:37.179
  30. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  31. *** 2016-07-30 01:14:07.427
  32. *** SESSION ID:(219.44573) 2016-07-30 01:14:07.427
  33. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  34. *** SESSION ID:(263.59334) 2016-07-30 01:14:08.691
  35. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  36. *** 2016-07-30 01:20:09.130
  37. *** SESSION ID:(160.19644) 2016-07-30 01:20:09.130
  38. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  39. *** SESSION ID:(280.35874) 2016-07-30 01:20:10.346
  40. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1
  41. *** 2016-07-30 01:21:52.277
  42. *** SESSION ID:(224.27814) 2016-07-30 01:21:52.277
  43. WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O. It is set to -1

透過查詢資料得知,這是WARNING是個Bug,和Oracle的特定版本有關:
點選(此處)摺疊或開啟
  1. '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 (Doc ID 1155445.1)
  2. Bug 9772888 - Needless "WARNING:Could not lower the asynch I/O limit to .. for SQL direct I/O It is set to

Bug 影響的2個版本:

10.2.0.5

11.2.0.1

 

在如下版本已經修復:

12.1 (Future Release)

11.2.0.2 (Server Patch Set)

10.2.0.5.2 Patch Set Update

10.2.0.5 Patch 1 on Windows Platforms


那麼,如何解決這個bug呢?
貌似只能升級到上述修復版本或者更高版本。

回想當初,我們由10.2.0.4升級到10.2.0.5,只是為了解決Oracle在Rose HA環境下EM無法正常工作的問題(事實上只是解決了一個其中一個小bug,EM在雙機切換時仍然無法正常使用)。
沒想到,卻引入了這麼一個bug。

重要的事情說三遍:
升級需謹慎!
升級需謹慎!
升級需謹慎!


~~~~~~~ the end~~~~~~~~~
hoegh
2016.08.03

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-2122886/,如需轉載,請註明出處,否則將追究法律責任。

相關文章