Partitioning Introduction 111101040823 Phpapp01

download Partitioning Introduction 111101040823 Phpapp01

of 24

Transcript of Partitioning Introduction 111101040823 Phpapp01

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    1/24

    1 MyOnlineITCourses.com

    1 MyOnlineITCourses.com

    1 MyOnlineITCourses.com

    Oracle Partitioning -- A Primer

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    2/24

    2 MyOnlineITCourses.com

    2 MyOnlineITCourses.com

    2 MyOnlineITCourses.com

    Partitioning

    Partitioning is the ability of the database to take verylarge tables or indexes and

    physically break them into

    smaller

    manageable pieces.

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    3/24

    3 MyOnlineITCourses.com

    3 MyOnlineITCourses.com

    3 MyOnlineITCourses.com

    Partitioned VSNon Partitioned Table

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    4/24

    4 MyOnlineITCourses.com

    4 MyOnlineITCourses.com

    4 MyOnlineITCourses.com

    Partitions - Benefits

    Large Table

    Difficult to Manage

    Partition

    Divide and Conquer

    Easier to Manage

    Improve Performance

    Composite Partition

    Better Performance

    More flexibility to matchbusiness needs

    JAN FEB

    USA

    EUROPE

    ORDERS

    Transparent to applications

    ORDERS

    JAN FEB

    ORDERS

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    5/24

    5 MyOnlineITCourses.com

    5 MyOnlineITCourses.com

    5 MyOnlineITCourses.com

    Partitioning - Benefits

    Faster

    Queries will access only those relevantpartitions

    Cheaper

    An entire partition can be exported

    Exported partition can be deleted fromdatabase

    Flexible

    Partition Maintenance is simpler when

    compared to a large un-partitioned table Partition backup/restoration is easier

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    6/24

    6 MyOnlineITCourses.com

    6 MyOnlineITCourses.com

    6 MyOnlineITCourses.com

    When To Partition - Table

    Here are some suggestions for when to partition a table:

    Tables greater than 2 GBshould always be considered ascandidates for partitioning.

    Tables containing historical data, in which new data isadded into the newest partition.

    A typical example is a historical tablewhere only thecurrent month's data is updatable and the other 11

    months are read only. When the contents of a table need to be distributed across

    different types of storage devices.

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    7/24 7 MyOnlineITCourses.com7 MyOnlineITCourses.com7 MyOnlineITCourses.com

    Partition Strategies

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    8/24 8 MyOnlineITCourses.com8 MyOnlineITCourses.com8 MyOnlineITCourses.com

    Partition Type .. (Examples)

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    9/24 9 MyOnlineITCourses.com9 MyOnlineITCourses.com9 MyOnlineITCourses.com

    Range Partitioned Tables

    Data distribution is based on range of values

    Data distribution is continuous

    Best performance when data distribution is even onthe partition key.

    Knowledge of data is critical before choosing this

    Definition

    Date as partitioning keyJan 2011, Feb 2011, Mar 2011 so on..

    Department code as partitioning keyValues 30

    Example

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    10/24 10 MyOnlineITCourses.com10 MyOnlineITCourses.com10 MyOnlineITCourses.com

    DDL Example

    CREATE TABLE DEPT (

    DEPTNO NUMBER (2),

    DEPT_NAME VARCHAR2 (30))

    PARTITION BY RANGE (DEPTNO)(

    PARTITION D1 VALUES LESS THAN (10)TABLESPACE DEPT1,

    PARTITION D2 VALUES LESS THAN (20)TABLESPACE DEPT2,

    PARTITION D1 VALUES LESS THAN (MAXVALUE)TABLESPACEDEPT3

    )

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    11/24 11 MyOnlineITCourses.com11 MyOnlineITCourses.com11 MyOnlineITCourses.com

    Range Partition (Multi column)

    Defined on two or morecolumns of the table

    Multi Column RangePartition

    Enhances Query performanceif searched on partition key

    Improves the Manageability ofpartitionsAdvantages

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    12/24 12 MyOnlineITCourses.com12 MyOnlineITCourses.com12 MyOnlineITCourses.com

    When to use Range Partition

    Very largetables beingscanned on a

    range predicatelike Order-Date

    Need to maintainrolling window of

    data

    Very less timeforadministrativeoperations like

    backup on largetables

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    13/24 13 MyOnlineITCourses.com13 MyOnlineITCourses.com13 MyOnlineITCourses.com

    Hash Partitioning

    Partitio

    n

    Key

    Specify thenumber ofpartitions

    AlwaysDefine

    2n

    Partitions

    Oracledatabaseinserts

    rowsbased onhash valueof partition

    key

    Storage

    Specifystorage forthe entire

    table andthetablespacefor

    partitions

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    14/24 14 MyOnlineITCourses.com14 MyOnlineITCourses.com14 MyOnlineITCourses.com

    Hash Partition Example

    Hash-partitioned table that splits the table into four parts based onthe hash of the partition key, acct_no.

    CREATE TABLE CUST_SALES_HASH (

    ACCT_NO NUMBER (5),

    CUST_NAME CHAR (30))

    PARTITION BY HASH (ACCT_NO) PARTITIONS4

    STORE IN (USERS1, USERS2, USERS3, USERS4);

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    15/24 15 MyOnlineITCourses.com15 MyOnlineITCourses.com15 MyOnlineITCourses.com

    When to use Hash Partition

    ImproveManageability/availability of

    Large tables

    Avoid data skew inpartitions

    Maximize I/0 throughput

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    16/24 16 MyOnlineITCourses.com16 MyOnlineITCourses.com16 MyOnlineITCourses.com

    List Partitioning

    Segmenting data with a list of values

    Flexible means of partitioning where data is better understood

    Similar to Range Partitioning, but without any max valueDefinition

    CREATE TABLE DEPT_PART (DEPTNO NUMBER (2),DNAME VARCHAR2 (14),LOC

    VARCHAR2 (13))

    PARTITION BY LIST (DNAME)

    (PARTITION D1_EAST VALUES (NEW YORK),

    PARTITION D2_WEST VALUES (SAN FRANCISCO, LOS ANGELES),

    PARTITION D3_SOUTH VALUES (ATLANTA,DALLAS,HOUSTON),

    PARTITION D4_NORTH VALUES (CHICAGO,DETROIT));

    Example

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    17/24

    17 MyOnlineITCourses.com17 MyOnlineITCourses.com17 MyOnlineITCourses.com

    Range ,List , Hash Partitions

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    18/24

    18 MyOnlineITCourses.com18 MyOnlineITCourses.com18 MyOnlineITCourses.com

    Composite Partitioning

    Data isPartitionedalong two

    dimensions

    A distinct valuepair for the two

    dimensionsuniquely

    determines thetarget partition

    CompositePartitioning is

    complementaryto multi

    column rangepartition

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    19/24

    19 MyOnlineITCourses.com19 MyOnlineITCourses.com19 MyOnlineITCourses.com

    Composite Partitioning Strategies

    New 11g Strategy Use Case

    List Range Geography Time

    Range - Range Ship Date Order Date

    List - Hash Geography OrderID

    List - List Geography Product

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    20/24

    20 MyOnlineITCourses.com20 MyOnlineITCourses.com20 MyOnlineITCourses.com

    Range List Partitioning

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    21/24

    21 MyOnlineITCourses.com21 MyOnlineITCourses.com21 MyOnlineITCourses.com

    Composite PartitioningRange - Range

    Jan 2006

    ... ...

    Feb 2006 Mar 2006 Jan 2007

    ... ...

    ... ...

    ...

    ...

    ...

    ...

    Jan2006

    Feb2006

    May

    2006

    Mar 2006

    All records withorder_date inMarch 2006ANDship_date in May2006

    May

    2006

    ship_date

    order_date

    Table SALESRANGE(order_date)-RANGE(ship_date)

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    22/24

    22 MyOnlineITCourses.com22 MyOnlineITCourses.com22 MyOnlineITCourses.com

    Would like to learn more about

    oracle ???

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    23/24

    23 MyOnlineITCourses.com23 MyOnlineITCourses.com23 MyOnlineITCourses.com

    www.MyOnlineITCourses.com

    We give quality online trainings by IT Professionals for Oracle SQL , PL/SQL

    Oracle DBA

    Oracle Performance Tuning

    Data Modelling with Erwin Tool

    To get more details contact us

    [email protected]

    +91 991 2323 000

    www.Facebook.com/MyOnlineITCourses

  • 8/13/2019 Partitioning Introduction 111101040823 Phpapp01

    24/24

    24 MyOnlineITCourses com24 MyOnlineITCourses com24 MyOnlineITCourses.com