Tuesday, February 23, 2010

aio-max-nr parameter for Oracle database 11G R12 on Ubuntu

When installing a Oracle database on a Linux server, for example Ubuntu you can come across a warning during the installation that you have to change your aio-max-nr parameter. This warning will most likely come in a format like below:

This is a prerequisite condition to test whether the OS kernel parameter "aio-max-nr" is properly set.
Expected Value : 1048576
Actual Value : 65536

The /proc/sys/fs/aio-max-nr file is the maximum number of allowable concurrent requests. The maximum is commonly 64KB, which is adequate for most applications. This is related to asynchronous I/O usage on your system. IBM is running a great article on this which you can find here at the IBM website where they dive into the POSIX AIO API.

To solve the problem in hand you have to add the below line to your /etc/sysctl.conf file.

fs.aio-max-nr = 1048576

After you have done so you can activate your settings by executing the following command:

sysctl -p /etc/sysctl.conf

When this is done you should be set and ready to continue the installation of your database.

3 comments:

Jimmy said...

Thank you very much, this helped me a lot!!

Unknown said...

That helped quite a bit. Thank you.

Christo Kutrovsky said...

Note that the value is not in BYTES but in numbers.

i.e. number of requests.

Your blog suggest that the value is in bytes.

The recommended value is to have 1 * 1024 * 1024 (1 million) active requests as the maximum.