Активирование асинхронного ввода/вывода в среде Red Hat Linux 9. Линкование Oracle9iR2 для использования AIO.

В статье рассмотрена процедура активации асинхронного ввода-вывода в среде Red Hat Linux 9 (ядро 2.6.8) и сборки СУБД Oracle9iR2 с использованием этой функции

[Борис Державец (dba477@list.ru)]

Активирование асинхронного ввода/вывода для Oracle9iR2(9.2.0.4) в среде Linux 2.6.8

Замечание редактора: первоначально в данной статье шла речь об активировании AIO в среде Red Hat Linux 9 (ядро 2.4.20). Однако, впоследствии выяснилось, что kernel-RPMs RHL 9, вопреки информации*, опубликованной на http://atrpms.net, не проходили тесты aio-stress и не поддерживают асинхронный ввод-вывод. Для устранения этого недостатка автор предложил либо прейти на RHEL AS/ES 3, либо обновить ядро до версии 2.6.8. Последнему варианту, как наиболее доступному для большинства читателей, и посвящена эта статья.

Первое:
Download aio-stress.c from [1] и откомпилируйте его:

   gcc -Wall -laio -lpthread -o aio-stress aio-stress.c
Выполните aio-stress тесты и удостоверьтесь, что ядро поддерживает AIO

Второе:
Build "libaio-oracle" as root
Download libaio-oracle-0.3.0.tar.gz -
- исходный код для libaio-oracle version 0.3.0 с http://oss.oracle.com/projects/libaio-oracle/files в каталог /tmp

$cd /tmp
$gunzip libaio-oracle-0.3.0.tar.gz
$tar xf libaio-oracle-0.3.0.tar
$cd libaio-oracle-0.3.0
$./configure
$make install
Довавьте к /etc/ld.so.conf
/lib
/usr/lib
/usr/local/lib
Restart Linux.

Выполните контрольный тест: lio_test.

Далее:

$su - oracle
Shutdown oracle
$mv $ORACLE_HOME/rdbms/lib/skgaio.o $ORACLE_HOME/rdbms/lib/skgaio.orig
$cp /tmp/libaio-oracle-0.3.0/libaio-oracle.o $ORACLE_HOME/rdbms/lib/skgaio.o
$make -f ins_rdbms.mk async_on
$make -f ins_rdbms.mk  ioracle

Startup Oracle
Modify screen  SPFILE of OEM concole
    disk_asynch_io=true
    filesystemio_options=asynch
Click "Apply"
Restart instance
Файл skgaio.o, участвующий в перелинковке бинарников Oracle :
  $make -f ins_rdbms.mk async_on
  $make -f ins_rdbms.mk  ioracle
был фактически заменен /tmp/libaio-oracle-0.3.0/libaio-oracle.o

*. Вот как прокомментировал эту ситуацию Эксел Тим (Axel Thimm), Axel.Thimm AT atrpms.net:
That's a changelog made by Red Hat, even if after two years the aio patches got removed or are malfunctioning, the changelog is still valid and cannot be altered (it is there for documenting historical steps).

Ссылки:
1. http://ftp.belnet.be/linux/SuSe/people/mason/utils

[ опубликовано 16/09/2004 ]

Борис Державец (dba477@list.ru) - Активирование асинхронного ввода/вывода в среде Red Hat Linux 9. Линкование Oracle9iR2 для использования AIO.   Версия для печати