There are several ways to handle excessive I/O waits. In the order of effectiveness, these are as follows:
Reduce the I/O activity by SQL tuning
Reduce the need to do I/O by managing the workload (in the time)
Gather system statistics with DBMS_STATS package, allowing the query optimizer to accurately cost possible access paths that use full scans
-
Add more disks to reduce the number of I/Os for each disk
Alleviate I/O hot spots by redistributing I/O across existing disks