一、 分區(qū)概述:
為了簡化數(shù)據(jù)庫大表的管理,ORACLE8推出了分區(qū)選項(xiàng)。分區(qū)將表分離在若干不同的表空間上,用分而治之的方法來支撐無限膨脹的大表,給大表在物理一級(jí)的可管理性。將大表分割成較小的分區(qū)可以改善表的維護(hù)、備份、恢復(fù)、事務(wù)及查詢性能。針對(duì)當(dāng)前社保及電信行業(yè)的大量日常業(yè)務(wù)數(shù)據(jù),可以推薦使用ORACLE8的該選項(xiàng)。
二、分區(qū)的優(yōu)點(diǎn):
1 、增強(qiáng)可用性:如果表的一個(gè)分區(qū)由于系統(tǒng)故障而不能使用,表的其余好的分區(qū)仍然可以使用;
2 、減少關(guān)閉時(shí)間:如果系統(tǒng)故障只影響表的一部分分區(qū),那么只有這部分分區(qū)需要修復(fù),故能比整個(gè)大表修復(fù)花的時(shí)間更少;
3 、維護(hù)輕松:如果需要重建表,獨(dú)立管理每個(gè)分區(qū)比管理單個(gè)大表要輕松得多;
4 、均衡I/O:可以把表的不同分區(qū)分配到不同的磁盤來平衡I/O改善性能;
5 、改善性能:對(duì)大表的查詢、增加、修改等操作可以分解到表的不同分區(qū)來并行執(zhí)行,可使運(yùn)行速度更快;
6 、分區(qū)對(duì)用戶透明,最終用戶感覺不到分區(qū)的存在。
三、分區(qū)的管理:
1 、分區(qū)表的建立:
某公司的每年產(chǎn)生巨大的銷售記錄,DBA向公司建議每季度的數(shù)據(jù)放在一個(gè)分區(qū)內(nèi),以下示范的是該公司1999年的數(shù)據(jù)(假設(shè)每月產(chǎn)生30M的數(shù)據(jù)),操作如下:
STEP1、建立表的各個(gè)分區(qū)的表空間:
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、建立基于分區(qū)的表:
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 );  | 		
新聞熱點(diǎn)
疑難解答
圖片精選