24
1 MyOnlineITCourses.com 1 MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

1 MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

Embed Size (px)

Citation preview

Page 1: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

1 MyOnlineITCourses.com1 MyOnlineITCourses.com1 MyOnlineITCourses.com

Oracle Partitioning -- A Primer

Page 2: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

2 MyOnlineITCourses.com2 MyOnlineITCourses.com2 MyOnlineITCourses.com

Partitioning

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

physically break them into

smaller

manageable pieces.

Page 3: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

3 MyOnlineITCourses.com3 MyOnlineITCourses.com3 MyOnlineITCourses.com

Partitioned VS Non Partitioned Table

Page 4: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

4 MyOnlineITCourses.com4 MyOnlineITCourses.com4 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 match business needs

JAN FEB

USA

EUROPE

ORDERS

Transparent to applications

ORDERS

JAN FEB

ORDERS

Page 5: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

5 MyOnlineITCourses.com5 MyOnlineITCourses.com5 MyOnlineITCourses.com

Partitioning - Benefits

Faster

• Queries will access only those relevant partitions

Cheaper

• An entire partition can be exported• Exported partition can be deleted from

database

Flexible

• Partition Maintenance is simpler when compared to a large un-partitioned table

• Partition backup/restoration is easier

Page 6: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

6 MyOnlineITCourses.com6 MyOnlineITCourses.com6 MyOnlineITCourses.com

When To Partition - Table

Here are some suggestions for when to partition a table:

Tables greater than 2 GB should always be considered as candidates for partitioning.

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

A typical example is a historical table where only the current 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.

Page 7: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

7 MyOnlineITCourses.com7 MyOnlineITCourses.com7 MyOnlineITCourses.com

Partition Strategies

Range Hash List Composite

Page 8: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

8 MyOnlineITCourses.com8 MyOnlineITCourses.com8 MyOnlineITCourses.com

Partition Type .. (Examples)

Page 9: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

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 on the partition key.• Knowledge of data is critical before choosing

this

Definition

• Date as partitioning key Jan 2011, Feb 2011, Mar 2011 so on..

• Department code as partitioning key Values <= 30, Values > 30

Example

Page 10: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

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) TABLESPACE DEPT3

)

Page 11: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

11 MyOnlineITCourses.com11 MyOnlineITCourses.com11 MyOnlineITCourses.com

Range Partition (Multi column)

• Defined on two or more columns of the table

Multi Column Range Partition

• Enhances Query performance if searched on partition key

• Improves the Manageability of partitions

Advantages

Page 12: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

12 MyOnlineITCourses.com12 MyOnlineITCourses.com12 MyOnlineITCourses.com

When to use Range Partition

Very large tables being scanned on a

range predicate like

Order-Date

Need to maintain rolling window of

data

Very less time for

administrative operations

like backup on large tables

Page 13: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

13 MyOnlineITCourses.com13 MyOnlineITCourses.com13 MyOnlineITCourses.com

Hash PartitioningP

art

itio

n K

ey

Specify the number of partitions

Alw

ays D

efi

ne

2n

Part

itio

ns

Oracle database inserts rows based on hash value of partition key

Sto

rag

e

Specify storage for the entire table and the tablespace for partitions

Page 14: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

14 MyOnlineITCourses.com14 MyOnlineITCourses.com14 MyOnlineITCourses.com

Hash Partition – Example

Hash-partitioned table that splits the table into four parts based on the 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) PARTITIONS 4

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

Page 15: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

15 MyOnlineITCourses.com15 MyOnlineITCourses.com15 MyOnlineITCourses.com

When to use Hash Partition

Improve Manageability/availabilit

y of Large tables

Avoid data skew in partitions

Maximize I/0 throughput

Page 16: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

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

value

Definition

• 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

Page 17: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

17 MyOnlineITCourses.com17 MyOnlineITCourses.com17 MyOnlineITCourses.com

Range ,List , Hash Partitions

Page 18: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

18 MyOnlineITCourses.com18 MyOnlineITCourses.com18 MyOnlineITCourses.com

Composite Partitioning

Data is Partitioned along two

dimensions

A distinct value pair for

the two dimensions

uniquely determines the target partition

Composite Partitioning

is complementa

ry to multi column range

partition

Page 19: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

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

Page 20: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

20 MyOnlineITCourses.com20 MyOnlineITCourses.com20 MyOnlineITCourses.com

Range – List Partitioning

Page 21: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

21 MyOnlineITCourses.com21 MyOnlineITCourses.com21 MyOnlineITCourses.com

Composite PartitioningRange - Range

Jan 2006

... ...

Feb 2006 Mar 2006 Jan 2007

... ...

... ...

...

...

...

...

Jan 2006

Feb 2006

May 2006

Mar 2006

• All records with order_date in March 2006 ANDship_date in May 2006

May2006

ship_date

order_date

Table SALESRANGE(order_date)-RANGE(ship_date)

Page 22: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

22 MyOnlineITCourses.com22 MyOnlineITCourses.com22 MyOnlineITCourses.com

Would like to learn more about oracle ???

Page 23: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

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

Page 24: 1  MyOnlineITCourses.com 1 MyOnlineITCourses.com Oracle Partitioning -- A Primer

24 MyOnlineITCourses.com24 MyOnlineITCourses.com24 MyOnlineITCourses.com