程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 對Oracle數據庫中的大表管理的簡化

對Oracle數據庫中的大表管理的簡化

編輯:Oracle數據庫基礎

在實際操作中我們為了簡化Oracle數據庫中的大表管理,因而Oracle8推出了分區選項。分區主要是將表分離在N個不同的相關表空間上,我們用各種方法來支撐其無限膨脹的大表,給大表在物理一級的可管理性。

將大表分割成較小的分區可以改善表的維護、備份、恢復、事務及查詢性能。針對當前社保及電信行業的大量日常業務數據,可以推薦使用Oracle8的該選項。

分區的優點:

1 、增強可用性:如果表的一個分區由於系統故障而不能使用,表的其余好的分區仍然可以使用;

2 、減少關閉時間:如果系統故障只影響表的一部分分區,那麼只有這部分分區需要修復,故能比整個大表修復花的時間更少;

3 、維護輕松:如果需要重建表,獨立管理每個分區比管理單個大表要輕松得多;

4 、均衡I/O:可以把表的不同分區分配到不同的磁盤來平衡I/O改善性能;

5 、改善性能:對大表的查詢、增加、修改等操作可以分解到表的不同分區來並行執行,可使運行速度更快;

6 、分區對用戶透明,最終用戶感覺不到分區的存在。

分區的管理:

1 、分區表的建立:

某公司的每年產生巨大的銷售記錄,DBA向公司建議每季度的數據放在一個分區內,以下示范的是該公司1999年的數據(假設每月產生30M的數據),操作如下:
STEP1、建立表的各個分區的表空間:

  1. CREATE TABLESPACE ts_sale1999q1   
  2. DATAFILE ‘/u1/oradata/sales/sales1999_q1.dat’   
  3. SIZE 100M   
  4. DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)   
  5. CREATE TABLESPACE ts_sale1999q2   
  6. DATAFILE ‘/u1/oradata/sales/sales1999_q2.dat’   
  7. SIZE 100M   
  8. DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)   
  9. CREATE TABLESPACE ts_sale1999q3   
  10. DATAFILE ‘/u1/oradata/sales/sales1999_q3.dat’   
  11. SIZE 100M   
  12. DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)   
  13. CREATE TABLESPACE ts_sale1999q4   
  14. DATAFILE ‘/u1/oradata/sales/sales1999_q4.dat’   
  15. SIZE 100M   
  16. DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)  

STEP2、建立基於分區的表:

  1. CREATE TABLE sales   
  2. (invoice_no NUMBER,   
  3. ...   
  4. sale_date DATE NOT NULL )   
  5. PARTITION BY RANGE (sale_date)   
  6. (PARTITION sales1999_q1   
  7. VALUES LESS THAN (TO_DATE(‘1999-04-01’,’YYYY-MM-DD’)   
  8. TABLESPACE ts_sale1999q1,   
  9. PARTITION sales1999_q2   
  10. VALUES LESS THAN (TO_DATE(‘1999-07-01’,’YYYY-MM-DD’)   
  11. TABLESPACE ts_sale1999q2,   
  12. PARTITION sales1999_q3   
  13. VALUES LESS THAN (TO_DATE(‘1999-10-01’,’YYYY-MM-DD’)   
  14. TABLESPACE ts_sale1999q3,   
  15. PARTITION sales1999_q4   
  16. VALUES LESS THAN (TO_DATE(‘2000-01-01’,’YYYY-MM-DD’)   
  17. TABLESPACE ts_sale1999q4 );  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved