Does LGWR use synchronous IO even AIO enabled?

在Oracle中开启AIO异步IO后可以一定程度上提升数据库IO性能,但同时也引入了丢失commit数据的风险。具体可以参见小荷同学的文章,但是这里存在一个疑问就是redo重做记录是同步写出还是在启用AIO后同样使用异步IO的API,我们可以通过跟踪lgwr后台进程的system call系统调用来说明该问题:

SQL> select * from v$version; BANNER —————————————————————- Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bi PL/SQL Release 10.2.0.4.0 – Production CORE 10.2.0.4.0 Production TNS for Linux: Version 10.2.0.4.0 – Production NLSRTL Version 10.2.0.4.0 – Production SQL> show parameter disk_asynch_io NAME TYPE VALUE ———————————— ———– —————————— disk_asynch_io boolean TRUE SQL> show parameter filesystem . . . → Read More: Does LGWR use synchronous IO even AIO enabled?

11g新特性之IO校准(IO Calibration)

IO校准(IO Calibration)特性可以帮助我们了解存储系统的真实性能,以进一步判断I/O性能问题是由数据库还是存储系统自身引起的。I/O校准特性(IO Calibration)通过对Oracle数据文件的随机I/O访问存储介质,其结论值更符合数据库IO性能的真实情况。 在使用该特性前,我们要确保满足以下条件:

调用该存储过程需要用到SYSDBA权限 TIME_STATISTICS 参数为true:

SQL> show parameter timed_statistics;

NAME TYPE VALUE ———————————— ———– —————————— timed_statistics boolean TRUE

必须打开异步IO;注意在使用文件系统时,FILESYSTEMIO_OPTIONS需设为SETALL或ASYNC,否则Oracle不会启用异步IO。 可以通过以下查询检验是否启用了异步IO: SQL> SELECT NAME, ASYNCH_IO 2 FROM V$DATAFILE F, V$IOSTAT_FILE I 3 WHERE F.FILE# = I.FILE_NO 4 AND FILETYPE_NAME = ‘Data File’; NAME ASYNCH_IO ——————————————————————————– ——— D:\TOOLS\ADMINSTRATOR\11G\ORADATA\PROD\DATAFILE\O1_MF_SYSTEM_65DN8HXT_.DBF ASYNC_ON D:\TOOLS\ADMINSTRATOR\11G\ORADATA\PROD\DATAFILE\O1_MF_SYSAUX_65DN8J18_.DBF ASYNC_ON . . . → Read More: 11g新特性之IO校准(IO Calibration)

How to use Concurrent I/O on HP-UX and improve throughput on an Oracle single-instance database

Applies to:

Oracle Server – Enterprise Edition – Version: 10.2.0.1 to 11.2.0.2 – Release: 10.2 to 11.2 HP-UX PA-RISC (64-bit) HP-UX Itanium HP-UX PA-RISC – HP-UX 11iv3 September 2009 Operating Environment Update Release HP-UX Integrity Blade Server – HP-UX 11iv3 September 2009 Operating Environment Update Release VxFS 5.0.1 – Using OnlineJFS 5.0.1

Goal

How to . . . → Read More: How to use Concurrent I/O on HP-UX and improve throughput on an Oracle single-instance database