Partitioning in Oracle Database 10g Release 2. An Oracle White Paper May 2005

Similar documents
ORACLE DATA SHEET ORACLE PARTITIONING

An Oracle White Paper June Partitioning with Oracle Database 12c

An Oracle White Paper February Optimizing Storage for Oracle PeopleSoft Applications

Oracle Database 10g Release 2 Database Vault - Restricting the DBA From Accessing Business Data

Oracle Partitioning in Oracle Database 12c Release 2

Advanced Global Intercompany Systems : Transaction Account Definition (TAD) In Release 12

An Oracle White Paper October The New Oracle Enterprise Manager Database Control 11g Release 2 Now Managing Oracle Clusterware

Oracle FLEXCUBE Direct Banking Release Dashboard Widgets Transfer Payments User Manual. Part No. E

Technical Upgrade Guidance SEA->SIA migration

Improve Data Integration with Changed Data Capture. An Oracle Data Integrator Technical Brief Updated December 2006

Oracle Fusion General Ledger Hierarchies: Recommendations and Best Practices. An Oracle White Paper April, 2012

Bulk Processing with Oracle Application Integration Architecture. An Oracle White Paper January 2009

An Oracle White Paper September Methods for Upgrading to Oracle Database 11g Release 2

Oracle Database Vault

Oracle Database 10g Workspace Manager Support for Oracle Spatial Topology Data Model. An Oracle White Paper May 2005

Data Capture Recommended Operating Environments

An Oracle White Paper September Upgrade Methods for Upgrading to Oracle Database 11g Release 2

Oracle Fusion Middleware 11g Oracle Access Manager Frequently Asked Questions June 2009

Configuring Oracle Business Intelligence Enterprise Edition to Support Teradata Database Query Banding

Oracle WebCenter Portal 11g Developer Workshop

Superior Product Variants Software for Multi-Attribute Product Companies. An Oracle White Paper April 2004

An Oracle White Paper November Primavera Unifier Integration Overview: A Web Services Integration Approach

Creating Custom Project Administrator Role to Review Project Performance and Analyze KPI Categories

Oracle FLEXCUBE Direct Banking Release Corporate Cash Management User Manual. Part No. E

Installation Instructions: Oracle XML DB XFILES Demonstration. An Oracle White Paper: November 2011

Maximum Availability Architecture. Oracle Best Practices For High Availability

Oracle Enterprise Performance Management Cloud

Oracle Warehouse Builder 10g Release 2 Integrating Packaged Applications Data

An Oracle White Paper June Exadata Hybrid Columnar Compression (EHCC)

Oracle WebCenter Portal 11g Developer Workshop

Adding Mobile Capability to an Enterprise Application With Oracle Database Lite. An Oracle White Paper June 2007

Frequently Asked Questions Oracle Content Management Integration. An Oracle White Paper June 2007

Veritas NetBackup and Oracle Cloud Infrastructure Object Storage ORACLE HOW TO GUIDE FEBRUARY 2018

StorageTek ACSLS Manager Software Overview and Frequently Asked Questions

JD Edwards EnterpriseOne Licensing

An Oracle White Paper July Methods for Downgrading from Oracle Database 11g Release 2

Working with Time Zones in Oracle Business Intelligence Publisher ORACLE WHITE PAPER JULY 2014

Tutorial on How to Publish an OCI Image Listing

Generate Invoice and Revenue for Labor Transactions Based on Rates Defined for Project and Task

Managing Metadata with Oracle Data Integrator. An Oracle Data Integrator Technical Brief Updated December 2006

Correction Documents for Poland

Oracle DIVArchive Storage Plan Manager

Using the Oracle Business Intelligence Publisher Memory Guard Features. August 2013

Information Lifecycle Management for Business Data. An Oracle White Paper September 2005

An Oracle White Paper December, 3 rd Oracle Metadata Management v New Features Overview

Data Capture Recommended Operating Environments

Oracle CIoud Infrastructure Load Balancing Connectivity with Ravello O R A C L E W H I T E P A P E R M A R C H

An Oracle White Paper September Security and the Oracle Database Cloud Service

