In a typical installation, Oracle tends to be I/O bound. Database transactions are slowed by waiting for one or more input/output operations, rather than by waiting for the CPU to complete an operation. Because the database is so dependent on I/O, overall Oracle performance can be improved, sometimes dramatically, by improving the overall performance of the I/O system on the host server. While there are several ways I/O performance may be improved (for example, by using faster disk drives or more controllers), one relatively easy way to improve I/O is by carefully allocating physical disk resources to Oracle.
Each time an Oracle table is updated, the following I/O operations are performed:
The write to the table
Reads and writes to any indexes
Reads and writes to the temporary tablespace if large sorts or joins are involved
Writes to the rollback segment for the table
Writes to the rollback segment for any indexes
Writes of the redo log buffer to disk for the table
Writes of the redo log buffer to disk for any indexes
Writes to the data dictionary if new extents are needed
In addition, if the database is running in archivelog mode, then at any given time the ARCH process may read from one of the online redo log files and write a copy to the archive log destination.