對Oracle數(shù)據(jù)庫中的大表管理的簡化
在實際操作中我們?yōu)榱撕喕?a >Oracle數(shù)據(jù)庫中的大表管理,因而Oracle8推出了分區(qū)選項。分區(qū)主要是將表分離在N個不同的相關表空間上,我們用各種方法來支撐其無限膨脹的大表,給大表在物理一級的可管理性。
將大表分割成較小的分區(qū)可以改善表的維護、備份、恢復、事務及查詢性能。針對當前社保及電信行業(yè)的大量日常業(yè)務數(shù)據(jù),可以推薦使用Oracle8的該選項。
分區(qū)的優(yōu)點:
1 、增強可用性:如果表的一個分區(qū)由于系統(tǒng)故障而不能使用,表的其余好的分區(qū)仍然可以使用;
2 、減少關閉時間:如果系統(tǒng)故障只影響表的一部分分區(qū),那么只有這部分分區(qū)需要修復,故能比整個大表修復花的時間更少;
3 、維護輕松:如果需要重建表,獨立管理每個分區(qū)比管理單個大表要輕松得多;
4 、均衡I/O:可以把表的不同分區(qū)分配到不同的磁盤來平衡I/O改善性能;
5 、改善性能:對大表的查詢、增加、修改等操作可以分解到表的不同分區(qū)來并行執(zhí)行,可使運行速度更快;
6 、分區(qū)對用戶透明,最終用戶感覺不到分區(qū)的存在。
分區(qū)的管理:
1 、分區(qū)表的建立:
某公司的每年產(chǎn)生巨大的銷售記錄,DBA向公司建議每季度的數(shù)據(jù)放在一個分區(qū)內(nèi),以下示范的是該公司1999年的數(shù)據(jù)(假設每月產(chǎn)生30M的數(shù)據(jù)),操作如下:
STEP1、建立表的各個分區(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 );
以上的相關內(nèi)容就是對Oracle數(shù)據(jù)庫的新特性,分區(qū)管理的介紹,望你能有所收獲。
【編輯推薦】