Achieving High Availability with Oracle Cloud Infrastructure Ravello Service O R A C L E W H I T E P A P E R J U N E

Oracle Database 10g Resource Manager. An Oracle White Paper October 2005

An Oracle White Paper August Building Highly Scalable Web Applications with XStream

Oracle Data Provider for.net Microsoft.NET Core and Entity Framework Core O R A C L E S T A T E M E N T O F D I R E C T I O N F E B R U A R Y

Oracle Database Vault

Automatic Receipts Reversal Processing

Handling Memory Ordering in Multithreaded Applications with Oracle Solaris Studio 12 Update 2: Part 2, Memory Barriers and Memory Fences

Oracle Database Vault

August Oracle - GoldenGate Statement of Direction

Oracle NoSQL Database For Time Series Data O R A C L E W H I T E P A P E R D E C E M B E R

Automatic Data Optimization with Oracle Database 12c O R A C L E W H I T E P A P E R S E P T E M B E R

ORACLE S PEOPLESOFT GENERAL LEDGER 9.2 (WITH COMBO EDITING) USING ORACLE DATABASE 11g FOR ORACLE SOLARIS (UNICODE) ON AN ORACLE S SPARC T7-2 Server

Oracle Data Masking and Subsetting

An Oracle White Paper September, Oracle Real User Experience Insight Server Requirements

Oracle Application Server 10g Oracle XML Developer s Kit Frequently Asked Questions September, 2005

Oracle Flash Storage System QoS Plus Operation and Best Practices ORACLE WHITE PAPER OCTOBER 2016

Rapid Bottleneck Identification A Better Way to do Load Testing. An Oracle White Paper June 2008

Oracle Cloud Applications. Oracle Transactional Business Intelligence BI Catalog Folder Management. Release 11+

An Oracle White Paper May Oracle VM 3: Overview of Disaster Recovery Solutions

Loading User Update Requests Using HCM Data Loader

An Oracle White Paper December Oracle Exadata Database Machine Warehouse Architectural Comparisons

Create Individual Membership. This step-by-step guide takes you through the process to create an Individual Membership.

Technical White Paper August Recovering from Catastrophic Failures Using Data Replicator Software for Data Replication

Oracle Application Development Framework Overview

Load Project Organizations Using HCM Data Loader O R A C L E P P M C L O U D S E R V I C E S S O L U T I O N O V E R V I E W A U G U S T 2018

Maximum Availability Architecture. Oracle Best Practices For High Availability

An Oracle White Paper June StorageTek In-Drive Reclaim Accelerator for the StorageTek T10000B Tape Drive and StorageTek Virtual Storage Manager

Highly Available Forms and Reports Applications with Oracle Fail Safe 3.0

An Oracle White Paper October Advanced Compression with Oracle Database 11g

Oracle Fusion Configurator

Oracle WebCenter Suite Integrating Secure Enterprise Search

Hard Partitioning with Oracle VM Server for SPARC O R A C L E W H I T E P A P E R J U L Y

Oracle FLEXCUBE Direct Banking Release Dashboard Widgets Customer Services User Manual. Part No. E

Oracle Business Activity Monitoring 12c Best Practices ORACLE WHITE PAPER DECEMBER 2015

An Oracle White Paper October Deploying and Developing Oracle Application Express with Oracle Database 12c

Repairing the Broken State of Data Protection

Oracle Big Data SQL. Release 3.2. Rich SQL Processing on All Data

Oracle Flashback Data Archive (FDA) O R A C L E W H I T E P A P E R M A R C H

Oracle WebCenter Portal 11g Developer Workshop

An Oracle Technical Article March Certification with Oracle Linux 4

Oracle Database Lite. Automatic Synchronization White Paper. An Oracle White Paper August 2008

An Oracle White Paper July Oracle WebCenter Portal: Copying a Runtime-Created Skin to a Portlet Producer

Oracle NoSQL Database Parent-Child Joins and Aggregation O R A C L E W H I T E P A P E R A P R I L,

Technical White Paper August Migrating to Oracle 11g Using Data Replicator Software with Transportable Tablespaces

An Oracle White Paper March Oracle Database Vault for SAP

