【問題記錄】HP-Unix的async I/O導致產生大量tarce檔案

來源:互聯網
上載者:User

上星期檔案系統/u01滿90%了,就想去清理一下。

後來發現udump下產生大量的trace檔案,都在報File '/dev/async' notpresent : errno=2這個錯,但這些錯誤不會出現在alert日誌中,內容如下:

rac:/u01/oracle/admin/edb/udump>$moreedb1_ora_10008.trc

File '/dev/async' not present : errno=2

/u01/oracle/admin/edb/udump/edb1_ora_10008.trc

Oracle Database10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, Real ApplicationClusters, OLAP, Data Mining

and Real Application Testing options

ORACLE_HOME = /u01/oracle/product/10.2.0/db

System name:    HP-UX

Node name:      rac

Release:        B.11.11

Version:        U

Machine:        9000/800

Instance name: edb1

Redo thread mounted by this instance: 1

Oracle process number: 0

Unix process pid: 10008, image: oracle@rac

 

原因:

查了下metalink,說是在HP-Unix上資料庫升級到10g之後,async I/O是自動開啟的(DISK_ASYNCH_IO參數為true),但是由於在OS層沒有配置async I/O(即沒有/dev/async這個檔案),那麼就會產生trace檔案,報這個File '/dev/async' not present : errno=2錯誤。

 

解決方案有兩種:

1、建立/dev/async

Create '/dev/async' to suppress theseerrors. To create '/dev/async', you need to do the following as root:

/sbin/mknod /dev/async c 101 0x0

/usr/bin/chown oracle:dba /dev/async

/usr/bin/chmod 000 /dev/async

 

或者

 

2、關閉資料庫層的async I/O

Disable async at the database level. Youshould set the following parameters as follows:

disk_asynch_io = FALSE (in the init.ora file (or spfile))

filesystemio_options = <value>

restart the instance

The <value> of filesystemio_optionsmay be any of the following:

"asynch" - Set by default. Thisallows asynchronous IO to be used where supported by the OS.

"directIO" - This allows directIOto be used where supported by the OS. Direct IO bypasses any

Unix buffer cache.

"setall" - Enables both ASYNC andDIRECT IO.

"none" - This disables ASYNC IOand DIRECT IO so that Oracle uses normal synchronous writes, without any directio options.

 

You shouldconsult your SA to find out supported option and select that.

 

However, this parameter should not normallybe set by the user. It is mainly here to help avoid OS

bugs / problems by disabling certain typesof IO. You should modify this ONLY if you had this set earlier. Otherwise, justsetting disk_asynch_io should be okay.

 

後來發郵件問了下乙方,他說:

async io能夠在以下方面提升效能

l IO隊列不需要等待所以磁碟可以對零散的IO進行組織以相對次數較少的io以提升效能。(輸送量的提升)

l  進程可在等待IO完成前執行另外的任務以提升效能。(回應時間的改善)

 

生產系統,作業系統如果支援非同步IO的,我們建議還是開啟非同步IO

 

但是《ALERT:HP-UX: RDBMS May Not Start if Async Disk Driveris Configured (文檔 ID 174487.1)》上說,如果在作業系統配置async IO可能會導致資料庫起不來,感覺風險有點大,再說我們現在IO也還可以,還是選擇第二種方案比較保險。等下次停機的時候再改disk_asynch_io這個參數,看看情況再說。

後來JJ師父說修改disk_asynch_io這個參數也可能會有問題,反正現在沒有什麼影響,就讓它去,大不了就定期刪下trace檔案,清理下udump。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.