Disk I/O Reports Section
The following sections of the AWR report show the distribution of
I/O activity between the tablespaces and data files.
Tablespace IO Stats DB/Inst: LSQ/lsq
Snaps: 1355-1356
-> ordered by IOs (Reads + Writes) desc
Tablespace
------------------------------
Av Av
Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd
Writes Writes/s Waits Wt(ms)
-------------- ------- ------ -------
------- - ---------- ------
T_FS_LSQ
26,052 7 132.5
14.5 1 0 43,931 78.3
SYSAUX
1,730 0 123.5 1.1
1,139 0 0 0.0
SYSTEM
814 0 305.1
2.0 95 0 0 0.0
USERS
262 0 15.2
1.0 1 0 290 12.1
UNDOTBS1
14 0 86.4
1.0 129 0 3 0.0
TEMP
1 0 80.0
1.0 0 0 0 0.0
------------------------------------------------------
File IO Stats DB/Inst: LSQ/lsq Snaps:
1355-1356
-> ordered by Tablespace, File
Tablespace Filename
------------------------
----------------------------------------------------
Av
Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd
Writes Writes/s Waits Wt(ms)
-------------- - ------ -------
------------ -------- --- ------
SYSAUX G:\ORACLE\LSQ\LSQ\SYSAUX01.DBF
1,730 0 123.5 1.1
1,139 0 0 0.0
SYSTEM G:\ORACLE\LSQ\LSQ\SYSTEM01.DBF
814 0 305.1
2.0 95 0 0 0.0
TEMP G:\ORACLE\LSQ\LSQ\TEMP01.DBF
1 0 80.0 1.0
0 0 0
T_FS_LSQ G:\ORACLE\LSQ\LSQ\T_FS_LSQ01.DBF
26,052 7 132.5
14.5 1 0 43,931 78.3
UNDOTBS1 G:\ORACLE\LSQ\LSQ\UNDOTBS01.DBF
14 0 86.4
1.0 129 0 3 0.0
USERS G:\ORACLE\LSQ\LSQ\USERS01.DBF
262 0 15.2
1.0 1 0 290 12.1
-------------------------------------------------
In general, the information presented in the sample AWR I/O section
shown above is intended to help the DBA identify hot spots of the
database I/O subsystem.
Oracle considers average disk read times of greater than 20
milliseconds to be unacceptable. If data files, as in the example
above, consistently have average read times of 20 ms or greater, a
number of possible approaches can be followed:
A database
with no user SQL being run generates little or no I/O. Ultimately
all I/O generated by a database is directly or indirectly due to the
nature and amount of user SQL being submitted for execution. This
means that it is possible to limit the I/O requirements of a
database by controlling the amount of I/O generated by individual
SQL statements. This is accomplished by tuning SQL statements so
that their execution plans result in a minimum number of I/O
operations. Typically in a problematic situation, there will only be
a few SQL statements with suboptimal execution plans generating a
lot more physical I/O than necessary and degrading the overall
performance for the database.
The amount of I/O required by the database is limited by the use of
a number of memory caches; e.g., the Buffer Cache, the Log Buffer,
various Sort Areas etc. Increasing the Buffer Cache, up to a point,
results in more buffer accesses by database processes (logical I/Os)
being satisfied from memory instead of having to go to disk
(physical I/Os). With larger Sort Areas in memory, the likelihood of
them being exhausted during a sorting operation and having to use a
temporary tablespace on disk is reduced.
The size of individual multi-block I/O operations can be controlled
by instance parameters. Up to a limit, multi-block I/Os are executed
faster when there are fewer larger I/Os than when there are many
smaller I/Os.
If
the tablespace contains indexes, another option is to compress the
indexes so that they require less space and hence, less I/O.
This involves making use of I/O capabilities such as Asynchronous
I/O or using File systems with advanced capabilities such as Direct
I/O, bypassing the Operating System’s File Caches.
Another possible action is to raise the limit of maximum I/O size
per transfer.
Balancing the database I/O by use of Striping, RAID, Storage Area
Networks (SAN) or Network Attached Storage (NAS). This approach
relies on storage technologies such as Striping, RAID, SAN and NAS
to automatically load balance database I/O across multiple available
physical disks in order to avoid disk contention and I/O bottlenecks
when there is still available unused disk throughput in the storage
hardware.
:
Database I/O by manual placement of database files across different
file systems, controllers and physical devices. This is an approach
used in the absence of advanced modern storage technologies. Again,
the aim is to distribute the database I/O so that no single set of
disks or controller becomes saturated from I/O requests when there
is still unused disk throughput. It is harder to get right than the
previous approach and most often less successful.
:
Reducing the data volumes of the current database by moving older
data out.
:
Investing in more modern and faster hardware.
SEE CODE DEPOT FOR FULL SCRIPTS