1概述
1.1現(xiàn)狀分析
根據(jù)估算該項目最大用戶數(shù)為2000人,幾乎所有的操作都需要訪問數(shù)據(jù)庫。項目中的應用對數(shù)據(jù)庫的訪問主要通過以下三種方式:通過WebSphere訪問數(shù)據(jù)庫,通過WPS訪問數(shù)據(jù)庫,現(xiàn)場單元直接連接數(shù)據(jù)庫導入離線數(shù)據(jù)。
1.2系統(tǒng)架構
該項目共有4臺IBM pSeries p5 550服務器,其中2臺用作ORACLE數(shù)據(jù)庫服務器。數(shù)據(jù)庫在整個系統(tǒng)架構中處于核心位置,為了保證數(shù)據(jù)庫的高可用性,減少整個系統(tǒng)的單點故障,將數(shù)據(jù)庫服務器配置成Active-Standby的雙機熱備方式。當主數(shù)據(jù)庫服務器出現(xiàn)故障,則數(shù)據(jù)庫Standby服務器會立刻接管服務,保證系統(tǒng)能夠正常運行。
同時,磁盤陣列的效率和可靠性遠遠高于本地磁盤,可以提高應用的執(zhí)行效率和系統(tǒng)的可用性;另外,雙機熱備也需要將數(shù)據(jù)庫物理文件保存在共享存儲上。因此,要求所有在數(shù)據(jù)庫中保存的數(shù)據(jù)都存放在HP的EVA8100磁盤陣列中。
2ORACLE數(shù)據(jù)庫的安裝規(guī)劃
項目使用的數(shù)據(jù)庫服務器為IBM pSeries p5 550,數(shù)據(jù)庫版本為ORACLE 10.2.0.2,安裝在AIX 5.3版本的操作系統(tǒng)之上。
2.1ORACLE數(shù)據(jù)庫產(chǎn)品
在安裝ORACLE數(shù)據(jù)庫產(chǎn)品時可以選擇Enterprise Edition,除了安裝所有Standard Edition的組件之外,還會安裝Licensable ORACLE Database Option以及數(shù)據(jù)庫的配置管理工具。此外,還會安裝常用的data warehousing和transaction processing。
為了便于產(chǎn)品的升級和維護,要求將ORACLE產(chǎn)品安裝在共享的存儲陣列中,這樣做可以減少由于ORACLE產(chǎn)品的維護所帶來的開銷。
2.2ORACLE數(shù)據(jù)庫的創(chuàng)建
在創(chuàng)建ORACLE數(shù)據(jù)庫過程中會遇到很多選項,根據(jù)本系統(tǒng)的需求,結合在系統(tǒng)效率方面的考慮,應按照相關要求進行安裝。
2.3ORACLE參數(shù)的調整
2.3.1內存參數(shù)的調整
ORACLE的內存結構對于ORACLE的性能影響非常大,其中,SGA(System Global Area)和PGA(Program Global Area)是特別需要關注的兩塊內存區(qū)域,基于上述對現(xiàn)狀的分析,我們將會分別對SGA區(qū)和PGA區(qū)進行相關的規(guī)劃設計。
2.3.2進程參數(shù)的調整
后臺進程是ORACLE的程序,用來管理數(shù)據(jù)庫的讀寫,恢復和監(jiān)視等工作。Server Process主要是通過后臺進程和用戶進程進行通信,并由后臺進程和用戶進程進行數(shù)據(jù)的交換。在UNIX服務器上,ORACLE后臺進程相對于操作系統(tǒng)進程,也就是說,一個ORACLE后臺進程將啟動一個操作系統(tǒng)進程。
2.4ORACLE數(shù)據(jù)庫存儲規(guī)劃
對于數(shù)據(jù)庫空間規(guī)劃的考慮,除了對存儲空間的規(guī)劃外,還要考慮將I/O的負載平均分配到不同的物理磁盤上以提高系統(tǒng)執(zhí)行效率。在本系統(tǒng)中,共有5套應用同時訪問數(shù)據(jù)庫,此外,5套應用會訪問一系列的公共數(shù)據(jù)字典。要求將5套應用產(chǎn)生的I/O和由于訪問公共數(shù)據(jù)庫字典產(chǎn)生的I/O平均分布到不同的物理磁盤上,以保證數(shù)據(jù)庫I/O負載均衡。
同時,還要注意ORACLE數(shù)據(jù)庫本身的運行特點決定了對于System表空間、Redo Log、Undo Space、控制文件以及歸檔文件的I/O負載比較高。也需要將他們的I/O分布不到不同的磁盤上。
2.5ORACLE用戶及權限規(guī)劃
創(chuàng)建ORACLE數(shù)據(jù)庫后,為了使應用能夠正常運行,還需要在數(shù)據(jù)庫中創(chuàng)建一個用于WebSphere訪問系統(tǒng)數(shù)據(jù)庫實例的ORACLE用戶。要求創(chuàng)建數(shù)據(jù)庫用戶SYSWAS,所有某項目應用使用到的表、索引、同義詞、以及其他數(shù)據(jù)庫對象都應以該用戶為屬主進行創(chuàng)建。SYSWAS用戶應該采用通過密碼驗證的方式,同時還要為其授予相關權限。
出于安全考慮,所有ORACLE中的用戶,包括ORACLE缺省管理用戶SYS、SYSTEM和上文所述用戶每個月都需要重新設定密碼。
2.6ORACLE網(wǎng)絡服務規(guī)劃
ORACLE通過TNS提供網(wǎng)絡服務,在配置ORACLE TNS時,需要指定數(shù)據(jù)庫服務器的主機名/主機地址,由于某項目的數(shù)據(jù)庫服務器采用雙機熱備方式,因此需要在配置TNS時指定通過HACMP虛擬出來的主機名和IP地址。
3數(shù)據(jù)庫的備份和恢復規(guī)劃
3.1分析
對系統(tǒng)備份方案的確定首先需要明確系統(tǒng)對備份和恢復的要求,對某項目而言主要有如下幾點要求:
保證系統(tǒng)7×24小時不間斷的提供服務。
一旦數(shù)據(jù)庫失敗,可以恢復到失敗點。
可以根據(jù)應用需要將數(shù)據(jù)庫恢復到一周內的任意時間點以修正由于應用邏輯錯誤導致的數(shù)據(jù)庫失敗。
保證系統(tǒng)備份的數(shù)據(jù)量盡可能少,備份的速度盡可能快。
備份過程中盡量減少對系統(tǒng)正常運行的影響。
3.2備份方式規(guī)劃
由于ORACLE提供的RMAN備份恢復工具有效率高、速度快、可靠性高、操作簡單、支持增量以及自動檢測等特點,本系統(tǒng)采用ORACLE的RMAN工具進行分級備份。
同時,某項目只涉及一套ORACLE數(shù)據(jù)庫。為了減少維護工作量和設備需求成本,不再單獨創(chuàng)建CATALOG數(shù)據(jù)庫,而是使用NOCATALOG的方式進行數(shù)據(jù)庫的RMAN備份。所有數(shù)據(jù)庫備份信息記錄在數(shù)據(jù)庫控制文件中。
3.3備份策略規(guī)劃
綜上所述,根據(jù)需求分析和對備份方式的規(guī)劃,現(xiàn)制定以一個月為周期的備份策略。在每個備份周期中,包含離線備份、RMAN 0級全備份、RMAN 1級增量備份、歸檔備份、控制文件備份和數(shù)據(jù)庫的恢復等多種形式。