The file system/u01 was full of 90% last week, so I wanted to clear it.
Later, we found that a large number of trace files are generated under udump, and the error file '/dev/async' notpresent: errno = 2 is reported, but these errors will not appear in alert logs, the content is as follows:
RAC:/u01/Oracle/admin/EDB/udump> $ moreedb1_ora_10008.trc
File '/dev/async' not present: errno = 2
/U01/Oracle/admin/EDB/udump/edbump ora_10008.trc
Oracle database10g Enterprise Edition Release 10.2.0.4.0-64bit Production
With the partitioning, real applicationters ters, 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
Cause:
Check Metalink, saying that async I/O is automatically enabled after the database is upgraded to 10 GB on HP-Unix (the disk_asynch_io parameter is true ), however, because async I/O (no/dev/async file) is configured on the OS layer, a trace file is generated, the error message "File '/dev/async' not present: errno = 2" is returned.
There are two solutions:
1. Create/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
Or
2. Disable async I/O at the database layer.
Disable async at the database level. youshocould 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 shocould not normallybe set by the user. It is mainly here to help avoid OS
Bugs/problems by disabling certain Typesof Io. You shocould modify this only if you had this set earlier. Otherwise, justsetting disk_asynch_io shocould be okay.
Later, I sent an email to ask Party B, and he said:
Async Io can improve performance in the following aspects:
L Io queues do not need to wait, so the disk can organize scattered Io to improve performance with a relatively small number of Io. (Throughput improvement)
L The process can execute other tasks before the completion of Io to improve performance. (Response Time improvement)
If the production system and operating system support asynchronous Io, we recommend that you enable asynchronous Io.
But alert: HP-UX: RDBMS may not start if async disk driveris configured (Document ID 174487.1) says that configuring async IO in the operating system may cause database downtime, I feel that the risk is a little high. Besides, I/O is acceptable now. I suggest you choose the second solution to be more secure. Change the disk_asynch_io parameter at the next shutdown to check the situation.
Later, Master JJ said that modifying the disk_asynch_io parameter may also cause problems. If there is no impact, let it go. If it is too big, delete the trace file regularly and clear the udump.