An Oracle White Paper September Oracle Utilities Meter Data Management Demonstrates Extreme Performance on Oracle Exadata/Exalogic

Create Faculty Membership Account. This step-by-step guide takes you through the process to create a Faculty Membership Account.

August 6, Oracle APEX Statement of Direction

Maximum Availability Architecture

Implementing Information Lifecycle Management (ILM) with Oracle Database 18c O R A C L E W H I T E P A P E R F E B R U A R Y

An Oracle White Paper November Oracle RAC One Node 11g Release 2 User Guide

Oracle Database 12c: JMS Sharded Queues

Transcription:

Partitioning in Oracle Database 10g Release 2 An Oracle White Paper May 2005

Oracle Partitioning EXECUTIVE OVERVIEW Oracle Partitioning will enhance the manageability, performance, and availability of a wide variety of applications. Partitioning allows tables, indexes, and index-organized tables to be subdivided into smaller pieces, enabling these database objects to be managed and accessed at a finer level of granularity. Oracle provides a rich variety of partitioning schemes to address every business requirement. Moreover, since it is entirely transparent in SQL statements, partitioning can be applied to almost any application. BENEFITS OF PARTITIONING Partitioning can provide tremendous benefits to a wide variety of applications by improving manageability, performance, and availability. It is not unusual for partitioning to improve the performance of certain queries or maintenance operations by an order of magnitude. Moreover, partitioning can greatly simplify common administration tasks. Partitioning also enables database designers and administrators to tackle some of the toughest problems posed by cutting-edge applications. Partitioning is a key tool for building multi-terabyte systems or systems with extremely high availability requirements. Basics of Partitioning Partitioning allows a table, index or index-organized table to be subdivided into smaller pieces. Each piece of database object is called a partition. Each partition has its own name, and may optionally have its own storage characteristics. From the perspective of a database administrator, a partitioned object has multiple pieces that can be managed either collectively or individually. This gives the administrator considerably flexibility in managing partitioned object. However, from the perspective of the application, a partitioned table is identical to a nonpartitioned table; no modifications are necessary when accessing a partitioned table using SQL DML commands. Partitioning in Oracle Database 10g Release 2 Page 2

