主頁 > 知識庫 > Oracle平臺應用數(shù)據庫系統(tǒng)的設計與開發(fā)

Oracle平臺應用數(shù)據庫系統(tǒng)的設計與開發(fā)

熱門標簽:AI電銷 地方門戶網站 服務外包 呼叫中心市場需求 Linux服務器 鐵路電話系統(tǒng) 網站排名優(yōu)化 百度競價排名
正在看的ORACLE教程是:Oracle平臺應用數(shù)據庫系統(tǒng)的設計與開發(fā)。Oracle是目前應用最廣泛的數(shù)據庫系統(tǒng)。一個完整的數(shù)據庫系統(tǒng)包括系統(tǒng)硬件、操作系統(tǒng)、網絡層、DBMS(數(shù)據庫管理系統(tǒng))、應用程序與數(shù)據,各部分之間是互相依賴的,對每個部分都必須進行合理的配置、設計和優(yōu)化才能實現(xiàn)高性能的數(shù)據庫系統(tǒng)。本文討論筆者使用Oracle開發(fā)局域網中、小型數(shù)據庫應用中,系統(tǒng)硬件的選擇與使用、應用數(shù)據庫系統(tǒng)設計與開發(fā)方面的一些心得和建議。應用數(shù)據庫系統(tǒng)包含應用數(shù)據庫和應用兩方面的內容,應用數(shù)據庫就是生產數(shù)據庫,與系統(tǒng)數(shù)據庫相對。

  系統(tǒng)硬件的選擇與使用

  與數(shù)據庫系統(tǒng)密切相關的硬件主要有CPU、內存、集群、存儲設備等,這里不對集群進行討論。

  1、CPU 

  CPU的數(shù)目和速度直接影響數(shù)據庫操作的速度,Oracle數(shù)據庫提供并行查詢選項,允許SQL操作以協(xié)同方式在多個CPU上執(zhí)行,可以很大程度的發(fā)揮多CPU的性能。為系統(tǒng)添加CPU前,首先要對應用程序的SQL代碼做優(yōu)化,提高應用程序的效率,質量低劣的應用可能會引起CPU資源的無謂的消耗;其次,要了解操作系統(tǒng)對CPU數(shù)目的限制及系統(tǒng)的可擴展性。在系統(tǒng)CPU資源已定的情況下,要對各類應用進行分析,在保證關鍵應用正常運行的前提下,盡可能將大量占用CPU資源的應用放在系統(tǒng)相對空閑的時候進行。良好的工作調度可以有效減少對CPU的競爭使用,加快系統(tǒng)的響應時間。

  2、內存

  數(shù)據庫系統(tǒng)中,應保證有足夠大的內存。在UNIX系統(tǒng)中,如果系統(tǒng)的物理內存小于1GB,可將交換區(qū)的大小設為內存的4倍,否則,可設為內存的2倍,交換區(qū)要放在磁盤速度最快的硬盤上。Oracle 的SGA區(qū)大小直接關系到數(shù)據庫操作的性能,一般來說,SGA區(qū)的大小可設為系統(tǒng)可用內存的55%到57%,SGA區(qū)過多占用系統(tǒng)內存反而會降低性能。在應用系統(tǒng)運行中,應定期監(jiān)測系統(tǒng)的內存使用情況,對關鍵應用進行分析,根據應用適時調整SGA區(qū)各部分的大小。Oracle9i可在不重新啟動數(shù)據庫的情況下修改SGA區(qū)的參數(shù),實時改變SGA區(qū)的大小。

  3、存儲設備

  在網絡時代,信息資源的積累和廣泛應用對數(shù)據存儲技術的發(fā)展提出了更大的挑戰(zhàn),數(shù)據存儲模式從傳統(tǒng)的總線連接模式進入了網絡存儲模式。但存儲設備依然是硬盤、磁帶(帶庫)、磁盤陣列,在中、小型數(shù)據庫應用中傳統(tǒng)存儲模式仍占主導地位。

  磁盤I/O是數(shù)據庫操作的瓶頸之一,磁盤的合理選擇和使用在數(shù)據庫系統(tǒng)中顯得尤為重要。在最初做數(shù)據庫系統(tǒng)規(guī)劃時,應充分考慮到系統(tǒng)的容量和預期的增長,盡可能為以后的擴展留足空間。在硬盤和磁盤陣列的選擇與使用中,應注意以下幾點: 

  ·選擇支持熱插拔功能的硬盤,這樣在出現(xiàn)硬盤Oracle 平臺應用數(shù)據庫系統(tǒng)的設計與開發(fā)失敗時,可以在系統(tǒng)正常運行的情況下更換硬盤; 

  ·不要選擇太大的硬盤,切記對Oracle 應用程序,1~4GB大小的硬盤是比較合適的,最好購買大量的中小型硬盤,這樣在配置RAID時可提供更大的靈活性; 

  ·如果選用了磁盤陣列,對于Oracle數(shù)據庫應用,如果經費能夠支持,RAID 0+1是最佳的配置方法。在RAID 5中,讀操作性能得到了一定的改善,但寫性能損失很大,如果某個硬盤失敗,硬盤重建的工作量非常大,RAID 5 適用于DSS(決策支持系統(tǒng))應用,對OLTP(聯(lián)機事物處理)應用不太合適; 

  ·在實現(xiàn)RAID時,要正確地選擇分條的大小,決定分條大小的三個主要因素是:應用程序的特性(DSS、OLTP、批處理)、操作系統(tǒng)與數(shù)據庫的數(shù)據塊大小、磁盤陣列中的硬盤數(shù)目。數(shù)據庫的數(shù)據塊大小應是操作系統(tǒng)數(shù)據塊大小的整數(shù)倍,同樣分條大小也必須是操作系統(tǒng)數(shù)據塊大小的整數(shù)倍。如果使用裸設備,分條大小應是操作系統(tǒng)物理數(shù)據塊的大小。分條可按照水平方向進行,也可按照垂直方向進行。水平分條跨越每個硬盤控制器進行,垂直分條跨越整個硬盤集合進行,分條集合中的成員數(shù)應不大于硬盤控制器數(shù)。OLTP應用程序,數(shù)據訪問的數(shù)據量不大,一般可選擇32KB 或64KB 的分條大小,而DSS應用程序訪問的數(shù)據量大,可考慮使用64KB、128KB或256KB的分條大小。

  應用數(shù)據庫的設計與開發(fā)

  Oracle數(shù)據庫軟件安裝和配置完成后,就進入了應用數(shù)據庫的設計階段,應用數(shù)據庫設計包括邏輯設計與物理設計。合理的邏輯設計會大大提高數(shù)據庫的性能,增強數(shù)據庫的可維護性。在設計中根據應用,抽象出實體關系模型,將實體關系圖映射為標準化(數(shù)據完整、與應用無關、存儲優(yōu)化)的關系模型(數(shù)據庫對象),當前有一些輔助工具(Oracle Designer等)來實現(xiàn)實體關系圖到SQL代碼的映射;數(shù)據庫的物理設計就是數(shù)據庫對象的存儲設計,即如何為數(shù)據庫對象分配存儲空間。

  在進行數(shù)據庫對象的設計前,數(shù)據庫的管理和開發(fā)人員對應用和應用的數(shù)據及其應用關系要有一個詳盡的理解,根據應用進行數(shù)據庫對象的規(guī)劃和設計,大概包含以下幾個方面: 

  ·確定需建立的數(shù)據庫用戶,明確用戶的系統(tǒng)權限和表空間限額,為用戶設計資源限制profile; 

  ·確定應用數(shù)據應分多少個表進行設計,各表分別屬于的用戶,各用戶對各個表的操作權限; 

  ·明確各表的結構,確定表的主鍵及約束;

  ·明確哪些表是應用運行的關鍵表,哪些是事務表; 

  ·分析哪些表是主表,哪些表是從表,確定表和表之間的外鍵約束,選擇合適的表作為表連接的驅動表; 

  ·根據應用,確定在哪些表上對哪些列建立合適的索引;

  ·根據表和索引的設計,確定要創(chuàng)建的表空間和回滾段,為表空間和回滾段選擇合適的磁盤,盡可能創(chuàng)建本地管理的表空間,減少數(shù)據庫空間管理方面的工作; 

  ·明確需要編寫的觸發(fā)器及過程; 

  ·為數(shù)據庫對象選擇備份和恢復策略。

  在數(shù)據庫設計階段,有時未必能完全確定合適的數(shù)據庫對象的特征,應用設計和開發(fā)中還可能發(fā)現(xiàn)不合適的地方,需要回過頭來進行調整和修改。但設計階段的工作越細致,出現(xiàn)問題的可能性就越小,工作的效率就越高。

  創(chuàng)建數(shù)據庫對象時,要根據數(shù)據庫對象的特點,結合存儲設備的大小、數(shù)量及速度等,對數(shù)據庫對象分類進行存儲,最大限度地消除或減少資源競爭。在數(shù)據庫對象創(chuàng)建時主要應遵循以下原則: 

  ·應用數(shù)據應放在單獨的表空間,不要將應用數(shù)據放在系統(tǒng)表空間,為防止無意的使用系統(tǒng)表空間,將應用用戶的系統(tǒng)表空間限額設為0。

  ·索引和表應放在位于不同硬盤上的不同的表空間,這樣會提高數(shù)據庫操作的速度。

  ·需要同時被訪問的表要分開存放,利于并發(fā)訪問的實施。

  ·如果磁盤數(shù)量有限,可把不常聯(lián)合訪問的表放在相同的磁盤上。

  ·預分配的原則。創(chuàng)建數(shù)據庫對象(表空間、回滾段、表、索引等)時,根據對象的情況設置合適的storage參數(shù)非常重要。創(chuàng)建對象設計時,對對象的容量和預期的增長有一個估計,這樣才能確定存儲參數(shù)的大小。一般來說,應預先給表和索引等數(shù)據庫對象分配足夠的空間,數(shù)據庫段不要太多地做動態(tài)擴展,因為會影響數(shù)據庫性能。一個段(segment)由一個區(qū)(extent)構成是最理想的,initial 參數(shù)可以稍大一點,如果可能,可設為最大容量的大小,initial必須是db_block_size的整數(shù)倍;next參數(shù)的設置比較靈活,根據應用進行相應的設置,但也必須是db_block_size的整數(shù)倍;為了減少數(shù)據庫碎片的產生,pctincrease參數(shù)應該盡量設為0;更新操作比較少的段,pctfree要設置得小一點,更新操作很多的段要設置得大一些;inittrans和freelists的值要相等,大小與并發(fā)事務數(shù)相關。

  ·分而治之的原則。大的數(shù)據庫表和索引可考慮進行分區(qū)存放,不同的分區(qū)可位于不同的磁盤上,更好地均衡I/O。Oracle可以只對表的某些分區(qū)進行查詢,這樣會提高查詢的速度;可對分區(qū)進行數(shù)據的刪除、裝載,還可以移動分區(qū),對表的管理和控制具有更大的靈活性;可以有更多的策略選擇,更好地執(zhí)行備份和恢復操作。注意,對某些分區(qū)進行操作后,在Oracle8i下必須重建全局索引。

  ·大小和增長趨勢類似的表最好放在相同的表空間,可以有效控制硬盤碎片的產生,提高空閑塊的可重用性。

  ·相同備份和恢復策略的表最好放在同一個表空間,這樣有助于備份和恢復工作的完成。

  ·對響應時間要求苛刻的應用所訪問的對象放在速度快的磁盤上。

標簽:銅川 湖南 衡水 湘潭 蘭州 黃山 仙桃 崇左

巨人網絡通訊聲明:本文標題《Oracle平臺應用數(shù)據庫系統(tǒng)的設計與開發(fā)》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266