Search notes:

Oracle: I/O

The two main factors that control how I/O is performed are:

Buffered I/O vs Direct I/O

With buffered I/O, the data which is read (and written?) using the read() (and write()?) syscalls are buffered in a cache maintained by the OS . With direct I/O, read() and write()` is not buffered by the OS but directly written or read from/to the device.
Because Oracle maintains its own buffer cache, buffered I/O is generally not desirable.
In Linux, the amount of memory set aside for buffered I/O is shown under cache in the memory heading with
vmstat -S m

See also

select *
from
   v$metricname
where
   group_name = 'I/O Stats by Function Metrics' or
   metric_name like '%I/O%'
order by
   group_name,
   metric_name;

select * from v$sysmetric where metric_name like '%I/O%';

select * from v$statname where name like '%I/O%';

select * from v$event_name where wait_class in ('User I/O', 'System I/O') or name like '%I/O%' order by wait_class, name;

select * from v$io_calibration_status;

select * from dba_hist_iostat_filetype;
select * from dba_hist_iostat_detail;
select * from dba_hist_iostat_function;
select * from dba_hist_iostat_filetype_name;
select * from dba_hist_iostat_function_name;
select * from dba_rsrc_io_calibrate;
select * from dba_hist_comp_iostat;
select * from dba_hist_sess_time_stats /* Especially columns sum_sys_io_wait and sum_user_io_wait */;
The buffer cache
A server process does not directly write to data files. Rather, it writes to the buffer cache and lets background processes do the I/O.
The init parameters
Events
ORA-17002: I/O Error
IOSEEKTIM, IOTFRSPEED, MAXTHR (Oracle Optimizer Tracing)
catio.sql ($ORACLE_HOME/rdbms/admin)
ASM disk groups try to distribute data such that it can be accessed in a balanced fashion.
x$kcfio
ksf is the Kernel Service File I/O layer.
The KCBL (Kernel Cache Buffer Load) module
Events 10229, 10245, 10284, 10297, 10298
performance and tuning

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:51 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(51): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(66): id_of(Object(PDO), 'uri', '/notes/developm...') #2 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1758192075, '216.73.216.150', 'Mozilla/5.0 App...', NULL) #3 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/databases/Oracle/adminstration/performance-tuning/I-O/index(118): insert_webrequest() #4 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 51