All objects that might be used in the same transaction should be on different mount points.
- System tablespace
- Data tablespace
- Index tablespace
- Rollback segments
- Archive logs
- Temporary tablespace
To check the current blocks in memory
SELECT b.file_name, a.file#, a.cnt
FROM ( SELECT file#, COUNT (1) cnt
GROUP BY file#) a, dba_data_files b
WHERE a.file# = b.file_id
ORDER BY cnt DESC
The v$filestat tell us the time spent performing reads and writes, in hundredths of a second, if timed_statistics is set to true. When I look at a system that has been up for a longer time, I see that the average time to write a block of data is about ten times longer than the average time to read a block.
Take a look at your v$filestat and v$tempstat views. Mine have shown me that even though Oracle works in memory as much as possible, I still need to be very aware of I/O-level contention. I also see that wherever I can, I will try to minimize the number of write actions performed.
Watch yours for a while to see what is really going on.