摘要:本篇文章介紹了oracle數據庫的新特性—分區管理,并用例子說明使用方法。
一、 分區概述:
為了簡化數據庫大表的管理,oracle8推出了分區選項。分區將表分離在若干不同的表空間上,用分而治之的方法來支撐無限膨脹的大表,給大表在物理一級的可管理性。將大表分割成較小的分區可以改善表的維護、備份、恢復、事務及查詢性能。針對當前社保及電信行業的大量日常業務數據,可以推薦使用oracle8的該選項。
二、分區的優點:
1 、增強可用性:如果表的一個分區由于系統故障而不能使用,表的其余好的分區仍然可以使用;
2 、減少關閉時間:如果系統故障只影響表的一部分分區,那么只有這部分分區需要修復,故能比整個大表修復花的時間更少;
3 、維護輕松:如果需要重建表,獨立管理每個分區比管理單個大表要輕松得多;
4 、均衡i/o:可以把表的不同分區分配到不同的磁盤來平衡i/o改善性能;
5 、改善性能:對大表的查詢、增加、修改等操作可以分解到表的不同分區來并行執行,可使運行速度更快;
6 、分區對用戶透明,最終用戶感覺不到分區的存在。
三、分區的管理:
1 、分區表的建立:
某公司的每年產生巨大的銷售記錄,dba向公司建議每季度的數據放在一個分區內,以下示范的是該公司1999年的數據(假設每月產生30m的數據),操作如下:
step1、建立表的各個分區的表空間:
create tablespace ts_sale1999q1
datafile ‘/u1/oradata/sales/sales1999_q1.dat’
size 100m
default storage (initial 30m next 30m minextents 3 pctincrease 0)
create tablespace ts_sale1999q2
datafile ‘/u1/oradata/sales/sales1999_q2.dat’
size 100m
default storage (initial 30m next 30m minextents 3 pctincrease 0)
create tablespace ts_sale1999q3
datafile ‘/u1/oradata/sales/sales1999_q3.dat’
size 100m
default storage (initial 30m next 30m minextents 3 pctincrease 0)
create tablespace ts_sale1999q4
datafile ‘/u1/oradata/sales/sales1999_q4.dat’
size 100m
default storage (initial 30m next 30m minextents 3 pctincrease 0)
step2、建立基于分區的表:
create table sales
(invoice_no number,
...
sale_date date not null )
partition by range (sale_date)
(partition sales1999_q1
values less than (to_date(‘1999-04-01’,’yyyy-mm-dd’)
tablespace ts_sale1999q1,
partition sales1999_q2
values less than (to_date(‘1999-07-01’,’yyyy-mm-dd’)
tablespace ts_sale1999q2,
partition sales1999_q3
values less than (to_date(‘1999-10-01’,’yyyy-mm-dd’)
tablespace ts_sale1999q3,
partition sales1999_q4
values less than (to_date(‘2000-01-01’,’yyyy-mm-dd’)
tablespace ts_sale1999q4 );
新聞熱點
疑難解答