Обсуждение статьи тематического каталога: Активирование асинхронного вводавывода в Linux для Oracle9iR2 (async io oracle redhat linux)Ссылка на текст статьи: http://www.opennet.me/base/sys/async_io_for_oracle.txt.html
Параметр filesystem_io указан по ошибке.
Должно быть:-
filesystemio_options=asynch
Если корретировка init.ora не устанавливает его
правильно,то используйте закладку "Pfile" в
OEM консоли и затем "Apply".Параметр будет изменен
динамически и соответствуюший файл -
- $ORACLE_HOME/dbs/spfile будет изменен.
Можно рестартовать инстанс и убедиться,что
filesystemio_options=asynch
сохраняет свое значение.
Ссылка для kernel-2.4.20-35.9.i686.rpm неверна.Правильная - http://atrpms.net/dist
Другой подход:
rpm -i kernel-2.4.20-35.9.i686.rpm
(kernel supporting AIO)
rpm -i libaio-0.3.96-3.i386.rpm \
libaio-devel-0.3.96-3.i386.rpm
Restart RHL9
Login as oracle:-
Shutdown Oracle
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk ioracle
Startup Oracle.
Login to OEM Console.
Modify "Spfile" screen:-
disk_async_io=true
filesystemio_options=asynch
Click "apply".
Restart instance.
Прииводит к тем же результатам. Патчи не нужны
Обратите внимание на следующие инструкции из [2].Build libaio-oracle
wget http://oss.oracle.com/projects/libaio-oracle/dist/files/liba...
tar ztvf ./libaio-oracle-0.3.0.tar.gz
cd libaio-oracle-0.3.0
./configure
make installHave a look at the README and try running lio_test and aio_reap. If they work you should be nearly there!
Relink Oracle
If you try an RDBMS relink now, the relink will complete but instance startup will fail like this
make -f ins_rdbms.mk async_on
SQL>startup
ORACLE instance started.Total System Global Area 420549952 bytes
Fixed Size 451904 bytes
Variable Size 201326592 bytes
Database Buffers 218103808 bytes
Redo Buffers 667648 bytes
Database mounted.
ORA-01110: data file 2: '/path/to/undotbs1_01.dbf'
ORA-27083: skgfrliopo: waiting for async I/Os failed
Linux Error: 22: Invalid argument
ORA-01110: data file 1: '/path/to/system_01.dbf'
ORA-27083: skgfrliopo: waiting for async I/Os failed
Linux Error: 22: Invalid argumentor just got stuck at startup
gdb reveals that the failed call to skgfrliopo is from $ORACLE_HOME/rdbms/lib/skgaio.o.
Fortunately the libaio-oracle.o which you have just built appears to be a more up to date version of $ORACLE_HOME/rdbms/lib/skgaio.o, compatible with the 0.3.96 / kernel 2.6 implementation of aio
So, shut down AND BACKUP up your instance, and copy the library over:
mv $ORACLE_HOME/rdbms/lib/skgaio.o \ $ORACLE_HOME/rdbms/lib/skgaio.orig
cp libaio-oracle.o \ $ORACLE_HOME/rdbms/lib/skgaio.o
make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk ioracle
Обратный слеш - ошибка.
Просто:
mv $ORACLE_HOME/rdbms/lib/skgaio.o $ORACLE_HOME/rdbms/lib/skgaio.orig
cp libaio-oracle.o $ORACLE_HOME/rdbms/lib/skgaio.o
Ответ от Axel.Thimm@atrpms.net, относительно того, как следует
понимать документацию на atrmps.net.On Sun, Sep 19, 2004 at 10:46:34AM +0000, Boris Derzhavets wrote:
Please, view link:-
http://atrpms.net/dist/rh9/kernel-redhat/kernel-2.4.20-35.9....
You state on this page:-
Tue Mar 26 23:00:00 2002 Benjamin LaHaise
- add aio 20020326
- correct aio library install pathAxel Thimm answers:-
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).