1. Higher availability
2. Better performance
When you partition a table, you are saying that part of the rows of the table will go into one partition, another set of rows in another partition, and so on.
Higher availability is achieved when you place these different partitions on different disk devices. Should you lose a disk device, then only attempts to access that partition will fail. If your application accesses other partitions that are still available, the application will not notice. Regular tables do not enjoy this feature.
Better performance is achieved by one of two ways. First, you can spread the table's data among multiple disk devices by placing each partition in a different tablespace on different disk devices. More disk devices means more disk spindles at work to satisfy your I/O requests.
Better performance is really noticable with a concept of "partition pruning." If your table has three partitions, PART_A, PART_B, and PART_C and each partition contains 1 million rows of data, then when you query looks for data that is in only PART_B, the system automatically knows not to look in the other partitions. Instead of reading three million rows, you only have to read one million.
I would recommed reading the Oracle Concepts Guide in your
documentation for more information as partitioning can be a large
This was first published in April 2004