Tables are partitioning using a 'partitioning key', a set of columns which determine in which partition a given row will reside. Oracle Database 10g Release 2 provides six techniques for partitioning tables: Range Partitioning Each partition is specified by a range of values of the partitioning key (for a table with a date column as the partitioning key, the 'January- 2005' partition contains rows with the partitioning-key values from '01- JAN-2005'' - '31-JAN-2005') List Partitioning Each partition is specified by a list of values of the partitioning key (for a table with a region column as the partitioning key, the 'North America' partition may contain values 'Canada', 'USA', and 'Mexico') Hash Partitioning A hash algorithm is applied to the partitioning key to determine the partition for a given row Composite Range-Hash Partitioning A combination of Range and Hash partitioning techniques, whereby a table is first range-partitioned, and then each individual range-partition is further sub-partitioned using the hash partitioning technique. Composite Range-List Partitioning A combination of Range and List partitioning techniques, whereby a table is first range-partitioned, and then each individual range-partition is further sub-partitioned using the list partitioning technique. Index-organized tables can be partitioned by range, list, or hash.. Oracle Database 10g Release 2 also provides three types of partitioned indexes: Local Indexes A local index is an index on a partitioned table that is partitioned in the exact same manner as the underlying partitioned table. Each partition of a local index corresponds to one and only one partition of the underlying table. Global Partitioned Indexes A global partitioned index is an index on a partitioned or non-partitioned table that is partitioned using a different partitioning-key from the table. Global-partitioned indexes can be partitioned using range or hash partitioning. For example, a table could be range-partitioned by month and have twelve partitions, while an index on that table could be rangepartitioned using a different partitioning key and have a different number of partitions. Partitioning in Oracle Database 10g Release 2 Page 3

Global Non-Partitioned Indexes A global non-partitioned index is essentially identical to an index on a non-partitioned table. The index structure is not partitioned. Oracle provides a robust set of techniques for partitioning tables, indexes, and index-organized tables, so that partitioning can be optimally applied to any application in any business environment. Oracle additionally provides a complete set of SQL commands for managing partitioning tables. These include commands for adding new partitions, dropping partitions, splitting partitioning, and merging partitions. Partitioning for Manageability Oracle Partitioning allows tables and indexes to be partitioned into smaller, more manageable units, providing database administrators with the ability to pursue a "divide and conquer" approach to data management. With partitioning, maintenance operations can be focused on particular portions of tables. For example, a database administrator could back up a single partition of a table, rather than backing up the entire table. For maintenance operations across an entire database object, it is possible to perform these operations on a per-partition basis, thus dividing the maintenance process into more manageable chunks. A typical usage of partitioning for manageability is to support a 'rolling window' load process in a data warehouse. Suppose that a DBA loads new data into a table on weekly basis. That table could be range-partitioned so that each partition contains one week of data. The load process is simply the addition of a new partition. Adding a single partition is much more efficient than modifying the entire table, since the DBA does not need to modify any other partitions. Partitioning for Performance By limiting the amount of data to be examined or operated on, and by enabling parallel execution, Oracle Partitioning provides a number of performance benefits. These features include: Partitioning Pruning Partitioning pruning is the simplest and also the most substantial means to improve performance using partitioning. Partition pruning can often improve query performance by several orders of magnitude. For example, suppose an application contains an Orders table containing a historical record of orders, and that this table has been partitioned by week. A query requesting orders for a single week would only access a single partition of the Orders table. If the Orders tables had 2 years of historical data, this query would access one partition instead of 104 partitions. This query could potentially execute 100x faster simply Partitioning in Oracle Database 10g Release 2 Page 4

because of partition pruning. Partition pruning works with all of Oracle's other performance features. Oracle will utilize partition pruning in conjunction with any indexing technique, join technique, or parallel access method. Partition-wise Joins Partitioning can also improve the performance of multi-table joins, by using a technique known as partition-wise joins. Partition-wise joins can be applied when two tables are being joined together, and both of these tables are partitioned on the join key. Partition-wise joins break a large join into smaller joins that occur between each of the partitions, completing the overall join in less time. This offers significant performance benefits both for serial and parallel execution. Partitioning for Availability Partitioned database objects provide partition independence. This characteristic of partition independence can be an important part of a high-availability strategy. For example, if one partition of a partitioned table is unavailable, all of the other partitions of the table remain online and available. The application can continue to execute queries and transactions against this partitioned table, and these database operations will run successfully if they do not need to access the unavailable partition. The database administrator can specify that each partition be stored in a separate tablespace; this would allow the administrator to do backup and recovery operations on each individual partition, independent of the other partitions in the table. Moreover, partitioning can reduce scheduled downtime. The performance gains provided by partitioning may enable database administrators to complete maintenance operations on large database objects in relatively small batch windows. Statement of Direction In every major release since the introduction of its partitioning technology, Oracle has added new partitioning methods. Oracle8 introduced range partitioning, Oracle8i introduced hash and composite range-hash partitioning, Oracle9i introduced list partitioning. Oracle Database 10g enhanced the partitioning strategies for index-organized tables and for global partitioned indexes and extended its concurrent index maintenance capabilities for all partition maintenance operations. The latest release, Oracle Database 10g Release 2, enables a fast split operation for partitioned index organized tables and offer enhanced pruning capabilities; it also increases the maximum number of partitions for a single object to one million. Oracle plans to continue to add Partitioning in Oracle Database 10g Release 2 Page 5

new partitioning techniques to ensure that an optimal partitioning technique is available for every business requirement. CONCLUSION Oracle Database 10g Release 2 with Oracle Partitioning can greatly enhance the manageability, performance, and availability of almost any database application. Partitioning can be applied to cutting-edge applications and indeed partitioning can be a crucial technology ingredient to ensure these applications success. However, partitioning can also be applied to more commonplace database applications in order to simplify the administration and costs of managing such applications. Partitioning in Oracle Database 10g Release 2 Page 6

Partitioning in Oracle Database 10g Release 2 May 2005 Author: Hermann Baer Contributing Authors: Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com Copyright 2005, Oracle. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle, JD Edwards, and PeopleSoft are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.