Oracle 分区技术.pdf
Oracle 分区技术是 Oracle 数据库中的一种强大功能,自 1997 年的 Oracle 8.0 中首次引入。它可以提高应用程序的性能、可管理性和可用性。Oracle 数据库 11g 中引入了第 8 代分区,继续提供突破性的新增强功能。
分区的概念是将表、索引或按索引组织的表进一步细分为小块,每个分区都有自己的名称,可以选择自己的存储特性。这样可以带来一系列好处:
* 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用。
* 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可。
* 均衡 I/O:可以把不同的分区映射到磁盘,平衡 I/O,改善整个系统性能。
* 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。
Oracle 提供了三种基本数据分配方法:范围(range)、列表(list)与散列(hash)。使用这些数据分配方法,可以将表分成单一表或组合分区表。用户可以根据实际业务需要以最佳方式调整数据细分。
单一分区是通过指定其中的一个数据分配方法来定义表,并使用一个或多个列作为分区键。例如,某个表使用数字列作为分区键,并具有两个分区“less_than_five_hundred”和“less_than_thousand”。
组合分区使用两个数据分配方法的组合来定义组合分区表。例如,首先对范围一散列组合分区表进行范围分区,然后使用第二个数据分配方法为每个分区进一步划分子分区。
分区扩展是 Oracle 11g 中的一种功能,包括间隔分区、引用分区与基于虚拟列的分区。分区扩展显著增强分区表的可管理性,扩展分区键定义的灵活性。
间隔分区扩展了范围分区的功能,可以使用间隔定义来定义同类分区范围。当分区的数据首次插入时,Oracle 将根据需要自动创建分区,而非显式指定单独的范围。
引用分区允许利用现有的父子关系对表进行分区。子表可以继承父表的分区策略,而无需在子表中存储父表的分区键列。引用分区还可以透明地继承父表的分区键列,减少了非规范化的手动开销并节省了空间。
Oracle 分区技术是一种强大且灵活的功能,可以帮助用户提高应用程序的性能、可管理性和可用性。