Oracle10gR2如何在RHEL 5下開啟非同步IO

來源:互聯網
上載者:User
文章目錄
  • 本文轉自:http://rq2-79.iteye.com/blog/805899
本文轉自:http://rq2-79.iteye.com/blog/805899

感謝原作者

Oracle10gR2如何在RHEL 5下開啟非同步IO

文章分類:資料庫

非同步I/O的優
點:非同步I/O是和同步I/O相比較來說的,如果是同步I/O,當一個I/O操作執行時,應用程式必須等待,直到此I/O執行完。相反,非同步I/O操作在
後台運行,I/O操作和應用程式可以同時運行,提高了系統效能; 使用非同步I/O會提高I/O流量,如果應用是對裸裝置進行操作,這種優勢更加明顯,
因此像資料庫,檔案伺服器等應用往往會利用非同步I/O,使得多個I/O操作同時執行。
  前段時間也在公司的伺服器上折騰過,不過搜到的文檔對應的平台都是Oracle9iR2在RHEL 3、AIX、HP-UNIX,測試半天未果。今天在My Oracle Support上找到了好幾篇文檔,終於搞明白了這個問題。

平台:Redhat Enterprise Linux 5 64bit,Oracle 10gR2 10.2.0.4 64bit

1、首先用root使用者安裝以下必要的rpm包

# rpm -Uvh libaio-0.3.106-3.2.i386.rpm
# rpm -Uvh libaio-0.3.106-3.2.x86_64.rpm
# rpm -Uvh libaio-devel-0.3.106-3.2.i386.rpm
# rpm -Uvh libaio-devel-0.3.106-3.2.x86_64.rpm

2、在系統級支援非同步I/O
  與[Note 225751.1]
介紹的在RHEL 3裡面設定非同步IO不同,不需要設定aio-max-size,而且'/proc/sys/fs'路徑下也沒有這個檔案。因為從2.6 kernel開始,已經取消了對IO size的限制[Note 549075.1]
。另外根據[Note 471846.1]
,Oracle建議將aio-max-nr的值設定為1048576或更高。

# echo > /proc/sys/fs/aio-max-nr 1048576

3、在資料庫級啟用非同步I/O
  首先修改資料庫參數。與[Note 225751.1]
在RHEL

3裡面設定非同步IO不同,Oracle10gR2預設是開啟了對非同步IO的支援的,不需要重新編譯資料庫軟體。在'$ORACLE_HOME/rdbms
/lib'路徑下,也沒有'skgaioi.o'這個檔案。在某些情況下,Oracle無法將IO行為或附隨報告給作業系統[Note 365416.1]
,因此需要做以下操作。

SQL> alter system set disk_asynch_io=TRUE scope=spfile;

SQL> alter system set filesystemio_options=asynch scope=spfile;

SQL>shutdown immediate
$ cd $ORACLE_HOME/rdbms/lib

$ ln -s /usr/lib/libaio.so.1 skgaio.o

$ make PL_ORALIBS=-laio -f ins_rdbms.mk async_on

SQL>startup

  在Oracle10gR2中AIO預設已經是開啟的了。可以通過ldd或者nm來檢查oracle是否已經啟用了AIO支援,有輸出代表已經啟用。

[oraprod@db01 ~]$ /usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio

        libaio.so.1 => /usr/lib64/libaio.so.1 (0x00002aaaac4a9000)
[oraprod@db01 ~]$ /usr/bin/nm $ORACLE_HOME/bin/oracle | grep io_getevent

                 w io_getevents@@LIBAIO_0.4

4、檢查非同步I/O是否在使用
  根據[Note 370579.1]
,可以通過查看slabinfo

計資訊查看作業系統中AIO是否運行,slab是Linux的記憶體 Clerk,AIO相關的記憶體結構已經分配,kiocb值的第二列和第三列非0即是已使用。
與kernel 2.4.x不同,沒有顯示kiobuf,因為從kernel 2.5.43開始,kiobuf已經從核心中被移除。

$ cat /proc/slabinfo | grep kio
kioctx 64 110 384 10 1 : tunables 54 27 8 : slabdata 11 11 0
kiocb 13 315 256 15 1 : tunables 120 60 8 : slabdata 21 21 44
$

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.